X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=ta%2Fcloudtaf.git;a=blobdiff_plain;f=testcases%2Fpm-support%2Fpm-suppot.robot;fp=testcases%2Fpm-support%2Fpm-suppot.robot;h=9e9e593900e969a67e8cae9226de0c49716242a0;hp=0000000000000000000000000000000000000000;hb=fab50fee1cc75156a4113a20dcbb13e41ca2a7c4;hpb=15c350f3e5491c681ead4de5b049693d50d53fc7 diff --git a/testcases/pm-support/pm-suppot.robot b/testcases/pm-support/pm-suppot.robot new file mode 100644 index 0000000..9e9e593 --- /dev/null +++ b/testcases/pm-support/pm-suppot.robot @@ -0,0 +1,93 @@ +# Copyright 2019 Nokia +# +# 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. + +*** Settings *** +Library Collections +Library cluster.cluster.Cluster WITH NAME Cluster +Library crl.remotesession.remotesession.RemoteSession +... WITH NAME RemoteSession +Resource ssh.robot +Test Setup ssh.Setup Connections + +*** Variables *** +${docker_image_name} registry.kube-system.svc.rec.io:5555/custom_metrics_test +${docker_image_tag} 0.1 +${docker_image} ${docker_image_name}:${docker_image_tag} +${test_base_dir} /cloudtaf/testcases/pm-support/misc +${custom_metrics_yaml_name} custom-metrics-test-dep.yaml +${custom_metrics_pod_name} custommetrics + +*** Keywords *** +Create Custom Metrics Docker Image + [Arguments] ${node}=sudo-default + ${cmd}= cd ${test_base_dir} | docker build --network=host --no-cache --force-rm --tag ${docker_image_name}:${docker_image_tag} . + ${output}= Ssh.Execute Command ${cmd} ${node} + +Push Custom Metrics Image + [Arguments] ${node}=sudo-default + ${cmd}= docker push ${docker_image} + ${output}= Ssh.Execute Command ${cmd} ${node} + +Delete Custom Metrics Image + [Arguments] ${node}=sudo-default + ${cmd}= docker rmi ${docker_image} ${docker_image} + ${output}= Ssh.Execute Command ${cmd} ${node} + +Delete Custom Metrics Pod + [Arguments] ${node}=sudo-default + ${cmd}= kubectl delete pod ${custom_metrics_pod_name} + ${output}= Ssh.Execute Command ${cmd} ${node} + +Apply deployment yaml + [Arguments] ${node}=sudo-default + ${cmd}= kubectl apply -f ${test_base_dir}/${custom_metrics_yaml_name} + ${output}= Ssh.Execute Command ${cmd} ${node} + ${cmd}= kubectl get po -n kube-system | grep ${custom_metrics_pod_name} + ${output}= Ssh.Execute Command ${cmd} ${node} + Should not be empty ${output.stdout} + +Check custom metrics + [Arguments] ${node}=sudo-default + ${cmd}= Set Variable kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta1 + ${output}= Ssh.Execute Command ${cmd} ${node} + ${cmd}= Set Variable kubectl get –raw "/apis/custom.metrics.k8s.io/v1beta1/namespaces/kube-system/pods/*/http_requests + ${output}= Ssh.Execute Command ${cmd} ${node} + +Custom Metrics Teardown + Delete Custom Metrics Pod + Delete Custom Metrics Image + +Check kubectl api + [Arguments] ${node}=sudo-default + ${cmd}= Set Variable kubectl api-versions | grep metrics + ${output}= Ssh.Execute Command ${cmd} ${node} + Should Contain ${output} custom.metrics.k8s.io/v1beta1 + Should Contain ${output} metrics.k8s.io/v1beta1 + +Check Core Metrics + [Arguments] ${node}=sudo-default + ${cmd}= Set Variable kubectl top node + ${output}= Ssh.Execute Command ${cmd} ${node} + Should Not Contain ${output} " 0m" + Should Not Contain ${output} " 0Mi" + + +*** Test Cases *** + +PM001 + Check Core Metrics + +PM002 + Check kubectl api +