osc-staging: provide unlock to resolve stuck staging locks.
This commit is contained in:
parent
9acbc463df
commit
9c55799fb1
@ -199,6 +199,8 @@ def do_staging(self, subcmd, opts, *args):
|
|||||||
|
|
||||||
"unselect" will remove from the project - pushing them back to the backlog
|
"unselect" will remove from the project - pushing them back to the backlog
|
||||||
|
|
||||||
|
"unlock" will remove the staging lock in case it gets stuck
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
osc staging accept [--force] [--no-cleanup] [LETTER...]
|
osc staging accept [--force] [--no-cleanup] [LETTER...]
|
||||||
osc staging acheck
|
osc staging acheck
|
||||||
@ -213,6 +215,7 @@ def do_staging(self, subcmd, opts, *args):
|
|||||||
osc staging select [--no-freeze] [--move [--from PROJECT] STAGING REQUEST...
|
osc staging select [--no-freeze] [--move [--from PROJECT] STAGING REQUEST...
|
||||||
osc staging select [--no-freeze] [[--interactive] [--filter-by...] [--group-by...]] [STAGING...] [REQUEST...]
|
osc staging select [--no-freeze] [[--interactive] [--filter-by...] [--group-by...]] [STAGING...] [REQUEST...]
|
||||||
osc staging unselect REQUEST...
|
osc staging unselect REQUEST...
|
||||||
|
osc staging unlock
|
||||||
osc staging repair REQUEST...
|
osc staging repair REQUEST...
|
||||||
"""
|
"""
|
||||||
if opts.version:
|
if opts.version:
|
||||||
@ -240,6 +243,8 @@ def do_staging(self, subcmd, opts, *args):
|
|||||||
min_args, max_args = 0, None
|
min_args, max_args = 0, None
|
||||||
elif cmd in ('cleanup_rings', 'acheck'):
|
elif cmd in ('cleanup_rings', 'acheck'):
|
||||||
min_args, max_args = 0, 0
|
min_args, max_args = 0, 0
|
||||||
|
elif cmd == 'unlock':
|
||||||
|
min_args, max_args = 0, 0
|
||||||
else:
|
else:
|
||||||
raise oscerr.WrongArgs('Unknown command: %s' % cmd)
|
raise oscerr.WrongArgs('Unknown command: %s' % cmd)
|
||||||
if len(args) - 1 < min_args:
|
if len(args) - 1 < min_args:
|
||||||
@ -256,7 +261,12 @@ def do_staging(self, subcmd, opts, *args):
|
|||||||
if opts.wipe_cache:
|
if opts.wipe_cache:
|
||||||
Cache.delete_all()
|
Cache.delete_all()
|
||||||
|
|
||||||
with OBSLock(opts.apiurl, opts.project):
|
lock = OBSLock(opts.apiurl, opts.project)
|
||||||
|
if cmd == 'unlock':
|
||||||
|
lock.release()
|
||||||
|
return
|
||||||
|
|
||||||
|
with lock:
|
||||||
api = StagingAPI(opts.apiurl, opts.project)
|
api = StagingAPI(opts.apiurl, opts.project)
|
||||||
|
|
||||||
# call the respective command and parse args by need
|
# call the respective command and parse args by need
|
||||||
|
Loading…
x
Reference in New Issue
Block a user