diff options
Diffstat (limited to 'compass-tasks/actions/health_check/check_tftp.py')
-rw-r--r-- | compass-tasks/actions/health_check/check_tftp.py | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/compass-tasks/actions/health_check/check_tftp.py b/compass-tasks/actions/health_check/check_tftp.py deleted file mode 100644 index 7ca6405..0000000 --- a/compass-tasks/actions/health_check/check_tftp.py +++ /dev/null @@ -1,96 +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 TFTP service.""" -import os -import socket -import xmlrpclib - -from compass.actions.health_check import base -from compass.actions.health_check import utils as health_check_utils - - -class TftpCheck(base.BaseCheck): - """tftp health check class.""" - NAME = "TFTP Check" - - def run(self): - """do health check.""" - method_name = "self.check_" + self.os_installer['name'] + "_tftp()" - return eval(method_name) - - def check_cobbler_tftp(self): - """Checks if Cobbler manages TFTP service. - - :note: we assume TFTP service is running at the - same machine where this health check runs at - """ - - try: - remote = xmlrpclib.Server( - self.os_installer['cobbler_url'], - allow_none=True) - credentials = self.os_installer['credentials'] - remote.login( - credentials['username'], credentials['password']) - except Exception: - self._set_status( - 0, - "[%s]Error: Cannot login to Cobbler with the tokens " - " provided in the config file" % self.NAME) - return (self.code, self.messages) - - cobbler_settings = remote.get_settings() - if cobbler_settings['manage_tftp'] == 0: - self.messages.append( - '[TFTP]Info: tftp service is not managed by Compass') - return (0, self.messages) - self.check_tftp_dir() - print "[Done]" - self.check_tftp_service() - print "[Done]" - if self.code == 1: - self.messages.append( - "[%s]Info: tftp service health check has completed. " - "No problems found, all systems go." % self.NAME) - - return (self.code, self.messages) - - def check_tftp_dir(self): - """Validates TFTP directories and configurations.""" - print "Checking TFTP directories......", - if not os.path.exists('/var/lib/tftpboot/'): - self._set_status( - 0, - "[%s]Error: No tftp-boot libraries found, " - "please check if tftp server is properly " - "installed/managed" % self.NAME) - - return True - - def check_tftp_service(self): - """Checks if TFTP is running on port 69.""" - print "Checking TFTP services......", - serv_err_msg = health_check_utils.check_service_running(self.NAME, - 'xinetd') - if not serv_err_msg == "": - self._set_status(0, serv_err_msg) - - if 'tftp' != socket.getservbyport(69): - self._set_status( - 0, - "[%s]Error: tftp doesn't seem to be listening " - "on Port 60." % self.NAME) - - return True |