Update tags in all testsuites
[osm/tests.git] / robot-systest / testsuite / basic_16-advanced_onboarding_and_scaling.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-16] Advanced onboarding with override and complex scaling (3 initial instances, scaled by two).
15
16 Library   OperatingSystem
17 Library   String
18 Library   Collections
19
20 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/vnfd_lib.robot
21 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/nsd_lib.robot
22 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/ns_lib.robot
23 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/ssh_lib.robot
24
25 Variables   %{ROBOT_DEVOPS_FOLDER}/resources/basic_16-advanced_onboarding_and_scaling_data.py
26
27 Force Tags   basic_16   cluster_main   daily   regression
28
29 Suite Teardown   Run Keyword And Ignore Error   Suite Cleanup
30
31
32 *** Variables ***
33 ${ns_config}   {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] }
34 ${scaling_group}   vdu_autoscale
35 ${vnf_member_index}  1
36
37
38 *** Test Cases ***
39 Create Scaling VNF Descriptor
40
41     Create VNFD Overriding Fields  '%{PACKAGES_FOLDER}/${vnfd_pkg}'   df.0.instantiation-level.0.vdu-level.0.number-of-instances=${init_instances};df.0.vdu-profile.0.min-number-of-instances=${min_instances};df.0.vdu-profile.0.max-number-of-instances=${max_instances};df.0.scaling-aspect.0.aspect-delta-details.deltas.0.vdu-delta.0.number-of-instances=${delta_instances}
42
43
44 Create Scaling NS Descriptor
45
46     Create NSD  '%{PACKAGES_FOLDER}/${nsd_pkg}'
47
48
49 Instantiate Scaling Network Service
50
51     ${id}=  Create Network Service  ${nsd_name}  %{VIM_TARGET}  ${ns_name}  ${ns_config}  ${publickey}
52     Set Suite Variable  ${ns_id}  ${id}
53
54
55 Get Vnf Id
56
57     Variable Should Exist  ${ns_id}  msg=Network service instance is not available
58     @{vnfr_list}=  Get Ns Vnfr Ids  ${ns_id}
59     Log List  ${vnfr_list}
60     Set Suite Variable  ${vnf_id}  ${vnfr_list}[0]
61
62
63 Check Vdus Before Scale Out
64     [Documentation]     Check the number of VDUs instances before the manual scaling.
65
66     @{vdur_list}=  Get Vnf Vdur Names  ${vnf_id}
67     Log List  ${vdur_list}
68     ${vdurs}=  Get Length  ${vdur_list}
69     Set Suite Variable  ${initial_vdur_count}  ${vdurs}
70     Run Keyword Unless  ${init_instances} == ${initial_vdur_count}   Fail  msg=Instantiated VDUs (${initial_vdur_count}) don't match specified number in descriptor (${init_instances})
71
72
73 Perform Manual Vdu Scale Out
74
75     Variable Should Exist  ${ns_id}  msg=Network service instance is not available
76     ${ns_op_id}=  Execute Manual VNF Scale  ${ns_name}  ${vnf_member_index}  ${scaling_group}  SCALE_OUT
77
78
79 Check Vdus After Scale Out
80     [Documentation]     Check whether there is one more VDU after scaling or not.
81
82     Variable Should Exist  ${ns_id}  msg=Network service instance is not available
83     @{vdur_list}=  Get Vnf Vdur Names  ${vnf_id}
84     Log List  ${vdur_list}
85     ${vdurs}=  Get Length  ${vdur_list}
86     Run Keyword Unless  ${vdurs} == ${initial_vdur_count} + ${delta_instances}  Fail  msg=VDU instances in the VNF (${vdurs}) don't match after Scale Out (${initial_vdur_count} + ${delta_instances})
87
88
89 Perform Manual Vdu Scale In
90
91     Variable Should Exist  ${ns_id}  msg=Network service instance is not available
92     ${ns_op_id}=  Execute Manual VNF Scale  ${ns_name}  ${vnf_member_index}  ${scaling_group}  SCALE_IN
93
94
95 Check Vdus After Scaling In
96     [Documentation]     Check whether there is one less VDU after scaling or not.
97
98     Variable Should Exist  ${ns_id}  msg=Network service instance is not available
99     @{vdur_list}=  Get Vnf Vdur Names  ${vnf_id}
100     Log List  ${vdur_list}
101     ${vdurs}=  Get Length  ${vdur_list}
102     Run Keyword Unless  ${vdurs} == ${initial_vdur_count}  Fail  msg=There is the same number of VDU records in the VNF after Scale In
103
104
105 Delete NS Instance
106     [Tags]   cleanup
107
108     Delete NS  ${ns_name}
109
110
111 Delete NS Descriptor
112     [Tags]   cleanup
113
114     Delete NSD  ${nsd_name}
115
116
117 Delete VNF Descriptor
118     [Tags]   cleanup
119
120     Delete VNFD  ${vnfd_name}
121
122
123 *** Keywords ***
124 Suite Cleanup
125     [Documentation]  Test Suite Cleanup: Deleting descriptors and NS instance
126
127     Run Keyword If Any Tests Failed  Delete NS  ${ns_name}
128     Run Keyword If Any Tests Failed  Delete NSD  ${nsd_name}
129     Run Keyword If Any Tests Failed  Delete VNFD  ${vnfd_name}
130