Commit 2c404217 authored by Iustin Pop's avatar Iustin Pop

Fix the output of watcher on non-master nodes

Currently the watcher spews errors message on non-master nodes. This
cleans it up.

Reviewed-by: imsnah
parent 6dfcc47b
......@@ -88,11 +88,15 @@ class WatcherState(object):
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 = {}
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:
......@@ -440,7 +444,11 @@ def main():
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)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment