Initial tests contributions
[osm/tests.git] / robot-systest / testsuite / basic_05-instantiation_parameters_in_cloud_init.robot
1 #   Licensed under the Apache License, Version 2.0 (the "License");
2 #   you may not use this file except in compliance with the License.
3 #   You may obtain a copy of the License at
4 #
5 #       http://www.apache.org/licenses/LICENSE-2.0
6 #
7 #   Unless required by applicable law or agreed to in writing, software
8 #   distributed under the License is distributed on an "AS IS" BASIS,
9 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 #   See the License for the specific language governing permissions and
11 #   limitations under the License.
12
13 *** Settings ***
14 Documentation     [BASIC-05] Instantiation parameters in cloud-init.
15
16 Library   OperatingSystem
17 Library   SSHLibrary
18
19 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/vnfd_lib.robot
20 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/nsd_lib.robot
21 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/ns_lib.robot
22 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/ssh_lib.robot
23
24 Variables   %{ROBOT_DEVOPS_FOLDER}/resources/basic_05-instantiation_parameters_in_cloud_init_data.py
25
26 Suite Teardown   Run Keyword And Ignore Error   Test Cleanup
27
28
29 *** Variables ***
30 ${username}   ubuntu
31 ${new_password}   newpassword
32 ${vnf_member_index}   1
33 ${ns_config}   {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ], additionalParamsForVnf: [ { member-vnf-index: "${vnf_member_index}", additionalParams: { password: "${new_password}" } } ] }
34
35
36 *** Test Cases ***
37 Create Cloudinit VNF Descriptor
38     [Tags]   instantiation_params   sanity   regression
39
40     Create VNFD  '%{PACKAGES_FOLDER}/${vnfd_pkg}'
41
42
43 Create Cloudinit NS Descriptor
44     [Tags]   instantiation_params   sanity   regression
45
46     Create NSD  '%{PACKAGES_FOLDER}/${nsd_pkg}'
47
48
49 Instantiate Cloudinit Network Service Using Instantiation Parameters
50     [Documentation]     Instantiates the NS using the instantiation parameter 'additionalParamsForVnf' to change the password of the default user.
51     [Tags]   instantiation_params   sanity   regression
52
53     ${id}=  Create Network Service  ${nsd_name}  %{VIM_TARGET}  ${ns_name}  ${ns_config}  ${EMPTY}
54     Set Suite Variable  ${ns_id}  ${id}
55
56
57 Get Management Ip Addresses
58     [Tags]   instantiation_params   sanity   regression
59
60     ${ip_addr}  Get Vnf Management Ip Address  ${ns_id}  ${vnf_member_index}
61     log  ${ip_addr}
62     Set Suite Variable  ${vnf_ip_addr}  ${ip_addr}
63
64
65 Test SSH Access With The New Password
66     [Documentation]     Test SSH access with the new password configured via cloud-init.
67     [Tags]   instantiation_params   sanity   regression
68
69     Variable Should Exist  ${vnf_ip_addr}  msg=IP address of the management VNF is not available
70     Sleep  30s  Waiting ssh daemon to be up
71     Test SSH Connection  ${vnf_ip_addr}  ${username}  ${new_password}  ${EMPTY}
72
73
74 Delete NS Instance
75     [Tags]   instantiation_params   sanity   regression  cleanup
76
77     Delete NS  ${ns_name}
78
79
80 Delete NS Descriptor
81     [Tags]   instantiation_params   sanity   regression  cleanup
82
83     Delete NSD  ${nsd_name}
84
85
86 Delete VNF Descriptor
87     [Tags]   instantiation_params   sanity   regression  cleanup
88
89     Delete VNFD  ${vnfd_name}
90
91
92 *** Keywords ***
93 Test Cleanup
94     [Documentation]  Test Suite Cleanup: Deleting descriptors and NS instance
95
96     Run Keyword If Test Failed  Delete NS  ${ns_name}
97
98     Run Keyword If Test Failed  Delete NSD  ${nsd_name}
99
100     Run Keyword If Test Failed  Delete VNFD  ${vnfd_name}
101