blob: 51d5ae5b5ac29d45a2ae24ad04131b066562065e [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
George Keishing4e0978d2022-07-27 10:21:18 -050012Suite Teardown Run Keyword And Ignore Error Suite Teardown Execution
shrsuman1234f0bcbe2021-08-31 04:05:57 -050013
George Keishing725e0662022-07-20 22:18:14 -050014Force Tags vmi_multi_interface_test
15
shrsuman1234f0bcbe2021-08-31 04:05:57 -050016*** Variables ***
17
18${test_ipv4_1} 10.6.6.6
19${test_gateway_1} 10.6.6.1
20${test_netmask_1} 255.255.252.0
21
22${test_ipv4_2} 10.5.20.5
23${test_gateway_2} 10.5.20.1
24${test_netmask_2} 255.255.255.0
25${test_ipv4_3} 10.6.4.6
26
27*** Test Cases ***
28
29Configure VMI Both Interfaces In Same Subnet And Verify
30 [Documentation] Configure VMI both interfaces in same subnet and verify.
31 [Tags] Configure_VMI_Both_Interfaces_In_Same_Subnet_And_Verify
32 [Teardown] Test Teardown Execution
33
34 Set Static IPv4 Address To VMI And Verify ${test_ipv4_1} ${test_gateway_1}
35 ... ${test_netmask_1}
36 Set Static IPv4 Address To VMI And Verify ${test_ipv4_3} ${test_gateway_1}
37 ... ${test_netmask_1} ${HTTP_ACCEPTED} ${interface_list}[1]
38
39Configure VMI Both Interfaces In Different Subnet And Verify
40 [Documentation] Configure VMI both interfaces in different subnet and verify.
41 [Tags] Configure_VMI_Both_Interfaces_In_Different_Subnet_And_Verify
42 [Teardown] Test Teardown Execution
43
44 Set Static IPv4 Address To VMI And Verify ${test_ipv4_1} ${test_gateway_1}
45 ... ${test_netmask_1}
46 Set Static IPv4 Address To VMI And Verify ${test_ipv4_2} ${test_gateway_2}
47 ... ${test_netmask_2} ${HTTP_ACCEPTED} ${interface_list}[1]
48
shrsuman123445eccc2021-10-12 04:10:05 -050049Configure VMI Both Interfaces In Dynamic And Verify
50 [Documentation] Configure VMI both interfaces in dynamic And Verify.
51 [Tags] Configure_VMI_Both_Interfaces_In_Dynamic_And_Verify
52 [Teardown] Run keywords Set VMI IPv4 Origin ${False}
53 ... AND Set VMI IPv4 Origin ${False} ${HTTP_ACCEPTED} ${interface_list}[1]
54 ... AND Test Teardown
55
56 Set VMI IPv4 Origin ${True}
57 ${default}= Set Variable 0.0.0.0
58 Set VMI IPv4 Origin ${True} ${HTTP_ACCEPTED} ${interface_list}[1]
59 Verify VMI Network Interface Details ${default} DHCP ${default} ${default}
60 Verify VMI Network Interface Details ${default} DHCP ${default} ${default} ${interface_list}[1]
61
shrsuman1237e9b2122021-09-28 06:06:16 -050062Configure VMI First Interface In Static And Second In Dynamic And Verify
63 [Documentation] Configure VMI first interface in static mode and second interface in dynamic mode
64 ... and verify first gets static ip details and second gets dynamic ip details.
65 [Tags] Configure_VMI_First_Interface_In_Static_And_Second_In_Dynamic_And_Verify
66 [Teardown] Run keywords Delete VMI IPv4 Address AND
67 ... Set VMI IPv4 Origin ${False} ${HTTP_ACCEPTED} ${interface_list}[1]
68 ... AND Test Teardown
69
70 Set Static IPv4 Address To VMI And Verify ${test_ipv4_1} ${test_gateway_1}
71 ... ${test_netmask_1}
72 Set VMI IPv4 Origin ${True} ${HTTP_ACCEPTED} ${interface_list}[1]
73 ${default}= Set Variable 0.0.0.0
74 Verify VMI Network Interface Details ${test_ipv4_1} Static ${test_gateway_1} ${test_netmask_1}
75 Verify VMI Network Interface Details ${default} DHCP ${default} ${default} ${interface_list}[1]
76
77Configure VMI First Interface In Dynamic And Second In Static And Verify
78 [Documentation] Configure VMI first interface in dynamic mode and second interface in static mode
79 ... and verify first gets dynamic ip details and second gets static ip details.
80 [Tags] Configure_VMI_First_Interface_In_Dynamic_And_Second_In_Static_And_Verify
81 [Teardown] Run keywords Set VMI IPv4 Origin ${False} AND
82 ... Delete VMI IPv4 Address IPv4StaticAddresses ${HTTP_ACCEPTED} ${interface_list}[1]
83 ... AND Test Teardown
84
85 Set VMI IPv4 Origin ${True}
86 ${default}= Set Variable 0.0.0.0
87 Set Static IPv4 Address To VMI And Verify ${test_ipv4_1} ${test_gateway_1}
88 ... ${test_netmask_1} ${HTTP_ACCEPTED} ${interface_list}[1]
89 Verify VMI Network Interface Details ${default} DHCP ${default} ${default}
90
shrsuman1234f0bcbe2021-08-31 04:05:57 -050091*** Keywords ***
92
93Suite Setup Execution
94 [Documentation] Do suite setup execution task.
95
96 Redfish.Login
97 Redfish Power On stack_mode=skip quiet=1
98 Get Original Vmi Details
99
100
101Test Teardown Execution
102 [Documentation] Do test teardown execution task.
103
104 FOR ${interface} IN @{interface_list}
105 Delete VMI IPv4 Address IPv4StaticAddresses ${HTTP_ACCEPTED} ${interface}
106 END
107
108 FFDC On Test Case Fail
109
110
111Get Original Vmi Details
112 [Documentation] Get original details of VMI.
113
114 @{interface_list}= Get VMI Interfaces
115 Set Suite Variable @{interface_list}
116
117 FOR ${interface} IN @{interface_list}
118 ${resp}= Redfish.Get
119 ... /redfish/v1/Systems/hypervisor/EthernetInterfaces/${interface}
120 ${ip_resp}= Evaluate json.loads(r'''${resp.text}''') json
121 ${length}= Get Length ${ip_resp["IPv4StaticAddresses"]}
122 ${vmi_network_conf}= Catenate SEPARATOR=_ vmi_network_conf ${interface}
123 ${vmi_network_conf_value}= Run Keyword If ${length} != ${0}
124 ... Get VMI Network Interface Details ${interface}
125 Set Suite Variable ${${vmi_network_conf}} ${vmi_network_conf_value}
126 END
127
128
129Suite Teardown Execution
130 [Documentation] Do suite teardown execution task
131 ... Set original vmi details and verify.
132
133 FOR ${interface} IN @{interface_list}
134 Run Keyword If ${vmi_network_conf_${interface}} != ${None}
135 ... Set Static IPv4 Address To VMI And Verify
136 ... ${vmi_network_conf_${interface}}[IPv4_Address]
137 ... ${vmi_network_conf_${interface}}[IPv4_Gateway]
138 ... ${vmi_network_conf_${interface}}[IPv4_SubnetMask]
139 ... ${HTTP_ACCEPTED} ${interface}
140 END
141
142 Redfish.Logout
143