Disable notifications from clone-tag by default
The tagBuildBypass and untagBuildBypass invocations in the clone-tag CLI were not setting the notify option, leaving it at the default of True. This means in some cases many hundreds of notification events would be triggered from a clone-tag call. Change the default behavior of clone-tag to explicitly disable notifications Add a new --notify option to clone-tag to re-enable notifications for tagging and untagging of builds. Fixes: #1890
This commit is contained in:
parent
e4062ea1ea
commit
ff1996564c
2 changed files with 31 additions and 14 deletions
|
|
@ -3272,6 +3272,8 @@ def handle_clone_tag(goptions, session, args):
|
|||
help=_('Clone tag at a specific repo event'))
|
||||
parser.add_option("-v", "--verbose", action="store_true",
|
||||
help=_("show changes"))
|
||||
parser.add_option("--notify", action="store_true", default=False,
|
||||
help=_('Send tagging/untagging notifications'))
|
||||
parser.add_option("-f", "--force", action="store_true",
|
||||
help=_("override tag locks if necessary"))
|
||||
parser.add_option("-n", "--test", action="store_true", help=_("test mode"))
|
||||
|
|
@ -3371,7 +3373,8 @@ def handle_clone_tag(goptions, session, args):
|
|||
if not options.test:
|
||||
session.tagBuildBypass(newtag['name'],
|
||||
build,
|
||||
force=options.force)
|
||||
force=options.force,
|
||||
notify=options.notify)
|
||||
if not options.test:
|
||||
session.multiCall(batch=options.batch)
|
||||
if options.groups:
|
||||
|
|
@ -3546,7 +3549,8 @@ def handle_clone_tag(goptions, session, args):
|
|||
if not options.test:
|
||||
session.untagBuildBypass(dsttag['name'],
|
||||
build,
|
||||
force=options.force)
|
||||
force=options.force,
|
||||
notify=options.notify)
|
||||
if not options.test:
|
||||
session.multiCall(batch=options.batch)
|
||||
# ADD builds.
|
||||
|
|
@ -3565,7 +3569,8 @@ def handle_clone_tag(goptions, session, args):
|
|||
if not options.test:
|
||||
session.tagBuildBypass(dsttag['name'],
|
||||
build,
|
||||
force=options.force)
|
||||
force=options.force,
|
||||
notify=options.notify)
|
||||
if not options.test:
|
||||
session.multiCall(batch=options.batch)
|
||||
# ADD groups.
|
||||
|
|
@ -3631,7 +3636,8 @@ def handle_clone_tag(goptions, session, args):
|
|||
if not options.test:
|
||||
session.untagBuildBypass(dsttag['name'],
|
||||
build,
|
||||
force=options.force)
|
||||
force=options.force,
|
||||
notify=options.notify)
|
||||
# now safe to remove package itself since we resolved its builds.
|
||||
chgpkglist.append(('[del]',
|
||||
pkg['package_name'],
|
||||
|
|
|
|||
|
|
@ -244,25 +244,29 @@ clone-tag will create the destination tag if it does not already exist
|
|||
'nvr': 'pkg2-1.0-1',
|
||||
'package_name': 'pkg2', 'state': 2,
|
||||
'tag_name': 'src-tag-p',
|
||||
'name': 'pkg2'}, force=None),
|
||||
'name': 'pkg2'}, force=None,
|
||||
notify=False),
|
||||
call.tagBuildBypass('dst-tag', {
|
||||
'owner_name': 'b_owner',
|
||||
'nvr': 'pkg1-1.0-1',
|
||||
'package_name': 'pkg1', 'state': 1,
|
||||
'tag_name': 'src-tag',
|
||||
'name': 'pkg1'}, force=None),
|
||||
'name': 'pkg1'}, force=None,
|
||||
notify=False),
|
||||
call.tagBuildBypass('dst-tag', {
|
||||
'owner_name': 'b_owner',
|
||||
'nvr': 'pkg1-1.0-2',
|
||||
'package_name': 'pkg1', 'state': 1,
|
||||
'tag_name': 'src-tag',
|
||||
'name': 'pkg1'}, force=None),
|
||||
'name': 'pkg1'}, force=None,
|
||||
notify=False),
|
||||
call.tagBuildBypass('dst-tag', {
|
||||
'owner_name': 'b_owner',
|
||||
'nvr': 'pkg1-1.1-2',
|
||||
'package_name': 'pkg1', 'state': 1,
|
||||
'tag_name': 'src-tag',
|
||||
'name': 'pkg1'}, force=None),
|
||||
'name': 'pkg1'}, force=None,
|
||||
notify=False),
|
||||
call.multiCall(batch=1000),
|
||||
call.getTagGroups('src-tag',
|
||||
event=None),
|
||||
|
|
@ -506,38 +510,44 @@ List of changes:
|
|||
'nvr': 'pkg1-2.1-2',
|
||||
'package_name': 'pkg1', 'state': 1,
|
||||
'tag_name': 'dst-tag',
|
||||
'name': 'pkg1'}, force=None),
|
||||
'name': 'pkg1'}, force=None,
|
||||
notify=False),
|
||||
call.untagBuildBypass('dst-tag', {
|
||||
'owner_name': 'b_owner',
|
||||
'nvr': 'pkg1-0.1-1',
|
||||
'package_name': 'pkg1', 'state': 1,
|
||||
'tag_name': 'dst-tag',
|
||||
'name': 'pkg1'}, force=None),
|
||||
'name': 'pkg1'}, force=None,
|
||||
notify=False),
|
||||
call.untagBuildBypass('dst-tag', {
|
||||
'owner_name': 'b_owner',
|
||||
'nvr': 'pkg3-1.0-1',
|
||||
'package_name': 'pkg3', 'state': 1,
|
||||
'tag_name': 'dst-tag',
|
||||
'name': 'pkg3'}, force=None),
|
||||
'name': 'pkg3'}, force=None,
|
||||
notify=False),
|
||||
call.multiCall(batch=1000),
|
||||
call.tagBuildBypass('dst-tag', {
|
||||
'owner_name': 'b_owner',
|
||||
'nvr': 'pkg1-0.1-1',
|
||||
'package_name': 'pkg1', 'state': 1,
|
||||
'tag_name': 'src-tag',
|
||||
'name': 'pkg1'}, force=None),
|
||||
'name': 'pkg1'}, force=None,
|
||||
notify=False),
|
||||
call.tagBuildBypass('dst-tag', {
|
||||
'owner_name': 'b_owner',
|
||||
'nvr': 'pkg1-1.0-2',
|
||||
'package_name': 'pkg1', 'state': 1,
|
||||
'tag_name': 'src-tag',
|
||||
'name': 'pkg1'}, force=None),
|
||||
'name': 'pkg1'}, force=None,
|
||||
notify=False),
|
||||
call.tagBuildBypass('dst-tag', {
|
||||
'owner_name': 'b_owner',
|
||||
'nvr': 'pkg1-1.1-2',
|
||||
'package_name': 'pkg1', 'state': 1,
|
||||
'tag_name': 'src-tag',
|
||||
'name': 'pkg1'}, force=None),
|
||||
'name': 'pkg1'}, force=None,
|
||||
notify=False),
|
||||
call.multiCall(batch=1000),
|
||||
call.multiCall(batch=1000),
|
||||
call.groupPackageListAdd('dst-tag',
|
||||
|
|
@ -633,6 +643,7 @@ Options:
|
|||
--event=EVENT Clone tag at a specific event
|
||||
--repo=REPO Clone tag at a specific repo event
|
||||
-v, --verbose show changes
|
||||
--notify Send tagging/untagging notifications
|
||||
-f, --force override tag locks if necessary
|
||||
-n, --test test mode
|
||||
--batch=SIZE batch size of multicalls [0 to disable, default: 1000]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue