Changed the way to access juju data in k8s_08 testsuite.
Now juju commands are executed via SSH on the OSM host and it is not necessary to have juju installed on the client.
Deleted k8s_08-simple_k8s_scaling_data.py (obsolete).
Change-Id: I0cffb5e227f57a6e12555c7120e3faf4956857ca
Signed-off-by: aguilard <e.dah.tid@telefonica.com>
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/robot-systest/lib/juju_lib.robot b/robot-systest/lib/juju_lib.robot
index 2eab9bf..94db455 100644
--- a/robot-systest/lib/juju_lib.robot
+++ b/robot-systest/lib/juju_lib.robot
@@ -16,21 +16,19 @@
*** Keywords ***
Get Scale Number
- [Arguments] ${application_name} ${model_name}
+ [Arguments] ${host} ${username} ${password} ${privatekey} ${application_name} ${model_name}
Should Not Be Empty ${application_name} ${model_name}
- ${rc} ${stdout}= Run and Return RC and Output juju show-status ${application_name} --format yaml -m ${model_name} | grep scale | awk -F ': ' '{print $2}'
+ ${stdout}= Execute Remote Command Check Rc Return Output ${host} ${username} ${password} ${privatekey} juju show-status ${application_name} --format yaml -m ${model_name} | grep scale | awk -F ': ' '{print $2}'
log ${stdout}
- Should Be Equal As Integers ${rc} ${success_return_code}
[Return] ${stdout}
Get Model Name
- [Arguments] ${ns_id} ${kdu_name}
+ [Arguments] ${host} ${username} ${password} ${privatekey} ${ns_id} ${kdu_name}
Should Not Be Empty ${ns_id} ${kdu_name}
- ${rc} ${stdout}= Run and Return RC and Output juju models | grep -i ${kdu_name} | grep -i ${ns_id} | cut -f1 -d " "
+ ${stdout}= Execute Remote Command Check Rc Return Output ${host} ${username} ${password} ${privatekey} juju models | grep -i ${kdu_name} | grep -i ${ns_id} | cut -f1 -d " "
log ${stdout}
- Should Be Equal As Integers ${rc} ${success_return_code}
${model_name}= Set Variable ${kdu_name}-${ns_id}
Should Be Equal As Strings ${model_name} ${stdout}
- [Return] ${stdout}
\ No newline at end of file
+ [Return] ${stdout}
diff --git a/robot-systest/resources/k8s_08-simple_k8s_scaling_data.py b/robot-systest/resources/k8s_08-simple_k8s_scaling_data.py
deleted file mode 100644
index 669ffe0..0000000
--- a/robot-systest/resources/k8s_08-simple_k8s_scaling_data.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# 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 = 'charm-packages/native_k8s_scale_charm_vnf'
-nsd_pkg = 'charm-packages/native_k8s_scale_charm_ns'
-# NS and VNF descriptor package files
-vnfd_name = 'native_k8s_scale_charm-vnf'
-nsd_name = 'native_k8s_scale_charm-ns'
-# NS instance name
-ns_name = 'native-k8s-scale'
-# Scaling group name
-scaling_group = 'scale-kdu'
-# SSH keys to be used
-publickey = home + '/.ssh/id_rsa.pub'
-privatekey = home + '/.ssh/id_rsa'
diff --git a/robot-systest/testsuite/k8s_08-simple_k8s_scaling.robot b/robot-systest/testsuite/k8s_08-simple_k8s_scaling.robot
index 9b7f0f2..b2d33df 100644
--- a/robot-systest/testsuite/k8s_08-simple_k8s_scaling.robot
+++ b/robot-systest/testsuite/k8s_08-simple_k8s_scaling.robot
@@ -17,32 +17,48 @@
Library String
Library Collections
Library Process
+Library SSHLibrary
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/package_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
Resource %{ROBOT_DEVOPS_FOLDER}/lib/juju_lib.robot
-Variables %{ROBOT_DEVOPS_FOLDER}/resources/k8s_08-simple_k8s_scaling_data.py
-
-Force Tags k8s_08 cluster_k8s daily regression sanity
+Force Tags k8s_08 cluster_k8s daily regression
Suite Teardown Run Keyword And Ignore Error Suite Cleanup
*** Variables ***
-${ns_id} ${EMPTY}
-${model_name} ${EMPTY}
+# K8s cluster name and version
+${k8scluster_name} k8s-test
+${k8scluster_version} v1
+
+# NS and VNF descriptor package folder and ids
+${vnfd_pkg} charm-packages/native_k8s_scale_charm_vnf
+${vnfd_name} native_k8s_scale_charm-vnf
+${nsd_pkg} charm-packages/native_k8s_scale_charm_ns
+${nsd_name} native_k8s_scale_charm-ns
+
+# NS instance name and configuration
+${ns_name} native-k8s-scale
${ns_config} {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] }
-${publickey} ${EMPTY}
+${ns_id} ${EMPTY}
+${publickey} %{HOME}/.ssh/id_rsa.pub
+
+# Username and SSH private key for accessing OSM host
+${username} ubuntu
+${password} ${EMPTY}
+${privatekey} %{OSM_RSA_FILE}
+
+${model_name} ${EMPTY}
${vnf_member_index} native_k8s_scale_charm-vnf
${action_name} changecontent
${kdu_name} native-kdu
${application_name} nginx
+${scaling_group} scale-kdu
*** Test Cases ***
Create Simple K8s Scale VNF Descriptor
@@ -62,14 +78,14 @@
[Documentation] Get the model name of the network service k8s instance
Variable Should Exist ${ns_id} msg=Network service instance is not available
- ${name}= Get Model Name ${ns_id} ${kdu_name}
+ ${name}= Get Model Name %{OSM_HOSTNAME} ${username} ${password} ${privatekey} ${ns_id} ${kdu_name}
Set Suite Variable ${model_name} ${name}
Get Scale Count Before Scale Out
[Documentation] Get the scale count of the application of network service k8s instance
Variable Should Exist ${model_name} msg=Model name is not available
- ${kdu_count}= Get Scale Number ${application_name} ${model_name}
+ ${kdu_count}= Get Scale Number %{OSM_HOSTNAME} ${username} ${password} ${privatekey} ${application_name} ${model_name}
Set Suite Variable ${initial_kdu_count} ${kdu_count}
Perform Manual KDU Scale Out
@@ -81,7 +97,7 @@
[Documentation] Check whether the scale count is more than one.
Variable Should Exist ${initial_kdu_count} msg=Initial KDU count is not available
- ${kdu_count}= Get Scale Number ${application_name} ${model_name}
+ ${kdu_count}= Get Scale Number %{OSM_HOSTNAME} ${username} ${password} ${privatekey} ${application_name} ${model_name}
Run Keyword Unless ${kdu_count} == ${initial_kdu_count} + 1 Fail msg=There is no new KDU in the model after Scale Out
Perform Manual KDU Scale In
@@ -92,7 +108,7 @@
Check Scale Count After Scale In
[Documentation] Check whether the scale count is one less.
- ${kdu_count}= Get Scale Number ${application_name} ${model_name}
+ ${kdu_count}= Get Scale Number %{OSM_HOSTNAME} ${username} ${password} ${privatekey} ${application_name} ${model_name}
Run Keyword Unless ${kdu_count} == ${initial_kdu_count} Fail msg=There is the same number of KDU in the model after Scale In
Delete NS K8s Instance Test
@@ -111,11 +127,6 @@
[Tags] cleanup
Delete VNFD ${vnfd_name}
-Delete VNF NS Packages
- [Tags] cleanup
- Delete Package '%{PACKAGES_FOLDER}/${vnfd_pkg}'
- Delete Package '%{PACKAGES_FOLDER}/${nsd_pkg}'
-
*** Keywords ***
Suite Cleanup