]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
lock: pass desc to lock operation; leave on unlock
authorSage Weil <sage@inktank.com>
Mon, 25 Mar 2013 23:46:48 +0000 (16:46 -0700)
committerSage Weil <sage@inktank.com>
Mon, 25 Mar 2013 23:47:02 +0000 (16:47 -0700)
Pass the desc to the lock operation.

The unlock operation now clears desc for us; no need to do it outselves.

Signed-off-by: Sage Weil <sage@inktank.com>
teuthology/lock.py

index 33776f7d18e23c814fb88d86db18306c8164c7a7..b63260ceae534773a7ecaa684e8a188106de07a4 100644 (file)
@@ -28,14 +28,15 @@ def lock_many(ctx, num, machinetype, user=None, description=None):
     if user is None:
         user = teuthology.get_user()
     success, content, status = send_request('POST', _lock_url(ctx),
-                                    urllib.urlencode(dict(user=user, num=num, machinetype=machinetype)))
+                                    urllib.urlencode(dict(
+                user=user,
+                num=num,
+                machinetype=machinetype,
+                desc=description,
+                )))
     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)
@@ -57,13 +58,10 @@ def lock(ctx, name, user=None):
 def unlock(ctx, name, user=None):
     if user is None:
         user = teuthology.get_user()
-    desc_success = update_lock(ctx, name, description='')
     success, _ , _ = send_request('DELETE', _lock_url(ctx) + '/' + name + '?' + \
                                   urllib.urlencode(dict(user=user)))
     if success:
         log.debug('unlocked %s', name)
-        if not desc_success:
-            log.warn('failed to remove description for %s', name)
     else:
         log.error('failed to unlock %s', name)
     return success