diff options
Diffstat (limited to 'compass-tasks/actions/health_check/check_hds.py')
-rw-r--r-- | compass-tasks/actions/health_check/check_hds.py | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/compass-tasks/actions/health_check/check_hds.py b/compass-tasks/actions/health_check/check_hds.py deleted file mode 100644 index d176f1f..0000000 --- a/compass-tasks/actions/health_check/check_hds.py +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright 2014 Huawei Technologies Co. Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Health Check module for Hardware Discovery.""" -import logging - -from compass.actions.health_check import base -from compass.actions.health_check import utils as health_check_utils - - -class HdsCheck(base.BaseCheck): - """hds health check class.""" - NAME = "HDS Check" - - def run(self): - """do health check.""" - if self.dist in ("centos", "redhat", "fedora", "scientific linux"): - pkg_type = "yum" - else: - pkg_type = "apt" - - try: - pkg_module = __import__(pkg_type) - except Exception: - self._set_status( - 0, "[%s]Error: No module named %s please install it first." - % (self.NAME, pkg_type) - ) - return (self.code, self.messages) - - logging.info('import %s: %s', pkg_type, pkg_module) - method_name = 'self.check_' + pkg_type + '_snmp(pkg_module)' - eval(method_name) - print "[Done]" - self.check_snmp_mibs() - print "[Done]" - if self.code == 1: - self.messages.append("[%s]Info: hds health check has complated. " - "No problems found, all systems go." - % self.NAME) - - return (self.code, self.messages) - - def check_yum_snmp(self, pkg_module): - """Check if SNMP yum dependencies are installed - - :param pkg_module : python yum library - :type pkg_module : python module - - """ - print "Checking SNMP Packages......", - yum_base = pkg_module.YumBase() - uninstalled = [] - for package in ['net-snmp-utils', 'net-snmp', 'net-snmp-python']: - if len(yum_base.rpmdb.searchNevra(name=package)) == 0: - self.messages.append("[%s]Error: %s package is required " - "for HDS" % (self.NAME, package)) - uninstalled.append(package) - - if len(uninstalled) != 0: - self._set_status(0, "[%s]Info: Uninstalled packages: %s" - % (self.NAME, - ', '.join(item for item in uninstalled))) - - return True - - def check_apt_snmp(self, pkg_module): - """do apt health check.""" - return None - - def check_snmp_mibs(self): - """Checks if SNMP MIB files are properly placed.""" - - print "Checking SNMP MIBs......", - conf_err_msg = health_check_utils.check_path(self.NAME, - '/etc/snmp/snmp.conf') - if not conf_err_msg == "": - self._set_status(0, conf_err_msg) - - mibs_err_msg = health_check_utils.check_path( - self.NAME, - '/usr/local/share/snmp/mibs') - if not mibs_err_msg == "": - self._set_status(0, mibs_err_msg) - - return True |