summaryrefslogtreecommitdiffstats
path: root/compass-tasks/actions/health_check/check_celery.py
diff options
context:
space:
mode:
Diffstat (limited to 'compass-tasks/actions/health_check/check_celery.py')
-rw-r--r--compass-tasks/actions/health_check/check_celery.py115
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