[autotest] Forcefully modify host locking status via cli
When host locking status is inconsistent between masterDB and shardDB for some
unknown rpc reasons, we may need to forcefully lock the host both in
masterDB and shardDB gaurantee the lab reliability.
BUG=chromium:568193
TEST=Test locally. Test in puppetlab to lock an already locked host and
unlock an already unlocked host.
Change-Id: I83f53da0a2e76dedfc8e58deb609073efec5f369
Reviewed-on: https://chromium-review.googlesource.com/321792
Commit-Ready: Shuqian Zhao <shuqianz@chromium.org>
Tested-by: Shuqian Zhao <shuqianz@chromium.org>
Reviewed-by: Shuqian Zhao <shuqianz@chromium.org>
diff --git a/frontend/afe/rpc_utils.py b/frontend/afe/rpc_utils.py
index 3f0f17d..173f84c 100644
--- a/frontend/afe/rpc_utils.py
+++ b/frontend/afe/rpc_utils.py
@@ -469,14 +469,15 @@
if locked is not None:
if locked and host.locked:
raise model_logic.ValidationError({
- 'locked': 'Host already locked by %s on %s.' %
- (host.locked_by, host.lock_time)})
+ 'locked': 'Host %s already locked by %s on %s.' %
+ (host.hostname, host.locked_by, host.lock_time)})
if not locked and not host.locked:
raise model_logic.ValidationError({
- 'locked': 'Host already unlocked.'})
+ 'locked': 'Host %s already unlocked.' % host.hostname})
if locked and not lock_reason and not host.locked:
raise model_logic.ValidationError({
- 'locked': 'Please provide a reason for locking'})
+ 'locked': 'Please provide a reason for locking Host %s' %
+ host.hostname})
def get_motd():