From 7b195d9b587a0c8a2622f9e067875736d9af2657 Mon Sep 17 00:00:00 2001
From: Michael Hanselmann <hansmi@google.com>
Date: Tue, 13 Nov 2007 19:31:25 +0000
Subject: [PATCH] Small changes and fixes in ganeti-watcher.

- Use constants for keys.
- Fix bug through which automatic instance restarts wouldn't be limited

Reviewed-by: iustinp
---
 daemons/ganeti-watcher | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/daemons/ganeti-watcher b/daemons/ganeti-watcher
index b066a5516..78de6c9e8 100755
--- a/daemons/ganeti-watcher
+++ b/daemons/ganeti-watcher
@@ -47,6 +47,9 @@ BAD_STATES = ['stopped']
 HELPLESS_STATES = ['(node down)']
 NOTICE = 'NOTICE'
 ERROR = 'ERROR'
+KEY_RESTART_COUNT = "restart_count"
+KEY_RESTART_WHEN = "restart_when"
+KEY_BOOT_ID = "bootid"
 
 
 class Error(Exception):
@@ -151,8 +154,8 @@ class WatcherState(object):
     """
     ndata = self.data["node"]
 
-    if name in ndata and "bootid" in ndata[name]:
-      return ndata[name]["bootid"]
+    if name in ndata and KEY_BOOT_ID in ndata[name]:
+      return ndata[name][KEY_BOOT_ID]
     return None
 
   def SetNodeBootID(self, name, bootid):
@@ -166,7 +169,7 @@ class WatcherState(object):
     if name not in ndata:
       ndata[name] = {}
 
-    ndata[name]["bootid"] = bootid
+    ndata[name][KEY_BOOT_ID] = bootid
 
   def NumberOfRestartAttempts(self, instance):
     """Returns number of previous restart attempts.
@@ -178,7 +181,7 @@ class WatcherState(object):
     idata = self.data["instance"]
 
     if instance.name in idata:
-      return idata[instance.name]["restart_count"]
+      return idata[instance.name][KEY_RESTART_COUNT]
 
     return 0
 
@@ -196,8 +199,8 @@ class WatcherState(object):
     else:
       inst = idata[instance.name]
 
-    inst["restart_when"] = time.time()
-    inst["restart_count"] = idata.get("restart_count", 0) + 1
+    inst[KEY_RESTART_WHEN] = time.time()
+    inst[KEY_RESTART_COUNT] = inst.get(KEY_RESTART_COUNT, 0) + 1
 
   def RemoveInstance(self, instance):
     """Update state to reflect that a machine is running, i.e. remove record.
-- 
GitLab