Changed the way to access juju data in k8s_08 testsuite. 02/11202/1
authoraguilard <e.dah.tid@telefonica.com>
Thu, 12 Aug 2021 08:44:17 +0000 (10:44 +0200)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Fri, 24 Sep 2021 11:33:33 +0000 (13:33 +0200)
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>
robot-systest/lib/juju_lib.robot
robot-systest/resources/k8s_08-simple_k8s_scaling_data.py [deleted file]
robot-systest/testsuite/k8s_08-simple_k8s_scaling.robot

index 2eab9bf..94db455 100644 (file)
@@ -16,21 +16,19 @@ ${success_return_code}   0
 
 *** 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 (file)
index 669ffe0..0000000
+++ /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'
index 9b7f0f2..b2d33df 100644 (file)
@@ -17,32 +17,48 @@ Library   OperatingSystem
 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 ***
+# 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}} ] }
 ${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}
-${ns_config}   {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] }
-${publickey}   ${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 @@ Get KDU Model Name
     [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 @@ Check Scale Count After Scale Out
     [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 @@ Perform Manual KDU Scale In
 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 @@ Delete VNF Descriptor Test
     [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