diff options
author | Harry Huang <huangxiangyu5@huawei.com> | 2017-11-17 14:53:44 +0800 |
---|---|---|
committer | Harry Huang <huangxiangyu5@huawei.com> | 2017-12-21 16:36:30 +0800 |
commit | 8646b8d62cf4ca7b6bccae537a0c9e72ba45eab3 (patch) | |
tree | 73a9a983e0dd1423e9df928a78a5023a09d5a7f9 /compass-tasks/actions/health_check/check_celery.py | |
parent | 6234176ae292a75dcda5520324cb7857d6105988 (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_celery.py')
-rw-r--r-- | compass-tasks/actions/health_check/check_celery.py | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/compass-tasks/actions/health_check/check_celery.py b/compass-tasks/actions/health_check/check_celery.py deleted file mode 100644 index 2d8d27c..0000000 --- a/compass-tasks/actions/health_check/check_celery.py +++ /dev/null @@ -1,115 +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 Celery.""" -import commands -import os - -from celery.task.control import inspect - -from compass.actions.health_check import base -from compass.actions.health_check import utils as health_check_utils - - -class CeleryCheck(base.BaseCheck): - """celery health check class.""" - NAME = "Celery Check." - - def run(self): - """do health check.""" - self.check_compass_celery_setting() - print "[Done]" - self.check_celery_backend() - print "[Done]" - if self.code == 1: - self.messages.append("[%s]Info: Celery health check " - "has completed. No problems found, " - "all systems go." % self.NAME) - return (self.code, self.messages) - - def check_compass_celery_setting(self): - """Validates Celery settings.""" - - print "Checking Celery setting......", - setting_map = { - 'logfile': 'CELERY_LOGFILE', - 'configdir': 'CELERYCONFIG_DIR', - 'configfile': 'CELERYCONFIG_FILE', - } - unset = [] - res = health_check_utils.validate_setting('Celery', - self.config, - 'CELERY_LOGFILE') - if res is False: - unset.append(setting_map["logfile"]) - self._set_status(0, res) - - res = health_check_utils.validate_setting('Celery', - self.config, - 'CELERYCONFIG_DIR') - if res is False: - unset.append(setting_map["configdir"]) - self._set_status(0, res) - - res = health_check_utils.validate_setting('Celery', - self.config, - 'CELERYCONFIG_FILE') - if res is False: - unset.append(setting_map["configdir"]) - self._set_status(0, res) - - if len(unset) != 0: - self._set_status(0, - "[%s]Error: Unset celery settings: %s" - " in /etc/compass/setting" - % (self.NAME, ', '.join(item for item in unset))) - return True - - def check_celery_backend(self): - """Checks if Celery backend is running and configured properly.""" - - print "Checking Celery Backend......", - if 'celery worker' not in commands.getoutput('ps -ef'): - self._set_status(0, "[%s]Error: celery is not running" % self.NAME) - return True - - if not os.path.exists('/etc/compass/celeryconfig'): - self._set_status( - 0, - "[%s]Error: No celery config file found for Compass" - % self.NAME) - return True - - try: - insp = inspect() - celery_stats = inspect.stats(insp) - if not celery_stats: - self._set_status( - 0, - "[%s]Error: No running Celery workers were found." - % self.NAME) - except IOError as error: - self._set_status( - 0, - "[%s]Error: Failed to connect to the backend: %s" - % (self.NAME, str(error))) - from errno import errorcode - if ( - len(error.args) > 0 and - errorcode.get(error.args[0]) == 'ECONNREFUSED' - ): - self.messages.append( - "[%s]Error: RabbitMQ server isn't running" - % self.NAME) - return True |