X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=smo-install%2Ftest%2Fpythonsdk%2Fsrc%2Forantests%2Fsmo%2Fonap.py;fp=smo-install%2Ftest%2Fpythonsdk%2Fsrc%2Forantests%2Fsmo%2Fonap.py;h=a4941307b6cc3bfb3209632485809209bac841b4;hb=6c7e3c3c5e51182a891a2a21676f1cc2646ba484;hp=0000000000000000000000000000000000000000;hpb=8b713ed09d061baacf624a533be3351e7dcb0500;p=it%2Fdep.git diff --git a/smo-install/test/pythonsdk/src/orantests/smo/onap.py b/smo-install/test/pythonsdk/src/orantests/smo/onap.py new file mode 100644 index 00000000..a4941307 --- /dev/null +++ b/smo-install/test/pythonsdk/src/orantests/smo/onap.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 +### +# ============LICENSE_START======================================================= +# ORAN SMO PACKAGE - PYTHONSDK TESTS +# ================================================================================ +# Copyright (C) 2021-2022 AT&T Intellectual Property. All rights +# reserved. +# ================================================================================ +# 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. +# ============LICENSE_END============================================ +# =================================================================== +# +### + +"""Onap k8s module.""" +import logging + +import logging.config + +from subprocess import check_output,run +from onapsdk.configuration import settings + +logging.config.dictConfig(settings.LOG_CONFIG) +logger = logging.getLogger("Onap k8s") + +class Onap(): + """Can be used to check onap platform in K8S.""" + + @classmethod + def is_onap_up(cls) -> bool: + """Verify if ONAP platform is up or not.""" + cmd = "kubectl get pods --field-selector 'status.phase=Failed' -n onap -o name | xargs kubectl delete -n onap" + run(cmd, shell=True) + cmd = "kubectl get pods --field-selector status.phase!=Running -n onap | wc -l" + result = check_output(cmd, shell=True).decode('utf-8') + logger.info("Number of Onap pods not in Running state (expected <= 8): %s", result) + if int(result) <= 8: + logger.info("ONAP is Up") + return True + logger.info("ONAP is Down") + return False