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'))
|
help=_('Clone tag at a specific repo event'))
|
||||||
parser.add_option("-v", "--verbose", action="store_true",
|
parser.add_option("-v", "--verbose", action="store_true",
|
||||||
help=_("show changes"))
|
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",
|
parser.add_option("-f", "--force", action="store_true",
|
||||||
help=_("override tag locks if necessary"))
|
help=_("override tag locks if necessary"))
|
||||||
parser.add_option("-n", "--test", action="store_true", help=_("test mode"))
|
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:
|
if not options.test:
|
||||||
session.tagBuildBypass(newtag['name'],
|
session.tagBuildBypass(newtag['name'],
|
||||||
build,
|
build,
|
||||||
force=options.force)
|
force=options.force,
|
||||||
|
notify=options.notify)
|
||||||
if not options.test:
|
if not options.test:
|
||||||
session.multiCall(batch=options.batch)
|
session.multiCall(batch=options.batch)
|
||||||
if options.groups:
|
if options.groups:
|
||||||
|
|
@ -3546,7 +3549,8 @@ def handle_clone_tag(goptions, session, args):
|
||||||
if not options.test:
|
if not options.test:
|
||||||
session.untagBuildBypass(dsttag['name'],
|
session.untagBuildBypass(dsttag['name'],
|
||||||
build,
|
build,
|
||||||
force=options.force)
|
force=options.force,
|
||||||
|
notify=options.notify)
|
||||||
if not options.test:
|
if not options.test:
|
||||||
session.multiCall(batch=options.batch)
|
session.multiCall(batch=options.batch)
|
||||||
# ADD builds.
|
# ADD builds.
|
||||||
|
|
@ -3565,7 +3569,8 @@ def handle_clone_tag(goptions, session, args):
|
||||||
if not options.test:
|
if not options.test:
|
||||||
session.tagBuildBypass(dsttag['name'],
|
session.tagBuildBypass(dsttag['name'],
|
||||||
build,
|
build,
|
||||||
force=options.force)
|
force=options.force,
|
||||||
|
notify=options.notify)
|
||||||
if not options.test:
|
if not options.test:
|
||||||
session.multiCall(batch=options.batch)
|
session.multiCall(batch=options.batch)
|
||||||
# ADD groups.
|
# ADD groups.
|
||||||
|
|
@ -3631,7 +3636,8 @@ def handle_clone_tag(goptions, session, args):
|
||||||
if not options.test:
|
if not options.test:
|
||||||
session.untagBuildBypass(dsttag['name'],
|
session.untagBuildBypass(dsttag['name'],
|
||||||
build,
|
build,
|
||||||
force=options.force)
|
force=options.force,
|
||||||
|
notify=options.notify)
|
||||||
# now safe to remove package itself since we resolved its builds.
|
# now safe to remove package itself since we resolved its builds.
|
||||||
chgpkglist.append(('[del]',
|
chgpkglist.append(('[del]',
|
||||||
pkg['package_name'],
|
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',
|
'nvr': 'pkg2-1.0-1',
|
||||||
'package_name': 'pkg2', 'state': 2,
|
'package_name': 'pkg2', 'state': 2,
|
||||||
'tag_name': 'src-tag-p',
|
'tag_name': 'src-tag-p',
|
||||||
'name': 'pkg2'}, force=None),
|
'name': 'pkg2'}, force=None,
|
||||||
|
notify=False),
|
||||||
call.tagBuildBypass('dst-tag', {
|
call.tagBuildBypass('dst-tag', {
|
||||||
'owner_name': 'b_owner',
|
'owner_name': 'b_owner',
|
||||||
'nvr': 'pkg1-1.0-1',
|
'nvr': 'pkg1-1.0-1',
|
||||||
'package_name': 'pkg1', 'state': 1,
|
'package_name': 'pkg1', 'state': 1,
|
||||||
'tag_name': 'src-tag',
|
'tag_name': 'src-tag',
|
||||||
'name': 'pkg1'}, force=None),
|
'name': 'pkg1'}, force=None,
|
||||||
|
notify=False),
|
||||||
call.tagBuildBypass('dst-tag', {
|
call.tagBuildBypass('dst-tag', {
|
||||||
'owner_name': 'b_owner',
|
'owner_name': 'b_owner',
|
||||||
'nvr': 'pkg1-1.0-2',
|
'nvr': 'pkg1-1.0-2',
|
||||||
'package_name': 'pkg1', 'state': 1,
|
'package_name': 'pkg1', 'state': 1,
|
||||||
'tag_name': 'src-tag',
|
'tag_name': 'src-tag',
|
||||||
'name': 'pkg1'}, force=None),
|
'name': 'pkg1'}, force=None,
|
||||||
|
notify=False),
|
||||||
call.tagBuildBypass('dst-tag', {
|
call.tagBuildBypass('dst-tag', {
|
||||||
'owner_name': 'b_owner',
|
'owner_name': 'b_owner',
|
||||||
'nvr': 'pkg1-1.1-2',
|
'nvr': 'pkg1-1.1-2',
|
||||||
'package_name': 'pkg1', 'state': 1,
|
'package_name': 'pkg1', 'state': 1,
|
||||||
'tag_name': 'src-tag',
|
'tag_name': 'src-tag',
|
||||||
'name': 'pkg1'}, force=None),
|
'name': 'pkg1'}, force=None,
|
||||||
|
notify=False),
|
||||||
call.multiCall(batch=1000),
|
call.multiCall(batch=1000),
|
||||||
call.getTagGroups('src-tag',
|
call.getTagGroups('src-tag',
|
||||||
event=None),
|
event=None),
|
||||||
|
|
@ -506,38 +510,44 @@ List of changes:
|
||||||
'nvr': 'pkg1-2.1-2',
|
'nvr': 'pkg1-2.1-2',
|
||||||
'package_name': 'pkg1', 'state': 1,
|
'package_name': 'pkg1', 'state': 1,
|
||||||
'tag_name': 'dst-tag',
|
'tag_name': 'dst-tag',
|
||||||
'name': 'pkg1'}, force=None),
|
'name': 'pkg1'}, force=None,
|
||||||
|
notify=False),
|
||||||
call.untagBuildBypass('dst-tag', {
|
call.untagBuildBypass('dst-tag', {
|
||||||
'owner_name': 'b_owner',
|
'owner_name': 'b_owner',
|
||||||
'nvr': 'pkg1-0.1-1',
|
'nvr': 'pkg1-0.1-1',
|
||||||
'package_name': 'pkg1', 'state': 1,
|
'package_name': 'pkg1', 'state': 1,
|
||||||
'tag_name': 'dst-tag',
|
'tag_name': 'dst-tag',
|
||||||
'name': 'pkg1'}, force=None),
|
'name': 'pkg1'}, force=None,
|
||||||
|
notify=False),
|
||||||
call.untagBuildBypass('dst-tag', {
|
call.untagBuildBypass('dst-tag', {
|
||||||
'owner_name': 'b_owner',
|
'owner_name': 'b_owner',
|
||||||
'nvr': 'pkg3-1.0-1',
|
'nvr': 'pkg3-1.0-1',
|
||||||
'package_name': 'pkg3', 'state': 1,
|
'package_name': 'pkg3', 'state': 1,
|
||||||
'tag_name': 'dst-tag',
|
'tag_name': 'dst-tag',
|
||||||
'name': 'pkg3'}, force=None),
|
'name': 'pkg3'}, force=None,
|
||||||
|
notify=False),
|
||||||
call.multiCall(batch=1000),
|
call.multiCall(batch=1000),
|
||||||
call.tagBuildBypass('dst-tag', {
|
call.tagBuildBypass('dst-tag', {
|
||||||
'owner_name': 'b_owner',
|
'owner_name': 'b_owner',
|
||||||
'nvr': 'pkg1-0.1-1',
|
'nvr': 'pkg1-0.1-1',
|
||||||
'package_name': 'pkg1', 'state': 1,
|
'package_name': 'pkg1', 'state': 1,
|
||||||
'tag_name': 'src-tag',
|
'tag_name': 'src-tag',
|
||||||
'name': 'pkg1'}, force=None),
|
'name': 'pkg1'}, force=None,
|
||||||
|
notify=False),
|
||||||
call.tagBuildBypass('dst-tag', {
|
call.tagBuildBypass('dst-tag', {
|
||||||
'owner_name': 'b_owner',
|
'owner_name': 'b_owner',
|
||||||
'nvr': 'pkg1-1.0-2',
|
'nvr': 'pkg1-1.0-2',
|
||||||
'package_name': 'pkg1', 'state': 1,
|
'package_name': 'pkg1', 'state': 1,
|
||||||
'tag_name': 'src-tag',
|
'tag_name': 'src-tag',
|
||||||
'name': 'pkg1'}, force=None),
|
'name': 'pkg1'}, force=None,
|
||||||
|
notify=False),
|
||||||
call.tagBuildBypass('dst-tag', {
|
call.tagBuildBypass('dst-tag', {
|
||||||
'owner_name': 'b_owner',
|
'owner_name': 'b_owner',
|
||||||
'nvr': 'pkg1-1.1-2',
|
'nvr': 'pkg1-1.1-2',
|
||||||
'package_name': 'pkg1', 'state': 1,
|
'package_name': 'pkg1', 'state': 1,
|
||||||
'tag_name': 'src-tag',
|
'tag_name': 'src-tag',
|
||||||
'name': 'pkg1'}, force=None),
|
'name': 'pkg1'}, force=None,
|
||||||
|
notify=False),
|
||||||
call.multiCall(batch=1000),
|
call.multiCall(batch=1000),
|
||||||
call.multiCall(batch=1000),
|
call.multiCall(batch=1000),
|
||||||
call.groupPackageListAdd('dst-tag',
|
call.groupPackageListAdd('dst-tag',
|
||||||
|
|
@ -633,6 +643,7 @@ Options:
|
||||||
--event=EVENT Clone tag at a specific event
|
--event=EVENT Clone tag at a specific event
|
||||||
--repo=REPO Clone tag at a specific repo event
|
--repo=REPO Clone tag at a specific repo event
|
||||||
-v, --verbose show changes
|
-v, --verbose show changes
|
||||||
|
--notify Send tagging/untagging notifications
|
||||||
-f, --force override tag locks if necessary
|
-f, --force override tag locks if necessary
|
||||||
-n, --test test mode
|
-n, --test test mode
|
||||||
--batch=SIZE batch size of multicalls [0 to disable, default: 1000]
|
--batch=SIZE batch size of multicalls [0 to disable, default: 1000]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue