method, url, body, resp.status)
return (False, None, resp.status)
-def lock_many(ctx, num, user=None):
+def lock_many(ctx, num, user=None, description=None):
if user is None:
user = teuthology.get_user()
success, content, status = send_request('POST', _lock_url(ctx),
if success:
machines = json.loads(content)
log.debug('locked {machines}'.format(machines=', '.join(machines.keys())))
+ if description is not None:
+ log.debug('Setting locked machine descriptions to %s', description)
+ for m in machines.keys():
+ update_lock(ctx, m, description)
return machines
if status == 503:
log.error('Insufficient nodes available to lock %d nodes.', num)
else:
assert 0, 'not enough machines free'
- newly_locked = lock.lock_many(ctx, config, ctx.owner)
+ newly_locked = lock.lock_many(ctx, config, ctx.owner, ctx.archive)
if len(newly_locked) == config:
ctx.config['targets'] = newly_locked
log.info('\n '.join(['Locked targets:', ] + yaml.safe_dump(ctx.config['targets'], default_flow_style=False).splitlines()))