diff options
Diffstat (limited to 'sdv/docker/sdvstate/validator/airship/airship.py')
-rw-r--r-- | sdv/docker/sdvstate/validator/airship/airship.py | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/sdv/docker/sdvstate/validator/airship/airship.py b/sdv/docker/sdvstate/validator/airship/airship.py deleted file mode 100644 index f2bdebd..0000000 --- a/sdv/docker/sdvstate/validator/airship/airship.py +++ /dev/null @@ -1,129 +0,0 @@ -# Copyright 2020 University Of Delhi. -# -# 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. - - -""" -Airship Validator -""" - -import logging -from datetime import datetime as dt - -from tools.conf import settings -from tools.kube_utils import load_kube_api, delete_kube_curl_pod -from validator.validator import Validator - -from . import * - - - - - -class AirshipValidator(Validator): - """Class for Airship Validation - """ - - def __init__(self): - """ - Initialisation function. - """ - super(AirshipValidator, self).__init__() - self._logger = logging.getLogger(__name__) - - self._report = {"installer": "Airship", - "criteria": "pass", - "details": {"total_checks": 0, - "pass": [], - "fail": [], - "metadata": {} - } - } - - load_kube_api() - - - def validate(self): - """ - Validation method - """ - - self._report['scenario'] = 'none' - self._report['case_name'] = 'ook_airship' - self._report['start_date'] = dt.now().strftime('%Y-%m-%d %H:%M:%S') - - - # PLATFORM CHECKS - self.update_report(pod_health_check()) - - # STORAGE CHECKS - self.update_report(ceph_health_check()) - - # MONITORING & LOGGING AGENTS CHECKS - self.update_report(prometheus_check()) - self.update_report(grafana_check()) - ## current version of AlertManager doesn't support this - # prometheus_alert_manager_check() - self.update_report(elasticsearch_check()) - self.update_report(kibana_check()) - self.update_report(nagios_check()) - self.update_report(elasticsearch_exporter_check()) - self.update_report(fluentd_exporter_check()) - - # NETWORK CHECKS - self.update_report(physical_network_check()) - - # COMPUTE CHECKS - self.update_report(reserved_vnf_cores_check()) - self.update_report(isolated_cores_check()) - self.update_report(vswitch_pmd_cores_check()) - self.update_report(vswitch_dpdk_lcores_check()) - self.update_report(os_reserved_cores_check()) - self.update_report(nova_scheduler_filters_check()) - self.update_report(cpu_allocation_ratio_check()) - - delete_kube_curl_pod() - - self._report['stop_date'] = dt.now().strftime('%Y-%m-%d %H:%M:%S') - - - def update_report(self, result): - """ - Updates report with new results - """ - case_name = result['case_name'] - criteria = result['criteria'] - - self._report['details']['total_checks'] += 1 - if criteria == 'pass': - self._report['details']['pass'].append(case_name) - elif criteria == 'fail': - self._report['details']['fail'].append(case_name) - self._report['criteria'] = 'fail' - - - - def get_report(self): - """ - Return final report as dict - """ - self._report["project_name"] = settings.getValue("project_name") - self._report["version"] = settings.getValue("project_version") - self._report["build_tag"] = "none" - - pdf = settings.getValue('pdf_file') - self._report["pod_name"] = pdf['management_info']['resource_pool_name'] - - store_result(self._report) - - return self._report |