From d4277852fcaf03959bdd8efc37dd32b26fa3919f Mon Sep 17 00:00:00 2001 From: calvinosanc1 Date: Thu, 18 Jun 2020 12:07:19 +0200 Subject: [PATCH] KUBERNETES K8s-03 Robot Test Change-Id: I7c3aaf073457d4f38ff3c29700a039981ef382ed Signed-off-by: calvinosanc1 --- robot-systest/lib/nsd_lib.robot | 1 + .../resources/k8s_03-simple_k8s_data.py | 30 +++++++ .../testsuite/k8s_03-simple_k8s.robot | 78 +++++++++++++++++++ 3 files changed, 109 insertions(+) create mode 100644 robot-systest/resources/k8s_03-simple_k8s_data.py create mode 100644 robot-systest/testsuite/k8s_03-simple_k8s.robot diff --git a/robot-systest/lib/nsd_lib.robot b/robot-systest/lib/nsd_lib.robot index 56873099..c7ebbe75 100644 --- a/robot-systest/lib/nsd_lib.robot +++ b/robot-systest/lib/nsd_lib.robot @@ -55,6 +55,7 @@ Delete NSD [Arguments] ${nsd_id} ${rc} ${stdout}= Run Keyword And Continue On Failure Run and Return RC and Output osm nsd-delete ${nsd_id} + Should Be Equal As Integers ${rc} ${success_return_code} log ${stdout} WAIT UNTIL KEYWORD SUCCEEDS ${delete_max_wait_time} ${delete_pol_time} Check For NSD ${nsd_id} diff --git a/robot-systest/resources/k8s_03-simple_k8s_data.py b/robot-systest/resources/k8s_03-simple_k8s_data.py new file mode 100644 index 00000000..4ecfe595 --- /dev/null +++ b/robot-systest/resources/k8s_03-simple_k8s_data.py @@ -0,0 +1,30 @@ +# 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. + +from pathlib import Path + +# Get ${HOME} from local machine +home = str(Path.home()) +# K8s cluster name +k8scluster_name = 'k8s-test' +k8scluster_version = 'v1' +# NS and VNF descriptor package files +vnfd_pkg = 'hackfest_simple_k8s_vnfd.tar.gz' +nsd_pkg = 'hackfest_simple_k8s_nsd.tar.gz' +# NS and VNF descriptor package files +vnfd_name = 'hackfest-simple-k8s-vnfd' +nsd_name = 'hackfest-simple-k8s-nsd' +# NS instance name +ns_name = 'simple-k8s' +# SSH keys to be used +publickey = home + '/.ssh/id_rsa.pub' +privatekey = home + '/.ssh/id_rsa' diff --git a/robot-systest/testsuite/k8s_03-simple_k8s.robot b/robot-systest/testsuite/k8s_03-simple_k8s.robot new file mode 100644 index 00000000..6fd6551d --- /dev/null +++ b/robot-systest/testsuite/k8s_03-simple_k8s.robot @@ -0,0 +1,78 @@ +# 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 OperatingSystem +Library String +Library Collections +Library Process + +Resource %{ROBOT_DEVOPS_FOLDER}/lib/vnfd_lib.robot +Resource %{ROBOT_DEVOPS_FOLDER}/lib/nsd_lib.robot +Resource %{ROBOT_DEVOPS_FOLDER}/lib/ns_lib.robot +Resource %{ROBOT_DEVOPS_FOLDER}/lib/connectivity_lib.robot +Resource %{ROBOT_DEVOPS_FOLDER}/lib/ssh_lib.robot +Resource %{ROBOT_DEVOPS_FOLDER}/lib/k8scluster_lib.robot + +Variables %{ROBOT_DEVOPS_FOLDER}/resources/k8s_03-simple_k8s_data.py + +Suite Teardown Run Keyword And Ignore Error Test Cleanup + + +*** Variables *** +${ns_id} ${EMPTY} +${ns_config} {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] } +${publickey} ${EMPTY} + +*** Test Cases *** +Create Simple K8s VNF Descriptor + [Tags] simple_k8s + Create VNFD '%{PACKAGES_FOLDER}/${vnfd_pkg}' + +Create Simple K8s Descriptor + [Tags] simple_k8s + Create NSD '%{PACKAGES_FOLDER}/${nsd_pkg}' + +Add K8s Cluster To OSM + [Tags] k8scluster + Create K8s Cluster %{K8S_CREDENTIALS} ${k8scluster_version} %{VIM_TARGET} %{VIM_MGMT_NET} ${k8scluster_name} + +Network Service K8s Instance Test + [Tags] simple_k8s + ${id}= Create Network Service ${nsd_name} %{VIM_TARGET} ${ns_name} ${ns_config} ${publickey} + Set Suite Variable ${ns_id} ${id} + +Delete NS K8s Instance Test + [Tags] simple_k8s cleanup + Delete NS ${ns_name} + +Remove K8s Cluster from OSM + [Tags] k8scluster + Delete K8s Cluster ${k8scluster_name} + +Delete NS Descriptor Test + [Tags] simple_k8s cleanup + Delete NSD ${nsd_name} + +Delete VNF Descriptor Test + [Tags] simple_k8s cleanup + Delete VNFD ${vnfd_name} + + +*** Keywords *** +Test Cleanup + [Documentation] Test Suit Cleanup: Deleting Descriptor, instance and vim + Run Keyword If Test Failed Delete NS ${ns_name} + Run Keyword If Test Failed Delete NSD ${nsd_name} + Run Keyword If Test Failed Delete VNFD ${vnfd_name} + + -- 2.17.1