summaryrefslogtreecommitdiffstats
path: root/compass-tasks/log_analyzor/adapter_matcher.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/log_analyzor/adapter_matcher.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/log_analyzor/adapter_matcher.py')
-rw-r--r--compass-tasks/log_analyzor/adapter_matcher.py126
1 files changed, 0 insertions, 126 deletions
diff --git a/compass-tasks/log_analyzor/adapter_matcher.py b/compass-tasks/log_analyzor/adapter_matcher.py
deleted file mode 100644
index 8630e01..0000000
--- a/compass-tasks/log_analyzor/adapter_matcher.py
+++ /dev/null
@@ -1,126 +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 provider installing progress calculation for the adapter.
-
- .. moduleauthor:: Xiaodong Wang <xiaodongwang@huawei.com>
-"""
-import logging
-import re
-
-
-class AdapterItemMatcher(object):
- """Progress matcher for the os installing or package installing."""
-
- def __init__(self, file_matchers):
- self.file_matchers_ = file_matchers
-
- def __repr__(self):
- return '%r[file_matchers: %r]' % (
- self.__class__.__name__, self.file_matchers_
- )
-
- def update_progress(
- self, file_reader_factory, name, state, log_history_mapping
- ):
- """Update progress.
-
- :param name: the fullname of the installing host.
- :type name: str
- :param progress: Progress instance to update.
- """
- for file_matcher in self.file_matchers_:
- filename = file_matcher.filename_
- if filename not in log_history_mapping:
- log_history_mapping[filename] = {
- 'filename': filename,
- 'partial_line': '',
- 'position': 0,
- 'line_matcher_name': 'start',
- 'percentage': 0.0,
- 'message': '',
- 'severity': 'INFO'
- }
- log_history = log_history_mapping[filename]
- file_matcher.update_progress(
- file_reader_factory, name, state, log_history
- )
-
-
-class OSMatcher(object):
- """Progress matcher for os installer."""
-
- def __init__(
- self, os_installer_name,
- os_pattern, item_matcher,
- file_reader_factory
- ):
- self.name_ = re.compile(os_installer_name)
- self.os_regex_ = re.compile(os_pattern)
- self.matcher_ = item_matcher
- self.file_reader_factory_ = file_reader_factory
-
- def __repr__(self):
- return '%r[name:%r, os_pattern:%r, matcher:%r]' % (
- self.__class__.__name__, self.name_.pattern,
- self.os_regex_.pattern, self.matcher_)
-
- def match(self, os_installer_name, os_name):
- """Check if the os matcher is acceptable."""
- if os_name is None:
- return False
- else:
- return all([
- self.name_.match(os_installer_name),
- self.os_regex_.match(os_name)
- ])
-
- def update_progress(self, name, state, log_history_mapping):
- """Update progress."""
- self.matcher_.update_progress(
- self.file_reader_factory_, name, state, log_history_mapping)
-
-
-class PackageMatcher(object):
- """Progress matcher for package installer."""
-
- def __init__(
- self, package_installer_name, adapter_pattern,
- item_matcher, file_reader_factory
- ):
- self.name_ = re.compile(package_installer_name)
- self.adapter_regex_ = re.compile(adapter_pattern)
- self.matcher_ = item_matcher
- self.file_reader_factory_ = file_reader_factory
-
- def __repr__(self):
- return '%s[name:%s, adapter_pattern:%s, matcher:%s]' % (
- self.__class__.__name__, self.name_.pattern,
- self.adapter_regex_.pattern, self.matcher_)
-
- def match(self, package_installer_name, adapter_name):
- """Check if the package matcher is acceptable."""
- if package_installer_name is None:
- return False
- else:
- return all([
- self.name_.match(package_installer_name),
- self.adapter_regex_.match(adapter_name)
- ])
-
- def update_progress(self, name, state, log_history_mapping):
- """Update progress."""
- self.matcher_.update_progress(
- self.file_reader_factory_, name, state, log_history_mapping
- )