projects
/
ganeti-local
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix the output of watcher on non-master nodes
[ganeti-local]
/
daemons
/
ganeti-watcher
diff --git
a/daemons/ganeti-watcher
b/daemons/ganeti-watcher
index
37571a5
..
8745f2d
100755
(executable)
--- a/
daemons/ganeti-watcher
+++ b/
daemons/ganeti-watcher
@@
-88,11
+88,15
@@
class WatcherState(object):
utils.LockFile(self.statefile.fileno())
try:
utils.LockFile(self.statefile.fileno())
try:
- self._data = serializer.Load(self.statefile.read())
+ state_data = self.statefile.read()
+ if not state_data:
+ self._data = {}
+ else:
+ self._data = serializer.Load(state_data)
except Exception, msg:
# Ignore errors while loading the file and treat it as empty
self._data = {}
except Exception, msg:
# Ignore errors while loading the file and treat it as empty
self._data = {}
- logging.warning(("Empty or invalid state file. Using defaults."
+ logging.warning(("Invalid state file. Using defaults."
" Error message: %s"), msg)
if "instance" not in self._data:
" Error message: %s"), msg)
if "instance" not in self._data:
@@
-440,7
+444,11
@@
def main():
try:
notepad = WatcherState()
try:
try:
notepad = WatcherState()
try:
- client = cli.GetClient()
+ try:
+ client = cli.GetClient()
+ except errors.OpPrereqError:
+ # this is, from cli.GetClient, a not-master case
+ sys.exit(constants.EXIT_SUCCESS)
try:
watcher = Watcher(options, notepad)
try:
watcher = Watcher(options, notepad)