summaryrefslogtreecommitdiffstats
path: root/compass-tasks/actions/health_check/check_tftp.py
diff options
context:
space:
mode:
authorHarry Huang <huangxiangyu5@huawei.com>2017-11-17 14:53:44 +0800
committerHarry Huang <huangxiangyu5@huawei.com>2017-12-21 16:36:30 +0800
commit8646b8d62cf4ca7b6bccae537a0c9e72ba45eab3 (patch)
tree73a9a983e0dd1423e9df928a78a5023a09d5a7f9 /compass-tasks/actions/health_check/check_tftp.py
parent6234176ae292a75dcda5520324cb7857d6105988 (diff)
Merge compass-tasks-osa and compass-tasks-k8s
JIRA: COMPASS-568 rename compass-tasks to compass-tasks-base. add both osa and k8s support in compass-tasks Change-Id: I438f5b17e509d4cb751ced0ffe640ec70899882f Signed-off-by: Harry Huang <huangxiangyu5@huawei.com>
Diffstat (limited to 'compass-tasks/actions/health_check/check_tftp.py')
-rw-r--r--compass-tasks/actions/health_check/check_tftp.py96
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