Adds Robot test EPA-02 with new Openstack library
[osm/tests.git] / robot-systest / testsuite / epa_02-additional_capabilities.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     [EPA-02] Support for additional EPA capabilities.
15
16 Library   OperatingSystem
17 Library   String
18 Library   Collections
19 Library   SSHLibrary
20
21 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/vnfd_lib.robot
22 Resource   %{ROBOT_DEVOPS_FOLDER}/lib/vnf_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/openstack_lib.robot
26
27 Variables   %{ROBOT_DEVOPS_FOLDER}/resources/epa_02-additional_capabilities_data.py
28
29 Suite Teardown   Run Keyword And Ignore Error   Test Cleanup
30
31
32 *** Variables ***
33 ${ns_id}   ${EMPTY}
34 ${vnf_server_id}   ${EMPTY}
35 ${flavor_properties}   ${EMPTY}
36 ${ns_config}   {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] }
37 ${success_return_code}   0
38
39
40 *** Test Cases ***
41 Create VNF Descriptor
42     [Tags]   epa_capabilities   sanity   regression
43
44     Create VNFD  '%{PACKAGES_FOLDER}/${vnfd_pkg}'
45
46
47 Create NS Descriptor
48     [Tags]   epa_capabilities   sanity   regression
49
50     Create NSD  '%{PACKAGES_FOLDER}/${nsd_pkg}'
51
52
53 Instantiate Network Service
54     [Tags]   epa_capabilities   sanity   regression
55
56     ${id}=  Create Network Service  ${nsd_name}  %{VIM_TARGET}  ${ns_name}  ${ns_config}  ${publickey}
57     Set Suite Variable  ${ns_id}  ${id}
58
59
60 Get VNF Server ID
61     [Tags]   epa_capabilities   sanity   regression
62
63     ${vnfs_list}=  Get Ns Vnf List   ${ns_id}
64     ${vim_id}=  Get VNF VIM ID   ${vnfs_list}[0]
65     log   ${vim_id}
66     Set Suite Variable   ${vnf_server_id}   ${vim_id}
67
68
69 Get Server Flavor Properties
70     [Tags]   epa_capabilities   sanity   regression
71
72     ${flavor_id}=  Get Server Flavor ID   ${vnf_server_id}
73     ${properties}=  Get Flavor Properties   ${flavor_id}
74     log   ${properties}
75     Set Suite Variable   ${flavor_properties}   ${properties}
76
77
78 Check Flavor Quota Properties
79     [Tags]   epa_capabilities   sanity   regression
80
81     ${rc}=   Run and Return RC   echo ${flavor_properties} | grep "cpu_shares_level=custom"
82     Should Be Equal As Integers   ${rc}   ${success_return_code}
83     ${rc}=   Run and Return RC   echo ${flavor_properties} | grep "disk_io_shares_level=custom"
84     Should Be Equal As Integers   ${rc}   ${success_return_code}
85     ${rc}=   Run and Return RC   echo ${flavor_properties} | grep "memory_shares_level=custom"
86     Should Be Equal As Integers   ${rc}   ${success_return_code}
87
88
89 Delete NS Instance
90     [Tags]   epa_capabilities   sanity   regression  cleanup
91
92     Delete NS  ${ns_name}
93
94
95 Delete NS Descriptor
96     [Tags]   epa_capabilities   sanity   regression  cleanup
97
98     Delete NSD  ${nsd_name}
99
100
101 Delete VNF Descriptor
102     [Tags]   epa_capabilities   sanity   regression  cleanup
103
104     Delete VNFD  ${vnfd_name}
105
106
107 *** Keywords ***
108 Test Cleanup
109     [Documentation]  Test Suite Cleanup: Deleting descriptors and NS instance
110
111     Run Keyword If Test Failed  Delete NS  ${ns_name}
112
113     Run Keyword If Test Failed  Delete NSD  ${nsd_name}
114
115     Run Keyword If Test Failed  Delete VNFD  ${vnfd_name}
116