blob: 834cecf8803d645590a3a77970b582708761bec4 [file] [log] [blame]
shrsuman1234f0bcbe2021-08-31 04:05:57 -05001*** Settings ***
2
3Documentation VMI multiple network interface tests.
4
5# This includes test scenarios where VMI has multiple interfaces.
6# So,assigns and verifies the combination of network mode in interfaces.
7
8Resource ../../lib/external_intf/vmi_utils.robot
9
10Suite Setup Suite Setup Execution
11Test Teardown FFDC On Test Case Fail
12Suite Teardown Suite Teardown Execution
13
14*** Variables ***
15
16${test_ipv4_1} 10.6.6.6
17${test_gateway_1} 10.6.6.1
18${test_netmask_1} 255.255.252.0
19
20${test_ipv4_2} 10.5.20.5
21${test_gateway_2} 10.5.20.1
22${test_netmask_2} 255.255.255.0
23${test_ipv4_3} 10.6.4.6
24
25*** Test Cases ***
26
27Configure VMI Both Interfaces In Same Subnet And Verify
28 [Documentation] Configure VMI both interfaces in same subnet and verify.
29 [Tags] Configure_VMI_Both_Interfaces_In_Same_Subnet_And_Verify
30 [Teardown] Test Teardown Execution
31
32 Set Static IPv4 Address To VMI And Verify ${test_ipv4_1} ${test_gateway_1}
33 ... ${test_netmask_1}
34 Set Static IPv4 Address To VMI And Verify ${test_ipv4_3} ${test_gateway_1}
35 ... ${test_netmask_1} ${HTTP_ACCEPTED} ${interface_list}[1]
36
37Configure VMI Both Interfaces In Different Subnet And Verify
38 [Documentation] Configure VMI both interfaces in different subnet and verify.
39 [Tags] Configure_VMI_Both_Interfaces_In_Different_Subnet_And_Verify
40 [Teardown] Test Teardown Execution
41
42 Set Static IPv4 Address To VMI And Verify ${test_ipv4_1} ${test_gateway_1}
43 ... ${test_netmask_1}
44 Set Static IPv4 Address To VMI And Verify ${test_ipv4_2} ${test_gateway_2}
45 ... ${test_netmask_2} ${HTTP_ACCEPTED} ${interface_list}[1]
46
shrsuman123445eccc2021-10-12 04:10:05 -050047Configure VMI Both Interfaces In Dynamic And Verify
48 [Documentation] Configure VMI both interfaces in dynamic And Verify.
49 [Tags] Configure_VMI_Both_Interfaces_In_Dynamic_And_Verify
50 [Teardown] Run keywords Set VMI IPv4 Origin ${False}
51 ... AND Set VMI IPv4 Origin ${False} ${HTTP_ACCEPTED} ${interface_list}[1]
52 ... AND Test Teardown
53
54 Set VMI IPv4 Origin ${True}
55 ${default}= Set Variable 0.0.0.0
56 Set VMI IPv4 Origin ${True} ${HTTP_ACCEPTED} ${interface_list}[1]
57 Verify VMI Network Interface Details ${default} DHCP ${default} ${default}
58 Verify VMI Network Interface Details ${default} DHCP ${default} ${default} ${interface_list}[1]
59
shrsuman1234f0bcbe2021-08-31 04:05:57 -050060*** Keywords ***
61
62Suite Setup Execution
63 [Documentation] Do suite setup execution task.
64
65 Redfish.Login
66 Redfish Power On stack_mode=skip quiet=1
67 Get Original Vmi Details
68
69
70Test Teardown Execution
71 [Documentation] Do test teardown execution task.
72
73 FOR ${interface} IN @{interface_list}
74 Delete VMI IPv4 Address IPv4StaticAddresses ${HTTP_ACCEPTED} ${interface}
75 END
76
77 FFDC On Test Case Fail
78
79
80Get Original Vmi Details
81 [Documentation] Get original details of VMI.
82
83 @{interface_list}= Get VMI Interfaces
84 Set Suite Variable @{interface_list}
85
86 FOR ${interface} IN @{interface_list}
87 ${resp}= Redfish.Get
88 ... /redfish/v1/Systems/hypervisor/EthernetInterfaces/${interface}
89 ${ip_resp}= Evaluate json.loads(r'''${resp.text}''') json
90 ${length}= Get Length ${ip_resp["IPv4StaticAddresses"]}
91 ${vmi_network_conf}= Catenate SEPARATOR=_ vmi_network_conf ${interface}
92 ${vmi_network_conf_value}= Run Keyword If ${length} != ${0}
93 ... Get VMI Network Interface Details ${interface}
94 Set Suite Variable ${${vmi_network_conf}} ${vmi_network_conf_value}
95 END
96
97
98Suite Teardown Execution
99 [Documentation] Do suite teardown execution task
100 ... Set original vmi details and verify.
101
102 FOR ${interface} IN @{interface_list}
103 Run Keyword If ${vmi_network_conf_${interface}} != ${None}
104 ... Set Static IPv4 Address To VMI And Verify
105 ... ${vmi_network_conf_${interface}}[IPv4_Address]
106 ... ${vmi_network_conf_${interface}}[IPv4_Gateway]
107 ... ${vmi_network_conf_${interface}}[IPv4_SubnetMask]
108 ... ${HTTP_ACCEPTED} ${interface}
109 END
110
111 Redfish.Logout
112