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/log_analyzor/progress_calculator.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/log_analyzor/progress_calculator.py')
-rw-r--r-- | compass-tasks/log_analyzor/progress_calculator.py | 208 |
1 files changed, 0 insertions, 208 deletions
diff --git a/compass-tasks/log_analyzor/progress_calculator.py b/compass-tasks/log_analyzor/progress_calculator.py deleted file mode 100644 index b0f35f2..0000000 --- a/compass-tasks/log_analyzor/progress_calculator.py +++ /dev/null @@ -1,208 +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 provide updating installing process function. - - .. moduleauthor:: Xiaodong Wang <xiaodongwang@huawei.com> -""" -import logging - -from compass.log_analyzor.adapter_matcher import OSMatcher -from compass.log_analyzor.adapter_matcher import PackageMatcher -from compass.log_analyzor.environment import ENV_GLOBALS -from compass.log_analyzor.environment import ENV_LOCALS -from compass.log_analyzor.file_matcher import FileReaderFactory - -from compass.utils import setting_wrapper as setting -from compass.utils import util - -OS_ADAPTER_CONFIGURATIONS = None -PACKAGE_ADAPTER_CONFIGURATIONS = None -PROGRESS_CALCULATOR_CONFIGURATIONS = None - - -def _load_calculator_configurations(force=False): - global PROGRESS_CALCULATOR_CONFIGURATIONS - if force or PROGRESS_CALCULATOR_CONFIGURATIONS is None: - env_locals = {} - env_locals.update(ENV_GLOBALS) - env_locals.update(ENV_LOCALS) - PROGRESS_CALCULATOR_CONFIGURATIONS = util.load_configs( - setting.PROGRESS_CALCULATOR_DIR, - env_locals=env_locals - ) - if not PROGRESS_CALCULATOR_CONFIGURATIONS: - logging.info('No configuration found for progress calculator.') - - global OS_ADAPTER_CONFIGURATIONS - if force or OS_ADAPTER_CONFIGURATIONS is None: - OS_ADAPTER_CONFIGURATIONS = [] - for progress_calculator_configuration in ( - PROGRESS_CALCULATOR_CONFIGURATIONS - ): - if 'OS_LOG_CONFIGURATIONS' in ( - progress_calculator_configuration - ): - os_installer_configurations = ( - progress_calculator_configuration['OS_LOG_CONFIGURATIONS'] - ) - for os_installer_configuration in os_installer_configurations: - OS_ADAPTER_CONFIGURATIONS.append(OSMatcher( - os_installer_name=( - os_installer_configuration['os_installer_name'] - ), - os_pattern=os_installer_configuration['os_pattern'], - item_matcher=( - os_installer_configuration['item_matcher'] - ), - file_reader_factory=FileReaderFactory( - os_installer_configuration['logdir'] - ) - )) - if not OS_ADAPTER_CONFIGURATIONS: - logging.info( - 'no OS_LOG_CONFIGURATIONS section found ' - 'in progress calculator.' - ) - else: - logging.debug( - 'OS_ADAPTER_CONFIGURATIONS is\n%s', - OS_ADAPTER_CONFIGURATIONS - ) - - global PACKAGE_ADAPTER_CONFIGURATIONS - if force or PACKAGE_ADAPTER_CONFIGURATIONS is None: - PACKAGE_ADAPTER_CONFIGURATIONS = [] - for progress_calculator_configuration in ( - PROGRESS_CALCULATOR_CONFIGURATIONS - ): - if 'ADAPTER_LOG_CONFIGURATIONS' in ( - progress_calculator_configuration - ): - package_installer_configurations = ( - progress_calculator_configuration[ - 'ADAPTER_LOG_CONFIGURATIONS' - ] - ) - for package_installer_configuration in ( - package_installer_configurations - ): - PACKAGE_ADAPTER_CONFIGURATIONS.append(PackageMatcher( - package_installer_name=( - package_installer_configuration[ - 'package_installer_name' - ] - ), - adapter_pattern=( - package_installer_configuration['adapter_pattern'] - ), - item_matcher=( - package_installer_configuration['item_matcher'] - ), - file_reader_factory=FileReaderFactory( - package_installer_configuration['logdir'] - ) - )) - if not PACKAGE_ADAPTER_CONFIGURATIONS: - logging.info( - 'no PACKAGE_LOG_CONFIGURATIONS section found ' - 'in progress calculator.' - ) - else: - logging.debug( - 'PACKAGE_ADAPTER_CONFIGURATIONS is\n%s', - PACKAGE_ADAPTER_CONFIGURATIONS - ) - - -def load_calculator_configurations(force_reload=False): - _load_calculator_configurations(force=force_reload) - - -def _get_os_matcher(os_installer_name, os_name): - """Get OS adapter matcher by os name and installer name.""" - _load_calculator_configurations() - for configuration in OS_ADAPTER_CONFIGURATIONS: - if configuration.match(os_installer_name, os_name): - return configuration - else: - logging.debug('configuration %s does not match %s and %s', - configuration, os_name, os_installer_name) - logging.error('No configuration found for os installer %s os %s', - os_installer_name, os_name) - return None - - -def _get_package_matcher( - package_installer_name, adapter_name -): - """Get package adapter matcher by adapter name and installer name.""" - _load_calculator_configurations() - for configuration in PACKAGE_ADAPTER_CONFIGURATIONS: - if configuration.match( - package_installer_name, - adapter_name - ): - return configuration - else: - logging.debug('configuration %s does not match %s and %s', - configuration, adapter_name, - package_installer_name) - logging.error('No configuration found for package installer %s adapter %s', - package_installer_name, adapter_name) - return None - - -def update_host_progress(host_mappping): - for host_id, (host, host_state, host_log_history_mapping) in ( - host_mappping.items() - ): - os_name = host['os_name'] - os_installer_name = host['os_installer']['name'] - os_matcher = _get_os_matcher( - os_installer_name, os_name - ) - if not os_matcher: - continue - name = host[setting.HOST_INSTALLATION_LOGDIR_NAME] - os_matcher.update_progress( - name, host_state, host_log_history_mapping - ) - - -def update_clusterhost_progress(clusterhost_mapping): - for ( - clusterhost_id, - (clusterhost, clusterhost_state, clusterhost_log_history_mapping) - ) in ( - clusterhost_mapping.items() - ): - adapter_name = clusterhost['adapter_name'] - package_installer_name = clusterhost['package_installer']['name'] - package_matcher = _get_package_matcher( - package_installer_name, - adapter_name - ) - if not package_matcher: - continue - name = clusterhost[setting.CLUSTERHOST_INATALLATION_LOGDIR_NAME] - package_matcher.update_progress( - name, clusterhost_state, - clusterhost_log_history_mapping - ) - - -def update_cluster_progress(cluster_mapping): - for cluster_id, (cluster, cluster_state) in cluster_mapping.items(): - pass |