6b94d3a40c6268b0c94bc1d481190e457dd9df07
[osm/tests.git] / robot-systest / testsuite / basic_12-ns_primitives.robot
1 #   Copyright 2020 Canonical Ltd.
2 #   Licensed under the Apache License, Version 2.0 (the "License");
3 #   you may not use this file except in compliance with the License.
4 #   You may obtain a copy of the License at
5 #
6 #       http://www.apache.org/licenses/LICENSE-2.0
7 #
8 #   Unless required by applicable law or agreed to in writing, software
9 #   distributed under the License is distributed on an "AS IS" BASIS,
10 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 #   See the License for the specific language governing permissions and
12 #   limitations under the License.
13
14 *** Settings ***
15 Documentation     [BASIC-12] NS Primitives
16
17 Library   OperatingSystem
18 Library   String
19 Library   Collections
20 Library   Process
21
22 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/vnfd_lib.robot
23 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/nsd_lib.robot
24 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/ns_lib.robot
25 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/packages_lib.robot
26
27 Variables   %{ROBOT_DEVOPS_FOLDER}/resources/basic_12-ns_primitives_data.py
28
29 Force Tags   basic_12   cluster_ee_config   daily   regression
30
31 Suite Teardown   Run Keyword And Ignore Error   Suite Cleanup
32
33
34 *** Variables ***
35 ${ns_config}   {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] }
36 ${publickey}   ${EMPTY}
37 ${success_return_code}   0
38
39
40 *** Test Cases ***
41 Change Juju Password
42     [Documentation]  NS package needs to be updated with the Juju credentials for your OSM installation
43
44     ${rc}   ${stdout}=   Run and Return RC and Output   cp -r '%{PACKAGES_FOLDER}/${nsd_pkg}' '%{PACKAGES_FOLDER}/${new_nsd_pkg}'
45     Should Be Equal As Integers   ${rc}   ${success_return_code}
46     ${nsd_yaml}=   Get File  %{PACKAGES_FOLDER}/${new_nsd_pkg}/${nsd_file}
47     ${changed_nsd_yaml}=   Replace String  ${nsd_yaml}  ${old_juju_password}  %{JUJU_PASSWORD}
48     Create File  %{PACKAGES_FOLDER}/${new_nsd_pkg}/${nsd_file}  ${changed_nsd_yaml}
49
50 Upload Vnfds
51
52     Create VNFD   '%{PACKAGES_FOLDER}/${vnfd_pkg1}'
53     Create VNFD   '%{PACKAGES_FOLDER}/${vnfd_pkg2}'
54
55 Upload Nsd
56
57     Create NSD  %{PACKAGES_FOLDER}/${new_nsd_pkg}/
58
59 Instantiate NS
60
61     ${id}=  Create Network Service  ${nsd_name}  %{VIM_TARGET}  ${ns_name}  ${ns_config}  ${publickey}  ns_launch_max_wait_time=40min
62     Set Suite Variable  ${ns_id}  ${id}
63
64 # TODO: Check Initial Config Primitives Status
65
66 Delete NS 
67     [Tags]   cleanup
68
69     Delete NS   ${ns_name}
70
71 Delete NS Descriptor
72     [Tags]   cleanup
73
74     Delete NSD   ${nsd_name}
75     Delete Temporary Descriptor Folder  '%{PACKAGES_FOLDER}/${new_nsd_pkg}'
76
77 Delete VNF Descriptors
78     [Tags]   cleanup
79
80     Delete VNFD   ${vnfd_name1}
81     Delete VNFD   ${vnfd_name2}
82
83
84 *** Keywords ***
85 Suite Cleanup
86     [Documentation]  Test Suit Cleanup: Deleting Descriptor and instance
87
88     Run Keyword If Any Tests Failed  Delete NS   ${ns_name}
89     Run Keyword If Any Tests Failed  Delete NSD   ${nsd_name}
90     Run Keyword If Any Tests Failed  Delete VNFD   ${vnfd_name1}
91     Run Keyword If Any Tests Failed  Delete VNFD   ${vnfd_name2}
92     Delete Temporary Descriptor Folder  '%{PACKAGES_FOLDER}/${new_nsd_pkg}'
93
94
95 Delete Temporary Descriptor Folder
96     [Documentation]  Removes the temporary package folder created for the test
97     [Arguments]   ${folder_name}
98
99     ${rc}   ${stdout}=   Run and Return RC and Output   rm -rf '${folder_name}'
100     log   ${stdout}
101
102