From 73abc9e9734654e47b01bb46ab75b5e2b13d14b4 Mon Sep 17 00:00:00 2001 From: Ramesh Nachimuthu Date: Mon, 28 Apr 2014 21:04:39 +0530 Subject: autoconf: fix for empty services in hosts. There were some key errors when there is no service in the hosts. It fixed by using dict.get(). Change-Id: Ic479f5335240c772a520e4ee0e7b41ce85f905e5 Signed-off-by: Ramesh Nachimuthu Reviewed-on: http://review.gluster.org/7594 Reviewed-by: Sahina Bose --- plugins/config_generator.py | 2 +- plugins/discovery.py | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'plugins') diff --git a/plugins/config_generator.py b/plugins/config_generator.py index 7e36ae0..e7d35fd 100644 --- a/plugins/config_generator.py +++ b/plugins/config_generator.py @@ -294,7 +294,7 @@ class GlusterNagiosConfManager: hostModel.set_filename(self.getCfgFileName(host['host_name'])) hostModel.save() - if host['host_services']: + if host.get('host_services'): self.writeHostServices(host) def writeHosts(self, hosts, chageMode): diff --git a/plugins/discovery.py b/plugins/discovery.py index 72c8328..3f28c5e 100755 --- a/plugins/discovery.py +++ b/plugins/discovery.py @@ -158,7 +158,7 @@ def findDeletedServices(host): deletedService = [] serviceConfigs = server_utils.getServiceConfigByHost(host['host_name']) for serviceConfig in serviceConfigs: - service = findServiceInList(host['host_services'], + service = findServiceInList(host.get('host_services', []), serviceConfig['service_description']) if service is None: deletedService.append( @@ -190,7 +190,7 @@ def findChangeInAutoConfig(newService, oldService): #have to update the host ip in existing auto-config service. def findServiceDelta(host): serviceDelta = [] - for service in host['host_services']: + for service in host.get('host_services', []): serviceConfig = server_utils.getServiceConfig( service['service_description'], service['host_name']) if serviceConfig is None: @@ -305,7 +305,7 @@ def previewChanges(clusterDelta): else: changeMode = clusterChangeMode print "Host %s - %s" % (host['host_name'], changeMode) - for service in host.get('host_services'): + for service in host.get('host_services', []): if service.get('changeMode'): changeMode = service.get('changeMode') print "\t Service - %s -%s " % (service['service_description'], @@ -316,9 +316,9 @@ def previewChanges(clusterDelta): def configureNodes(clusterDelta, nagiosServerAddress, mode): for host in clusterDelta['_hosts']: #Only when a new node is added or whole cluster is added freshly. - if (host['use'] != 'gluster_cluster') and \ - (host.get('changeMode') == CHANGE_MODE_ADD or - clusterDelta['changeMode'] == CHANGE_MODE_ADD): + if (clusterDelta.get('changeMode') == CHANGE_MODE_ADD or \ + host.get('changeMode') == CHANGE_MODE_ADD) \ + and (host['use'] != 'gluster_cluster'): if not nagiosServerAddress: #Nagios server address should be specified as arg in auto mode if mode == "manual": -- cgit