#3208 hub: improve inheritance priority collision error message
Merged 2 years ago by tkopecek. Opened 2 years ago by ktdreyer.
ktdreyer/koji multiple-priority-error  into  master

file modified
+3 -2
@@ -766,8 +766,9 @@ 

              continue

          # oops, duplicate entries for a single priority

          dup_ids = [link['parent_id'] for link in dups]

-         raise koji.GenericError("Inheritance priorities must be unique (pri %s: %r )" %

-                                 (pri, dup_ids))

+         raise koji.GenericError("Multiple parent tags (%r) cannot have the "

+                                 "same priority value (%d) on child tag %d" %

+                                 (dup_ids, pri, tag_id))

      for parent_id, link in data.items():

          if not link.get('is_update'):

              continue

When users set multiple parents to the same priority in setInheritanceData(), we raise an error because this is an invalid configuration.

Improve the error message to make it easier for humans to understand the problem and explain which tag ID ints are parents or children.

Here's how I tested this:

import koji
from koji_cli.lib import activate_session

mykoji = koji.get_profile_module('kojidev')  # my local koji hub
opts = vars(mykoji.config)
session = mykoji.ClientSession(mykoji.config.server, opts)
activate_session(session, session.opts)

assert session.logged_in

child_tag = 'example-child' # an example child tag I created on my local hub

new_rules = [
 {'parent_id': 37,  # an example parent tag I created
  'intransitive': False,
  'maxdepth': None,
  'noconfig': False,
  'pkg_filter': '',
  'priority': 10},
 {'parent_id': 41, # another example parent tag I created
  'intransitive': False,
  'maxdepth': None,
  'noconfig': False,
  'pkg_filter': '',
  'priority': 10},  # Note this is the same priority as above, to trigger an error on the hub
]

session.setInheritanceData(child_tag, new_rules, clear=True)

@ktdreyer flake8 is failing on line length here.

Commit ba40708 fixes this pull-request

Pull-Request has been merged by tkopecek

2 years ago
Metadata