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/tasks | |
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/tasks')
-rw-r--r-- | compass-tasks/tasks/__init__.py | 13 | ||||
-rw-r--r-- | compass-tasks/tasks/client.py | 33 | ||||
-rw-r--r-- | compass-tasks/tasks/tasks.py | 326 |
3 files changed, 0 insertions, 372 deletions
diff --git a/compass-tasks/tasks/__init__.py b/compass-tasks/tasks/__init__.py deleted file mode 100644 index 4ee55a4..0000000 --- a/compass-tasks/tasks/__init__.py +++ /dev/null @@ -1,13 +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. diff --git a/compass-tasks/tasks/client.py b/compass-tasks/tasks/client.py deleted file mode 100644 index ca7ad14..0000000 --- a/compass-tasks/tasks/client.py +++ /dev/null @@ -1,33 +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. - -"""Module to setup celery client. - - .. moduleauthor:: Xiaodong Wang <xiaodongwang@huawei.com> - - .. note:: - If CELERY_CONFIG_MODULE is set in environment, load celery config from - the filename declared in CELERY_CONFIG_MODULE. -""" -import os - -from celery import Celery - - -celery = Celery(__name__) -if 'CELERY_CONFIG_MODULE' in os.environ: - celery.config_from_envvar('CELERY_CONFIG_MODULE') -else: - from compass.utils import celeryconfig_wrapper as celeryconfig - celery.config_from_object(celeryconfig) diff --git a/compass-tasks/tasks/tasks.py b/compass-tasks/tasks/tasks.py deleted file mode 100644 index f649afd..0000000 --- a/compass-tasks/tasks/tasks.py +++ /dev/null @@ -1,326 +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. - -"""Module to define celery tasks. - - .. moduleauthor:: Xiaodong Wang <xiaodongwang@huawei.com> -""" -import logging - -from celery.signals import celeryd_init -from celery.signals import setup_logging - -from compass.actions import clean -from compass.actions import delete -from compass.actions import deploy -from compass.actions import install_callback -from compass.actions import patch -from compass.actions import poll_switch -from compass.actions import update_progress -from compass.db.api import adapter_holder as adapter_api -from compass.db.api import database -from compass.db.api import metadata_holder as metadata_api -from compass.log_analyzor import progress_calculator - -from compass.tasks.client import celery -from compass.utils import flags -from compass.utils import logsetting -from compass.utils import setting_wrapper as setting - - -@celeryd_init.connect() -def global_celery_init(**_): - """Initialization code.""" - flags.init() - flags.OPTIONS.logfile = setting.CELERY_LOGFILE - logsetting.init() - database.init() - adapter_api.load_adapters() - metadata_api.load_metadatas() - adapter_api.load_flavors() - progress_calculator.load_calculator_configurations() - - -@setup_logging.connect() -def tasks_setup_logging(**_): - """Setup logging options from compass setting.""" - flags.init() - flags.OPTIONS.logfile = setting.CELERY_LOGFILE - logsetting.init() - - -@celery.task(name='compass.tasks.pollswitch') -def pollswitch( - poller_email, ip_addr, credentials, - req_obj='mac', oper='SCAN' -): - """Query switch and return expected result. - - :param ip_addr: switch ip address. - :type ip_addr: str - :param credentials: switch credentials - :type credentials: dict - :param reqObj: the object requested to query from switch. - :type reqObj: str - :param oper: the operation to query the switch (SCAN, GET, SET). - :type oper: str - """ - try: - poll_switch.poll_switch( - poller_email, ip_addr, credentials, - req_obj=req_obj, oper=oper - ) - except Exception as error: - logging.exception(error) - - -@celery.task(name='compass.tasks.cluster_health') -def health_check(cluster_id, send_report_url, useremail): - """Verify the deployed cluster functionally works. - - :param cluster_id: ID of the cluster - :param send_report_url: The URL which reports should send back - """ - try: - deploy.health_check(cluster_id, send_report_url, useremail) - except Exception as error: - logging.exception(error) - - -@celery.task(name='compass.tasks.deploy_cluster') -def deploy_cluster(deployer_email, cluster_id, clusterhost_ids): - """Deploy the given cluster. - - :param cluster_id: id of the cluster - :type cluster_id: int - :param clusterhost_ids: the id of the hosts in the cluster - :type clusterhost_ids: list of int - """ - try: - deploy.deploy(cluster_id, clusterhost_ids, deployer_email) - except Exception as error: - logging.exception(error) - - -@celery.task(name='compass.tasks.redeploy_cluster') -def redeploy_cluster(deployer_email, cluster_id): - """Redeploy the given cluster. - - :param cluster_id: id of the cluster - :type cluster_id: int - """ - try: - deploy.redeploy(cluster_id, deployer_email) - except Exception as error: - logging.exception(error) - - -@celery.task(name='compass.tasks.patch_cluster') -def patch_cluster(patcher_email, cluster_id): - """Patch the existing cluster. - - :param cluster_id: id of the cluster - :type cluster_id: int - """ - try: - patch.patch(cluster_id, patcher_email) - except Exception as error: - logging.exception(error) - - -@celery.task(name='compass.tasks.reinstall_cluster') -def reinstall_cluster(installer_email, cluster_id, clusterhost_ids): - """reinstall the given cluster. - - :param cluster_id: id of the cluster - :type cluster_id: int - :param clusterhost_ids: the id of the hosts in the cluster - :type clusterhost_ids: list of int - """ - try: - deploy.redeploy(cluster_id, clusterhost_ids, installer_email) - except Exception as error: - logging.exception(error) - - -@celery.task(name='compass.tasks.delete_cluster') -def delete_cluster( - deleter_email, cluster_id, clusterhost_ids, - delete_underlying_host=False -): - """Delete the given cluster. - - :param cluster_id: id of the cluster - :type cluster_id: int - :param clusterhost_ids: the id of the hosts in the cluster - :type clusterhost_ids: list of int - """ - try: - delete.delete_cluster( - cluster_id, clusterhost_ids, deleter_email, - delete_underlying_host=delete_underlying_host - ) - except Exception as error: - logging.exception(error) - - -@celery.task(name='compass.tasks.delete_cluster_host') -def delete_cluster_host( - deleter_email, cluster_id, host_id, - delete_underlying_host=False -): - """Delte the given cluster host. - - :param cluster_id: id of the cluster - :type cluster_id: int - :param host_id: id of the host - :type host_id: int - """ - try: - delete.delete_cluster_host( - cluster_id, host_id, deleter_email, - delete_underlying_host=delete_underlying_host - ) - except Exception as error: - logging.exception(error) - - -@celery.task(name='compass.tasks.delete_host') -def delete_host(deleter_email, host_id, cluster_ids): - """Delete the given host. - - :param host_id: id of the host - :type host_id: int - :param cluster_ids: list of cluster id - :type cluster_ids: list of int - """ - try: - delete.delete_host( - host_id, cluster_ids, deleter_email - ) - except Exception as error: - logging.exception(error) - - -@celery.task(name='compass.tasks.clean_os_installer') -def clean_os_installer( - os_installer_name, os_installer_settings -): - """Clean os installer.""" - try: - clean.clean_os_installer( - os_installer_name, os_installer_settings - ) - except Exception as error: - logging.excception(error) - - -@celery.task(name='compass.tasks.clean_package_installer') -def clean_package_installer( - package_installer_name, package_installer_settings -): - """Clean package installer.""" - try: - clean.clean_package_installer( - package_installer_name, package_installer_settings - ) - except Exception as error: - logging.excception(error) - - -@celery.task(name='compass.tasks.poweron_host') -def poweron_host(host_id): - """Deploy the given cluster.""" - pass - - -@celery.task(name='compass.tasks.poweroff_host') -def poweroff_host(host_id): - """Deploy the given cluster.""" - pass - - -@celery.task(name='compass.tasks.reset_host') -def reset_host(host_id): - """Deploy the given cluster.""" - pass - - -@celery.task(name='compass.tasks.poweron_machine') -def poweron_machine(machine_id): - """Deploy the given cluster.""" - pass - - -@celery.task(name='compass.tasks.poweroff_machine') -def poweroff_machine(machine_id): - """Deploy the given cluster.""" - pass - - -@celery.task(name='compass.tasks.reset_machine') -def reset_machine(machine_id): - """Deploy the given cluster.""" - pass - - -@celery.task(name='compass.tasks.os_installed') -def os_installed( - host_id, clusterhosts_ready, - clusters_os_ready -): - """callback when os is installed.""" - try: - install_callback.os_installed( - host_id, clusterhosts_ready, - clusters_os_ready - ) - except Exception as error: - logging.exception(error) - - -@celery.task(name='compass.tasks.package_installed') -def package_installed( - cluster_id, host_id, cluster_ready, host_ready -): - """callback when package is installed.""" - try: - install_callback.package_installed( - cluster_id, host_id, cluster_ready, host_ready - ) - except Exception as error: - logging.exception(error) - - -@celery.task(name='compass.tasks.cluster_installed') -def cluster_installed( - cluster_id, clusterhosts_ready -): - """callback when package is installed.""" - try: - install_callback.cluster_installed( - cluster_id, clusterhosts_ready - ) - except Exception as error: - logging.exception(error) - - -@celery.task(name='compass.tasks.update_progress') -def update_clusters_progress(): - """Calculate the installing progress of the given cluster.""" - logging.info('update_clusters_progress') - try: - update_progress.update_progress() - except Exception as error: - logging.exception(error) |