xref: /openbmc/openbmc-test-automation/openpower/ext_interfaces/test_vmi.robot (revision 619d870c11fc70543b8912f15be585b089d32759)
106a169dcSVijay*** Settings ***
206a169dcSVijay
3d7deb89aSAnves Kumar rayankulaDocumentation     VMI static/dynamic IP config tests.
406a169dcSVijay
5d52b2731SSweta PotthuriResource          ../../lib/external_intf/vmi_utils.robot
606a169dcSVijay
7d7deb89aSAnves Kumar rayankulaSuite Setup       Suite Setup Execution
806a169dcSVijayTest Teardown     FFDC On Test Case Fail
94e0978d9SGeorge KeishingSuite Teardown    Run Keyword And Ignore Error  Suite Teardown Execution
1006a169dcSVijay
116fb70d98SMatt FischerTest Tags         Vmi
12725e066bSGeorge Keishing
1306a169dcSVijay*** Variables ***
1406a169dcSVijay
15d5de2070SAnves Kumar rayankula# users           User Name               password
16d5de2070SAnves Kumar rayankula@{ADMIN}          admin_user              TestPwd123
17d5de2070SAnves Kumar rayankula@{OPERATOR}       operator_user           TestPwd123
18d5de2070SAnves Kumar rayankula@{ReadOnly}       readonly_user           TestPwd123
1980ef5ca0SMegha GN&{USERS}          Administrator=${ADMIN}  ReadOnly=${ReadOnly}
20d5de2070SAnves Kumar rayankula
211ce68212SPrashanth Katti${test_ipv4}              10.6.6.6
221ce68212SPrashanth Katti${test_gateway}           10.6.6.1
23c1d3fe32Sshrsuman123${test_netmask}           255.255.252.0
24d7deb89aSAnves Kumar rayankula
2506a169dcSVijay&{DHCP_ENABLED}           DHCPEnabled=${${True}}
2606a169dcSVijay&{DHCP_DISABLED}          DHCPEnabled=${${False}}
2706a169dcSVijay
2806a169dcSVijay&{ENABLE_DHCP}            DHCPv4=&{DHCP_ENABLED}
2906a169dcSVijay&{DISABLE_DHCP}           DHCPv4=&{DHCP_DISABLED}
3006a169dcSVijay
3102cbfa1aSMegha G N${default}                0.0.0.0
32a37b8dafSMegha G N${default_ipv6addr}       ::
3370f087bbSSridevi Ramesh${prefix_length}          ${64}
3497af3bf3SMegha G N${test_vmi_ipv6addr}      2001:db8:1111:2222:10:5:5:6
35e0e055d0SMegha G N${test_vmi_ipv6gateway}   2001:db8:1111:2222::1
361361edf0SMegha G N${ipv4_hexword_addr}      10.5.5.6:1A:1B:1C:1D:1E:1F
371361edf0SMegha G N${multicast_ipv6addr}     FF00
381361edf0SMegha G N${loopback_ipv6addr}      ::1
3902cbfa1aSMegha G N
4006a169dcSVijay
4106a169dcSVijay*** Test Cases ***
4206a169dcSVijay
4306a169dcSVijayVerify All VMI EthernetInterfaces
4406a169dcSVijay    [Documentation]  Verify all VMI ethernet interfaces.
455c7e4d73Sshrsuman123    [Tags]  Verify_All_VMI_EthernetInterfaces
4606a169dcSVijay
4706a169dcSVijay    Verify VMI EthernetInterfaces
4806a169dcSVijay
4906a169dcSVijay
5006a169dcSVijayVerify Existing VMI Network Interface Details
5106a169dcSVijay    [Documentation]  Verify existing VMI network interface details.
525c7e4d73Sshrsuman123    [Tags]  Verify_Existing_VMI_Network_Interface_Details
5306a169dcSVijay
5406a169dcSVijay    ${vmi_ip}=  Get VMI Network Interface Details
5506a169dcSVijay    ${origin}=  Set Variable If  ${vmi_ip["DHCPv4"]} == ${False}  Static  DHCP
5606a169dcSVijay    Should Not Be Equal  ${vmi_ip["DHCPv4"]}  ${vmi_ip["IPv4StaticAddresses"]}
57bfb851b8Sshrsuman123    Should Be Equal As Strings  ${vmi_ip["Id"]}  ${ethernet_interface}
58b3ea095aSGeorge Keishing    Should Be Equal As Strings  ${vmi_ip["Description"]}
595c7e4d73Sshrsuman123    ...  Hypervisor's Virtual Management Ethernet Interface
605c7e4d73Sshrsuman123    Should Be Equal As Strings  ${vmi_ip["Name"]}  Hypervisor Ethernet Interface
615c7e4d73Sshrsuman123    Run Keyword If   ${vmi_ip["IPv4StaticAddresses"]} != @{empty}
625c7e4d73Sshrsuman123    ...  Verify VMI Network Interface Details  ${vmi_ip["IPv4_Address"]}
635c7e4d73Sshrsuman123    ...  ${origin}  ${vmi_ip["IPv4_Gateway"]}  ${vmi_ip["IPv4_SubnetMask"]}
6406a169dcSVijay
6506a169dcSVijay
6606a169dcSVijayDelete Existing Static VMI IP Address
6706a169dcSVijay    [Documentation]  Delete existing static VMI IP address.
6806a169dcSVijay    [Tags]  Delete_Existing_Static_VMI_IP_Address
6906a169dcSVijay
7006a169dcSVijay    ${curr_origin}=  Get Immediate Child Parameter From VMI Network Interface  DHCPEnabled
7106a169dcSVijay    Run Keyword If  ${curr_origin} == ${True}  Set VMI IPv4 Origin  ${False}  ${HTTP_ACCEPTED}
7206a169dcSVijay
735c7e4d73Sshrsuman123    Delete VMI IPv4 Address
7406a169dcSVijay
7506a169dcSVijay
7606a169dcSVijayVerify User Cannot Delete ReadOnly Property IPv4Addresses
7706a169dcSVijay    [Documentation]  Verify user cannot delete readonly property IPv4Addresses.
7806a169dcSVijay    [Tags]  Verify_User_Cannot_Delete_ReadOnly_Property_IPv4Addresses
7906a169dcSVijay
8006a169dcSVijay    ${curr_origin}=  Get Immediate Child Parameter From VMI Network Interface  DHCPEnabled
815c7e4d73Sshrsuman123    Run Keyword If  ${curr_origin} == ${True}  Set VMI IPv4 Origin  ${False}  ${HTTP_ACCEPTED}
825c7e4d73Sshrsuman123    Set Static IPv4 Address To VMI And Verify  ${test_ipv4}  ${test_gateway}  ${test_netmask}
83b25343dcSshrsuman123    Delete VMI IPv4 Address  IPv4Addresses  valid_status_code=${HTTP_FORBIDDEN}
8406a169dcSVijay
8506a169dcSVijay
86358c41d8SAnves Kumar rayankulaAssign Valid And Invalid Static IPv4 Address To VMI
8706a169dcSVijay    [Documentation]  Assign static IPv4 address to VMI.
88358c41d8SAnves Kumar rayankula    [Tags]  Assign_Valid_And_Invalid_Static_IPv4_Address_To_VMI
891b64d94aSAnves Kumar rayankula    [Template]  Set Static IPv4 Address To VMI And Verify
901b64d94aSAnves Kumar rayankula    [Teardown]   Run keywords  Delete VMI IPv4 Address  AND  Test Teardown Execution
9106a169dcSVijay
92d7deb89aSAnves Kumar rayankula    # ip          gateway     netmask           valid_status_code
93c7df7db2SShradha Suman    10.5.20.30    10.5.20.1     255.255.252.0    ${HTTP_ACCEPTED}
94c7df7db2SShradha Suman    a.3.118.94    10.5.20.1     255.255.252.0    ${HTTP_BAD_REQUEST}
9581fd9db9SAnves Kumar rayankula    10.5.20       10.5.20.1     255.255.252.0    ${HTTP_BAD_REQUEST}
9681fd9db9SAnves Kumar rayankula    10.5.20.-5    10.5.20.1     255.255.252.0    ${HTTP_BAD_REQUEST}
97d7deb89aSAnves Kumar rayankula
9806a169dcSVijay
9916b3c7bfSGeorge KeishingAdd Multiple IP Addresses On VMI Interface And Verify
10016b3c7bfSGeorge Keishing    [Documentation]  Add multiple IP addresses on VMI interface and verify.
10116b3c7bfSGeorge Keishing    [Tags]  Add_Multiple_IP_Addresses_On_VMI_Interface_And_Verify
1021b64d94aSAnves Kumar rayankula    [Teardown]   Run keywords  Delete VMI IPv4 Address  AND  Test Teardown Execution
103e37b0cccSshrsuman123
104c7df7db2SShradha Suman    ${ip1}=  Create dictionary  Address=10.5.5.10  SubnetMask=255.255.252.0  Gateway=10.5.5.1
105c7df7db2SShradha Suman    ${ip2}=  Create dictionary  Address=10.5.5.11  SubnetMask=255.255.252.0  Gateway=10.5.5.1
106c7df7db2SShradha Suman    ${ip3}=  Create dictionary  Address=10.5.5.12  SubnetMask=255.255.252.0  Gateway=10.5.5.1
107e37b0cccSshrsuman123    ${ips}=  Create List  ${ip1}  ${ip2}  ${ip3}
108e37b0cccSshrsuman123
109bfb851b8Sshrsuman123    Redfish.Patch  /redfish/v1/Systems/hypervisor/EthernetInterfaces/${ethernet_interface}
110993a5c9bSshrsuman123    ...  body={'IPv4StaticAddresses':${ips}}  valid_status_codes=[${HTTP_BAD_REQUEST}]
111e37b0cccSshrsuman123
112d7deb89aSAnves Kumar rayankula
113e37b0cccSshrsuman123Modify IP Addresses On VMI Interface And Verify
114e37b0cccSshrsuman123    [Documentation]  Modify IP addresses on VMI interface and verify.
115e37b0cccSshrsuman123    [Tags]  Modify_IP_Addresses_On_VMI_Interface_And_Verify
1161b64d94aSAnves Kumar rayankula    [Template]  Set Static IPv4 Address To VMI And Verify
1171b64d94aSAnves Kumar rayankula    [Teardown]   Run keywords  Delete VMI IPv4 Address  AND  Test Teardown Execution
118e37b0cccSshrsuman123
119d5de2070SAnves Kumar rayankula    # ip        gateway       netmask        valid_status_code
120c7df7db2SShradha Suman    10.5.5.10   10.5.5.1     255.255.252.0    ${HTTP_ACCEPTED}
121c7df7db2SShradha Suman    10.5.5.11   10.5.5.1     255.255.252.0    ${HTTP_ACCEPTED}
12206a169dcSVijay
12380ef5ca0SMegha GN
12406a169dcSVijaySwitch Between IP Origins On VMI And Verify Details
12506a169dcSVijay    [Documentation]  Switch between IP origins on VMI and verify details.
12606a169dcSVijay    [Tags]  Switch_Between_IP_Origins_On_VMI_And_Verify_Details
12706a169dcSVijay
12806a169dcSVijay    Switch VMI IPv4 Origin And Verify Details
12906a169dcSVijay    Switch VMI IPv4 Origin And Verify Details
13006a169dcSVijay
13106a169dcSVijay
13206a169dcSVijayVerify Persistency Of VMI IPv4 Details After Host Reboot
13306a169dcSVijay    [Documentation]  Verify persistency of VMI IPv4 details after host reboot.
13406a169dcSVijay    [Tags]  Verify_Persistency_Of_VMI_IPv4_Details_After_Host_Reboot
13506a169dcSVijay
13606a169dcSVijay    # Verifying persistency of dynamic address.
13706a169dcSVijay    Set VMI IPv4 Origin  ${True}  ${HTTP_ACCEPTED}
1387936eeeaSAnves Kumar rayankula    Redfish Power Off  stack_mode=skip
1397936eeeaSAnves Kumar rayankula    Redfish Power On
140d5de2070SAnves Kumar rayankula    Verify VMI Network Interface Details  ${default}  DHCP  ${default}  ${default}
14106a169dcSVijay
14206a169dcSVijay    # Verifying persistency of static address.
1431b64d94aSAnves Kumar rayankula    Switch VMI IPv4 Origin And Verify Details
1447936eeeaSAnves Kumar rayankula    Redfish Power Off  stack_mode=skip
1457936eeeaSAnves Kumar rayankula    Redfish Power On
1461b64d94aSAnves Kumar rayankula    Set Static IPv4 Address To VMI And Verify  ${test_ipv4}  ${test_gateway}  ${test_netmask}
14706a169dcSVijay
14806a169dcSVijay
1499fa524aaSAnves Kumar rayankulaDelete VMI Static IP Address And Verify
1509fa524aaSAnves Kumar rayankula    [Documentation]  Delete VMI static IP address and verify.
1519fa524aaSAnves Kumar rayankula    [Tags]  Delete_VMI_Static_IP_Address_And_Verify
152d7deb89aSAnves Kumar rayankula    [Teardown]  Test Teardown Execution
1539fa524aaSAnves Kumar rayankula
1541b64d94aSAnves Kumar rayankula    Set Static IPv4 Address To VMI And Verify  ${test_ipv4}  ${test_gateway}  ${test_netmask}
1551b64d94aSAnves Kumar rayankula    Delete VMI IPv4 Address
1569fa524aaSAnves Kumar rayankula
157d7deb89aSAnves Kumar rayankula
158c1d3fe32Sshrsuman123Verify Successful VMI IP Static Configuration On HOST Boot After Session Delete
159c1d3fe32Sshrsuman123    [Documentation]  Verify VMI IP static Configuration On HOST Boot After session deleted.
160c1d3fe32Sshrsuman123    [Tags]  Verify_Successful_VMI_IP_Static_Configuration_On_HOST_Boot_After_Session_Delete
161b25343dcSshrsuman123    [Teardown]  Run keywords  Delete VMI IPv4 Address  AND  Test Teardown Execution
162c1d3fe32Sshrsuman123
16375e77064Sshrsuman123    Set Static IPv4 Address To VMI And Verify  ${test_ipv4}  ${test_gateway}  ${test_netmask}
164c1d3fe32Sshrsuman123
165c1d3fe32Sshrsuman123    ${session_info}=  Get Redfish Session Info
166c1d3fe32Sshrsuman123    Redfish.Delete  ${session_info["location"]}
167c1d3fe32Sshrsuman123
168c1d3fe32Sshrsuman123    # Create a new Redfish session
1695c7e4d73Sshrsuman123    Redfish.Login
170d7deb89aSAnves Kumar rayankula    Redfish Power Off
171d7deb89aSAnves Kumar rayankula    Redfish Power On
172c1d3fe32Sshrsuman123
173c1d3fe32Sshrsuman123    Verify VMI Network Interface Details  ${test_ipv4}  Static  ${test_gateway}  ${test_netmask}
174c1d3fe32Sshrsuman123
175d7deb89aSAnves Kumar rayankula
176c1d3fe32Sshrsuman123Verify Persistency Of VMI DHCP IP Configuration After Multiple HOST Reboots
177c1d3fe32Sshrsuman123    [Documentation]  Verify Persistency Of VMI DHCP IP configuration After Multiple HOST Reboots
178c1d3fe32Sshrsuman123    [Tags]  Verify_Persistency_Of_VMI_DHCP_IP_Configuration_After_Multiple_HOST_Reboots
179d7deb89aSAnves Kumar rayankula    [Teardown]  Test Teardown Execution
180c1d3fe32Sshrsuman123
181c1d3fe32Sshrsuman123    Set VMI IPv4 Origin  ${True}  ${HTTP_ACCEPTED}
182c1d3fe32Sshrsuman123    ${vmi_ip_config}=  Get VMI Network Interface Details
183c1d3fe32Sshrsuman123    # Verifying persistency of dynamic address after multiple reboots.
184f559cbe1Sshrsuman123    FOR  ${i}  IN RANGE  ${2}
185f559cbe1Sshrsuman123        Redfish Power Off
186f559cbe1Sshrsuman123        Redfish Power On
187538f1743SGeorge Keishing        Verify VMI Network Interface Details  ${vmi_ip_config["IPv4_Address"]}
188538f1743SGeorge Keishing        ...  DHCP  ${vmi_ip_config["IPv4_Gateway"]}  ${vmi_ip_config["IPv4_SubnetMask"]}
189f559cbe1Sshrsuman123    END
190d7deb89aSAnves Kumar rayankula
191d7deb89aSAnves Kumar rayankula
192d7deb89aSAnves Kumar rayankulaEnable DHCP When Static IP Configured And Verify Static IP
193d7deb89aSAnves Kumar rayankula    [Documentation]  Enable DHCP when static ip configured and verify static ip
1944203fad2SGeorge Keishing    [Tags]  Enable_DHCP_When_Static_IP_Configured_And_Verify_Static_IP
195c7df7db2SShradha Suman    [Setup]  Redfish Power On
196d7deb89aSAnves Kumar rayankula    [Teardown]  Test Teardown Execution
197d7deb89aSAnves Kumar rayankula
198f559cbe1Sshrsuman123    Set Static IPv4 Address To VMI And Verify  ${test_ipv4}  ${test_gateway}  ${test_netmask}
199d7deb89aSAnves Kumar rayankula    Set VMI IPv4 Origin  ${True}
200d7deb89aSAnves Kumar rayankula    ${vmi_network_conf}=  Get VMI Network Interface Details
201d7deb89aSAnves Kumar rayankula    Should Not Be Equal As Strings  ${test_ipv4}  ${vmi_network_conf["IPv4_Address"]}
202d7deb89aSAnves Kumar rayankula
2039fa524aaSAnves Kumar rayankula
204e37b0cccSshrsuman123Verify VMI Static IP Configuration Persist On BMC Reset Before Host Boot
205e37b0cccSshrsuman123    [Documentation]  Verify VMI static IP configuration persist on BMC reset.
206e37b0cccSshrsuman123    [Tags]   Verify_VMI_Static_IP_Configuration_Persist_On_BMC_Reset_Before_Host_Boot
2071b64d94aSAnves Kumar rayankula    [Teardown]  Run keywords  Delete VMI IPv4 Address  AND  FFDC On Test Case Fail
208e37b0cccSshrsuman123
20975e77064Sshrsuman123    Set Static IPv4 Address To VMI And Verify  ${test_ipv4}  ${test_gateway}  ${test_netmask}
210be428591SMegha GN    Redfish OBMC Reboot (off)  stack_mode=skip
211d7deb89aSAnves Kumar rayankula    Redfish Power On
212e37b0cccSshrsuman123    # Verifying the VMI static configuration
213e37b0cccSshrsuman123    Verify VMI Network Interface Details  ${test_ipv4}  Static   ${test_gateway}  ${test_netmask}
214e37b0cccSshrsuman123
21580ef5ca0SMegha GN
21675e77064Sshrsuman123Add Static IP When Host Poweroff And Verify On Poweron
21775e77064Sshrsuman123    [Documentation]  Add Static IP When Host Poweroff And Verify on power on
21875e77064Sshrsuman123    [Tags]   Add_Static_IP_When_Host_Poweroff_And_Verify_On_Poweron
21975e77064Sshrsuman123    [Setup]  Redfish Power Off
22075e77064Sshrsuman123    [Teardown]  Run keywords  Delete VMI IPv4 Address  AND  FFDC On Test Case Fail
22175e77064Sshrsuman123
22275e77064Sshrsuman123    Set Static IPv4 Address To VMI And Verify  ${test_ipv4}  ${test_gateway}  ${test_netmask}
22375e77064Sshrsuman123    Redfish Power On
22475e77064Sshrsuman123    Verify VMI Network Interface Details  ${test_ipv4}  Static  ${test_gateway}  ${test_netmask}
22575e77064Sshrsuman123
22680ef5ca0SMegha GN
22775e77064Sshrsuman123Add VMI Static IP When Host Poweroff And Verify Static IP On BMC Reset
22875e77064Sshrsuman123    [Documentation]  Add Static IP When Host Poweroff And Verify Static IP On BMC Reset.
22975e77064Sshrsuman123    [Tags]  Add_VMI_Static_IP_When_Host_Poweroff_And_Verify_Static_IP_On_BMC_Reset
23075e77064Sshrsuman123    [Setup]  Redfish Power Off
23175e77064Sshrsuman123    [Teardown]  Run keywords  Delete VMI IPv4 Address  AND  FFDC On Test Case Fail
23275e77064Sshrsuman123
23375e77064Sshrsuman123    Set Static IPv4 Address To VMI And Verify  ${test_ipv4}  ${test_gateway}  ${test_netmask}
234be428591SMegha GN    Redfish OBMC Reboot (off)  stack_mode=skip
23575e77064Sshrsuman123    Redfish Power On
23675e77064Sshrsuman123    Verify VMI Network Interface Details  ${test_ipv4}  Static  ${test_gateway}  ${test_netmask}
23775e77064Sshrsuman123
23880ef5ca0SMegha GN
23975e77064Sshrsuman123Enable DHCP When No Static IP Configured And Verify DHCP IP
24075e77064Sshrsuman123    [Documentation]  Enable DHCP when no static ip configured and verify dhcp ip
24175e77064Sshrsuman123    [Tags]  Enable_DHCP_When_No_Static_IP_Configured_And_Verify_DHCP_IP
24275e77064Sshrsuman123    [Setup]  Run Keyword And Ignore Error  Delete VMI IPv4 Address
24375e77064Sshrsuman123    [Teardown]  Test Teardown Execution
24475e77064Sshrsuman123
24575e77064Sshrsuman123    ${curr_origin}=  Get Immediate Child Parameter From VMI Network Interface  DHCPEnabled
24675e77064Sshrsuman123    Run Keyword If  ${curr_origin} == ${False}  Set VMI IPv4 Origin  ${True}  ${HTTP_ACCEPTED}
24775e77064Sshrsuman123    ${vmi_ip_config}=  Get VMI Network Interface Details
248538f1743SGeorge Keishing    Verify VMI Network Interface Details  ${vmi_ip_config["IPv4_Address"]}
249538f1743SGeorge Keishing    ...  DHCP  ${vmi_ip_config["IPv4_Gateway"]}  ${vmi_ip_config["IPv4_SubnetMask"]}
25075e77064Sshrsuman123
25180ef5ca0SMegha GN
25275e77064Sshrsuman123Verify User Cannot Delete VMI DHCP IP Address
25375e77064Sshrsuman123    [Documentation]  Verify user cannot delete VMI DHCP IP Address
25475e77064Sshrsuman123    [Tags]  Verify_User_Cannot_Delete_VMI_DHCP_IP_Address
25575e77064Sshrsuman123    [Setup]  Set VMI IPv4 Origin  ${True}
25675e77064Sshrsuman123    [Teardown]  Test Teardown Execution
25775e77064Sshrsuman123
258b25343dcSshrsuman123    Delete VMI IPv4 Address  IPv4Addresses  valid_status_code=${HTTP_FORBIDDEN}
25975e77064Sshrsuman123    ${resp}=  Redfish.Get
260bfb851b8Sshrsuman123    ...  /redfish/v1/Systems/hypervisor/EthernetInterfaces/${ethernet_interface}
26175e77064Sshrsuman123    Should Not Be Empty  ${resp.dict["IPv4Addresses"]}
26275e77064Sshrsuman123
26380ef5ca0SMegha GN
26475e77064Sshrsuman123Enable DHCP When Static IP Configured DHCP Server Unavailable And Verify IP
26575e77064Sshrsuman123    [Documentation]  Enable DHCP When Static IP Configured And DHCP Server Unavailable And Verify No IP.
26675e77064Sshrsuman123    [Tags]  Enable_DHCP_When_Static_IP_Configured_DHCP_Server_Unavailable_And_Verify_IP
26775e77064Sshrsuman123    [Teardown]  Test Teardown Execution
26875e77064Sshrsuman123
26975e77064Sshrsuman123    Set Static IPv4 Address To VMI And Verify  ${test_ipv4}  ${test_gateway}  ${test_netmask}
27075e77064Sshrsuman123    Set VMI IPv4 Origin  ${True}
27175e77064Sshrsuman123    Verify VMI Network Interface Details  ${default}  DHCP  ${default}  ${default}
27275e77064Sshrsuman123
273e37b0cccSshrsuman123
274d5de2070SAnves Kumar rayankulaVerify To Configure VMI Static IP Address With Different User Roles
275d5de2070SAnves Kumar rayankula    [Documentation]  Verify to configure vmi static ip address with different user roles.
276d5de2070SAnves Kumar rayankula    [Tags]  Verify_To_Configure_VMI_Static_IP_Address_With_Different_User_Roles
2774e2b5735SMegha G N    [Setup]  Run Keywords  Delete BMC Users Using Redfish
2784e2b5735SMegha G N    ...  AND  Create Users With Different Roles  users=${USERS}  force=${True}
279d5de2070SAnves Kumar rayankula    [Template]  Config VMI Static IP Address Using Different Users
280d5de2070SAnves Kumar rayankula    [Teardown]  Delete BMC Users Using Redfish
281d5de2070SAnves Kumar rayankula
282d5de2070SAnves Kumar rayankula    # username     password    ip_address    gateway          nemask           valid_status_code
283d5de2070SAnves Kumar rayankula    admin_user     TestPwd123  ${test_ipv4}  ${test_gateway}  ${test_netmask}  ${HTTP_ACCEPTED}
284d5de2070SAnves Kumar rayankula    readonly_user  TestPwd123  ${test_ipv4}  ${test_gateway}  ${test_netmask}  ${HTTP_FORBIDDEN}
28580ef5ca0SMegha GN
28680ef5ca0SMegha GN
28780ef5ca0SMegha GNVerify To Configure VMI Static IP Address With Operator User Role
28880ef5ca0SMegha GN    [Documentation]  Verify to configure vmi static ip address with operator user role.
28980ef5ca0SMegha GN    [Tags]  Verify_To_Configure_VMI_Static_IP_Address_With_Operator_User_Role
29080ef5ca0SMegha GN    [Setup]  Create Users With Different Roles  users=${USERS}  force=${True}
29180ef5ca0SMegha GN    [Template]  Config VMI Static IP Address Using Different Users
29280ef5ca0SMegha GN    [Teardown]  Delete BMC Users Using Redfish
29380ef5ca0SMegha GN
29480ef5ca0SMegha GN    # username     password    ip_address    gateway          nemask           valid_status_code
29580ef5ca0SMegha GN    operator_user  TestPwd123  ${test_ipv4}  ${test_gateway}  ${test_netmask}  ${HTTP_FORBIDDEN}
296d5de2070SAnves Kumar rayankula
297d5de2070SAnves Kumar rayankula
298d5de2070SAnves Kumar rayankulaVerify To Delete VMI Static IP Address With Different User Roles
299d5de2070SAnves Kumar rayankula    [Documentation]  Verify to delete vmi static IP address with different user roles.
300d5de2070SAnves Kumar rayankula    [Tags]  Verify_To_Delete_VMI_Static_IP_Address_With_Different_User_Roles
301d5de2070SAnves Kumar rayankula    [Setup]  Create Users With Different Roles  users=${USERS}  force=${True}
302d5de2070SAnves Kumar rayankula    [Template]  Delete VMI Static IP Address Using Different Users
303d5de2070SAnves Kumar rayankula    [Teardown]  Delete BMC Users Using Redfish
304d5de2070SAnves Kumar rayankula
305d5de2070SAnves Kumar rayankula    # username     password     valid_status_code
306d5de2070SAnves Kumar rayankula    admin_user     TestPwd123   ${HTTP_ACCEPTED}
307d5de2070SAnves Kumar rayankula    readonly_user  TestPwd123   ${HTTP_FORBIDDEN}
30880ef5ca0SMegha GN
30980ef5ca0SMegha GN
31080ef5ca0SMegha GNVerify To Delete VMI Static IP Address With Operator User Role
31180ef5ca0SMegha GN    [Documentation]  Verify to delete vmi static IP address with operator user role.
31280ef5ca0SMegha GN    [Tags]  Verify_To_Delete_VMI_Static_IP_Address_With_Operator_User_Role
31380ef5ca0SMegha GN    [Setup]  Create Users With Different Roles  users=${USERS}  force=${True}
31480ef5ca0SMegha GN    [Template]  Delete VMI Static IP Address Using Different Users
31580ef5ca0SMegha GN    [Teardown]  Delete BMC Users Using Redfish
31680ef5ca0SMegha GN
31780ef5ca0SMegha GN    # username     password     valid_status_code
31880ef5ca0SMegha GN    operator_user     TestPwd123   ${HTTP_FORBIDDEN}
319d5de2070SAnves Kumar rayankula
320d5de2070SAnves Kumar rayankula
321d5de2070SAnves Kumar rayankulaVerify To Update VMI Static IP Address With Different User Roles
322d5de2070SAnves Kumar rayankula    [Documentation]  Verify to update vmi static IP address with different user roles.
3234203fad2SGeorge Keishing    [Tags]  Verify_To_Update_VMI_Static_IP_Address_With_Different_User_Roles
324d5de2070SAnves Kumar rayankula    [Setup]  Create Users With Different Roles  users=${USERS}  force=${True}
325d5de2070SAnves Kumar rayankula    [Template]  Config VMI Static IP Address Using Different Users
326d5de2070SAnves Kumar rayankula    [Teardown]  Delete BMC Users Using Redfish
327d5de2070SAnves Kumar rayankula
328c7df7db2SShradha Suman    # username     password     ip_address  gateway    netmask       valid_status_code
329c7df7db2SShradha Suman    admin_user     TestPwd123   10.5.10.20  10.5.10.1  255.255.0.0  ${HTTP_ACCEPTED}
330c7df7db2SShradha Suman    readonly_user  TestPwd123   10.5.20.40  10.5.20.1  255.255.0.0  ${HTTP_FORBIDDEN}
33180ef5ca0SMegha GN
33280ef5ca0SMegha GN
33380ef5ca0SMegha GNVerify To Update VMI Static IP Address With Operator User Role
33480ef5ca0SMegha GN    [Documentation]  Verify to update vmi static IP address with operator user role.
33580ef5ca0SMegha GN    [Tags]  Verify_To_Update_VMI_Static_IP_Address_With_Operator_User_Role
33680ef5ca0SMegha GN    [Setup]  Create Users With Different Roles  users=${USERS}  force=${True}
33780ef5ca0SMegha GN    [Template]  Config VMI Static IP Address Using Different Users
33880ef5ca0SMegha GN    [Teardown]  Delete BMC Users Using Redfish
33980ef5ca0SMegha GN
34080ef5ca0SMegha GN    # username     password     ip_address  gateway    netmask       valid_status_code
34180ef5ca0SMegha GN    operator_user  TestPwd123   10.5.10.30  10.5.10.1  255.255.0.0  ${HTTP_FORBIDDEN}
342d5de2070SAnves Kumar rayankula
343d5de2070SAnves Kumar rayankula
344d5de2070SAnves Kumar rayankulaVerify To Read VMI Network Configuration With Different User Roles
345d5de2070SAnves Kumar rayankula    [Documentation]  Verify to read vmi network configuration with different user roles.
3464203fad2SGeorge Keishing    [Tags]  Verify_To_Read_VMI_Network_Configuration_With_Different_User_Roles
347d5de2070SAnves Kumar rayankula    [Setup]  Create Users With Different Roles  users=${USERS}  force=${True}
348d5de2070SAnves Kumar rayankula    [Template]  Read VMI Static IP Address Using Different Users
349d5de2070SAnves Kumar rayankula    [Teardown]  Delete BMC Users Using Redfish
350d5de2070SAnves Kumar rayankula
351d5de2070SAnves Kumar rayankula    # username     password     valid_status_code
352d5de2070SAnves Kumar rayankula    admin_user     TestPwd123   ${HTTP_OK}
353d5de2070SAnves Kumar rayankula    readonly_user  TestPwd123   ${HTTP_OK}
35480ef5ca0SMegha GN
35580ef5ca0SMegha GN
35680ef5ca0SMegha GNVerify To Read VMI Network Configuration With Operator User Role
35780ef5ca0SMegha GN    [Documentation]  Verify to read vmi network configuration with operator user role.
35880ef5ca0SMegha GN    [Tags]  Verify_To_Read_VMI_Network_Configuration_With_Operator_User_Role
35980ef5ca0SMegha GN    [Setup]  Create Users With Different Roles  users=${USERS}  force=${True}
36080ef5ca0SMegha GN    [Template]  Read VMI Static IP Address Using Different Users
36180ef5ca0SMegha GN    [Teardown]  Delete BMC Users Using Redfish
36280ef5ca0SMegha GN
36380ef5ca0SMegha GN    # username     password     valid_status_code
36480ef5ca0SMegha GN    operator_user  TestPwd123   ${HTTP_FORBIDDEN}
36580ef5ca0SMegha GN
366d5de2070SAnves Kumar rayankula
367b361d41bSshrsuman123Enable DHCP On VMI Network Via Different Users Roles And Verify
368b361d41bSshrsuman123    [Documentation]  Enable DHCP On VMI Network Via Different Users Roles And Verify.
369b361d41bSshrsuman123    [Tags]  Enable_DHCP_On_VMI_Network_Via_Different_Users_Roles_And_Verify
370b361d41bSshrsuman123    [Setup]  Create Users With Different Roles  users=${USERS}  force=${True}
371b361d41bSshrsuman123    [Template]  Update User Role And Set VMI IPv4 Origin
372b361d41bSshrsuman123    [Teardown]  Delete BMC Users Using Redfish
373b361d41bSshrsuman123
374b361d41bSshrsuman123    # username     password     dhcp_enabled   valid_status_code
375b361d41bSshrsuman123    admin_user     TestPwd123   ${True}        ${HTTP_ACCEPTED}
376b361d41bSshrsuman123    readonly_user  TestPwd123   ${True}        ${HTTP_FORBIDDEN}
37780ef5ca0SMegha GN
37880ef5ca0SMegha GN
37980ef5ca0SMegha GNEnable DHCP On VMI Network Via Operator User Role And Verify
38080ef5ca0SMegha GN    [Documentation]  Enable DHCP On VMI Network Via Operator User Role And Verify.
38180ef5ca0SMegha GN    [Tags]  Enable_DHCP_On_VMI_Network_Via_Operator_User_Role_And_Verify
38280ef5ca0SMegha GN    [Setup]  Create Users With Different Roles  users=${USERS}  force=${True}
38380ef5ca0SMegha GN    [Template]  Update User Role And Set VMI IPv4 Origin
38480ef5ca0SMegha GN    [Teardown]  Delete BMC Users Using Redfish
38580ef5ca0SMegha GN
38680ef5ca0SMegha GN    # username     password     dhcp_enabled   valid_status_code
38780ef5ca0SMegha GN    operator_user  TestPwd123   ${True}        ${HTTP_FORBIDDEN}
38880ef5ca0SMegha GN
389b361d41bSshrsuman123
390b361d41bSshrsuman123Disable DHCP On VMI Network Via Different Users Roles And Verify
391b361d41bSshrsuman123    [Documentation]  Disable DHCP On VMI Network Via Different Users Roles And Verify.
392b361d41bSshrsuman123    [Tags]  Disable_DHCP_On_VMI_Network_Via_Different_Users_Roles_And_Verify
393b361d41bSshrsuman123    [Setup]  Create Users With Different Roles  users=${USERS}  force=${True}
394b361d41bSshrsuman123    [Template]  Update User Role And Set VMI IPv4 Origin
395b361d41bSshrsuman123    [Teardown]  Delete BMC Users Using Redfish
396b361d41bSshrsuman123
397b361d41bSshrsuman123    # username     password     dhcp_enabled    valid_status_code
398b361d41bSshrsuman123    admin_user     TestPwd123   ${False}        ${HTTP_ACCEPTED}
399b361d41bSshrsuman123    readonly_user  TestPwd123   ${False}        ${HTTP_FORBIDDEN}
40080ef5ca0SMegha GN
40180ef5ca0SMegha GN
40280ef5ca0SMegha GNDisable DHCP On VMI Network Via Operator User Role And Verify
40380ef5ca0SMegha GN    [Documentation]  Disable DHCP On VMI Network Via Operator User Role And Verify.
40480ef5ca0SMegha GN    [Tags]  Disable_DHCP_On_VMI_Network_Via_Operator_User_Role_And_Verify
40580ef5ca0SMegha GN    [Setup]  Create Users With Different Roles  users=${USERS}  force=${True}
40680ef5ca0SMegha GN    [Template]  Update User Role And Set VMI IPv4 Origin
40780ef5ca0SMegha GN    [Teardown]  Delete BMC Users Using Redfish
40880ef5ca0SMegha GN
40980ef5ca0SMegha GN    # username     password     dhcp_enabled    valid_status_code
41080ef5ca0SMegha GN    operator_user  TestPwd123   ${False}        ${HTTP_FORBIDDEN}
411b361d41bSshrsuman123
412e37b0cccSshrsuman123
41355b939e2SAnves Kumar rayankulaEnable And Disable DHCP And Verify
41455b939e2SAnves Kumar rayankula    [Documentation]  verify enable DHCP and disable DHCP.
4154203fad2SGeorge Keishing    [Tags]  Enable_And_Disable_DHCP_And_Verify
41655b939e2SAnves Kumar rayankula
41755b939e2SAnves Kumar rayankula    Set VMI IPv4 Origin  ${True}
41855b939e2SAnves Kumar rayankula    Verify VMI Network Interface Details  ${default}  DHCP  ${default}  ${default}
41955b939e2SAnves Kumar rayankula    Set VMI IPv4 Origin  ${False}
42080ef5ca0SMegha GN    Verify VMI Network Interface Details  ${default}  Static  ${default}  ${default}
42155b939e2SAnves Kumar rayankula
42255b939e2SAnves Kumar rayankula
42355b939e2SAnves Kumar rayankulaMultiple Times Enable And Disable DHCP And Verify
42455b939e2SAnves Kumar rayankula    [Documentation]  Enable and Disable DHCP in a loop and verify VMI gets an IP address from DHCP
42555b939e2SAnves Kumar rayankula    ...  each time when DHCP is enabled
42655b939e2SAnves Kumar rayankula    [Tags]  Multiple_Times_Enable_And_Disable_DHCP_And_Verify
42755b939e2SAnves Kumar rayankula
42855b939e2SAnves Kumar rayankula    FOR  ${i}  IN RANGE  ${2}
42955b939e2SAnves Kumar rayankula      Set VMI IPv4 Origin  ${True}
43055b939e2SAnves Kumar rayankula      Verify VMI Network Interface Details  ${default}  DHCP  ${default}  ${default}
43155b939e2SAnves Kumar rayankula      Set VMI IPv4 Origin  ${False}
43280ef5ca0SMegha GN      Verify VMI Network Interface Details  ${default}  Static  ${default}  ${default}
43355b939e2SAnves Kumar rayankula    END
43455b939e2SAnves Kumar rayankula
43555b939e2SAnves Kumar rayankula
43681fd9db9SAnves Kumar rayankulaAssign Static IPv4 Address With Invalid Netmask To VMI
43781fd9db9SAnves Kumar rayankula    [Documentation]  Assign static IPv4 address with invalid netmask and expect error.
43881fd9db9SAnves Kumar rayankula    [Tags]  Assign_Static_IPv4_Address_With_Invalid_Netmask_To_VMI
43981fd9db9SAnves Kumar rayankula    [Template]  Set Static IPv4 Address To VMI And Verify
44081fd9db9SAnves Kumar rayankula
44181fd9db9SAnves Kumar rayankula    # ip          gateway          netmask         valid_status_code
44281fd9db9SAnves Kumar rayankula    ${test_ipv4}  ${test_gateway}  255.256.255.0   ${HTTP_BAD_REQUEST}
44381fd9db9SAnves Kumar rayankula    ${test_ipv4}  ${test_gateway}  ff.ff.ff.ff     ${HTTP_BAD_REQUEST}
44481fd9db9SAnves Kumar rayankula    ${test_ipv4}  ${test_gateway}  255.255.253.0   ${HTTP_BAD_REQUEST}
44581fd9db9SAnves Kumar rayankula
44681fd9db9SAnves Kumar rayankula
44781fd9db9SAnves Kumar rayankulaAssign Static IPv4 Address With Invalid Gateway To VMI
44881fd9db9SAnves Kumar rayankula    [Documentation]  Add static IPv4 address with invalid gateway and expect error.
44981fd9db9SAnves Kumar rayankula    [Tags]  Assign_Static_IPv4_Address_With_Invalid_Gateway_To_VMI
45081fd9db9SAnves Kumar rayankula    [Template]  Set Static IPv4 Address To VMI And Verify
45181fd9db9SAnves Kumar rayankula
45281fd9db9SAnves Kumar rayankula    # ip          gateway          netmask           valid_status_code
45381fd9db9SAnves Kumar rayankula    ${test_ipv4}  @@@.%%.44.11     ${test_netmask}   ${HTTP_BAD_REQUEST}
45481fd9db9SAnves Kumar rayankula    ${test_ipv4}  0xa.0xb.0xc.0xd  ${test_netmask}   ${HTTP_BAD_REQUEST}
45581fd9db9SAnves Kumar rayankula    ${test_ipv4}  10.3.36          ${test_netmask}   ${HTTP_BAD_REQUEST}
45681fd9db9SAnves Kumar rayankula    ${test_ipv4}  10.3.36.-10      ${test_netmask}   ${HTTP_BAD_REQUEST}
45781fd9db9SAnves Kumar rayankula
45881fd9db9SAnves Kumar rayankula
45902cbfa1aSMegha G NEnable DHCP When Host Is Off And Verify After Poweron
46002cbfa1aSMegha G N    [Documentation]  Enable DHCP when host is off and
46102cbfa1aSMegha G N    ...  check whether it is enabled after poweron.
46202cbfa1aSMegha G N    [Tags]  Enable_DHCP_When_Host_Is_Off_And_Verify_After_Poweron
46302cbfa1aSMegha G N    [Setup]  Redfish Power Off  stack_mode=skip
46402cbfa1aSMegha G N
46502cbfa1aSMegha G N    Set VMI IPv4 Origin  ${True}
46602cbfa1aSMegha G N    Redfish Power On  stack_mode=skip
46702cbfa1aSMegha G N    Verify VMI Network Interface Details  ${default}  DHCP  ${default}  ${default}
46802cbfa1aSMegha G N
46902cbfa1aSMegha G N
4708917468dSMegha G NDisable DHCP When Host Is Off And Verify New State Reflects After Power On
4718917468dSMegha G N    [Documentation]  Disable DHCP when host is off and
4728917468dSMegha G N    ...  get network info and verify that VMI origin is static.
4738917468dSMegha G N    [Tags]  Disable_DHCP_When_Host_Is_Off_And_Verify_New_State_Reflects_After_Power_On
4748917468dSMegha G N    [Setup]  Redfish Power Off  stack_mode=skip
4758917468dSMegha G N
4768917468dSMegha G N    Set VMI IPv4 Origin  ${False}
4778917468dSMegha G N    Redfish Power On  stack_mode=skip
4788917468dSMegha G N    Verify VMI Network Interface Details  ${default}  Static  ${default}  ${default}
4798917468dSMegha G N
4808917468dSMegha G N
48138acd845SMegha G NEnable VMI Stateless Address AutoConfig And Verify
48238acd845SMegha G N    [Documentation]  Enable VMI SLAACv6 and verify an origin.
48338acd845SMegha G N    [Tags]  Enable_VMI_Stateless_Address_AutoConfig_And_Verify
48438acd845SMegha G N
48538acd845SMegha G N    Set VMI SLAACv6 Origin    ${True}
48638acd845SMegha G N
48738acd845SMegha G N    # Check origin is set to slaac and address are getting displayed.
48838acd845SMegha G N    Verify VMI IPv6 Address  SLAAC
48938acd845SMegha G N
49038acd845SMegha G N
491e8c0e428SMegha G NDisable VMI Stateless Address AutoConfig And Verify
492e8c0e428SMegha G N    [Documentation]  Disable VMI SLAACv6 and verify an origin.
493e8c0e428SMegha G N    [Tags]  Disable_VMI_Stateless_Address_AutoConfig_And_Verify
494e8c0e428SMegha G N    [Setup]  Set VMI SLAACv6 Origin    ${True}
495e8c0e428SMegha G N
496e8c0e428SMegha G N    Set VMI SLAACv6 Origin    ${False}
497e8c0e428SMegha G N
498e8c0e428SMegha G N    # Check origin is set to static and slaacv6 address are getting erased.
499e8c0e428SMegha G N    Verify VMI IPv6 Address  Static
500e8c0e428SMegha G N
501e8c0e428SMegha G N
502a37b8dafSMegha G NEnable VMI SLAAC And Check Persistency On BMC Reboot
503a37b8dafSMegha G N    [Documentation]  Enable VMI SLAACv6 and verify its persistency
504a37b8dafSMegha G N    ...  on BMC reboot and this works on the setup where router
505a727d5b1SMegha G N    ...  advertises network prefix.
506a37b8dafSMegha G N    [Tags]  Enable_VMI_SLAAC_And_Check_Persistency_On_BMC_Reboot
507a37b8dafSMegha G N
508a37b8dafSMegha G N    Set VMI SLAACv6 Origin    ${True}
509a37b8dafSMegha G N
510a37b8dafSMegha G N    # Reboot BMC and verify persistency.
511a37b8dafSMegha G N    OBMC Reboot (off)
512a37b8dafSMegha G N    Redfish Power On
513a37b8dafSMegha G N    Wait For Host Boot Progress To Reach Required State
514a727d5b1SMegha G N    Sleep  5s
515a37b8dafSMegha G N
516a37b8dafSMegha G N    # Check origin is set to slaac and address are getting displayed.
517a37b8dafSMegha G N    ${vmi_ipv6addr}=  Verify VMI IPv6 Address  SLAAC
518a37b8dafSMegha G N    Should Not Be Equal  ${vmi_ipv6addr["Address"]}  ${default_ipv6addr}
519a37b8dafSMegha G N
520a37b8dafSMegha G N
5214965738fSMegha G NDisable VMI SLAAC And Check Persistency On BMC Reboot
5224965738fSMegha G N    [Documentation]  Disable VMI SLAACv6 and verify its persistency
5234965738fSMegha G N    ...  on BMC reboot.
5244965738fSMegha G N    [Tags]  Disable_VMI_SLAAC_And_Check_Persistency_On_BMC_Reboot
5254965738fSMegha G N
5264965738fSMegha G N    Set VMI SLAACv6 Origin    ${False}
5274965738fSMegha G N
5284965738fSMegha G N    # Reboot BMC and verify persistency.
5294965738fSMegha G N    OBMC Reboot (off)
5304965738fSMegha G N    Redfish Power On
5314965738fSMegha G N    Wait For Host Boot Progress To Reach Required State
5324965738fSMegha G N
5334965738fSMegha G N    # Check if origin is set to static and SLAAC address are getting erased.
5344965738fSMegha G N    ${vmi_ipv6addr}=  Verify VMI IPv6 Address  Static
5354965738fSMegha G N    Should Be Equal  ${vmi_ipv6addr["Address"]}  ${default_ipv6addr}
5364965738fSMegha G N
5374965738fSMegha G N
538503fa35aSMegha G NDisable VMI DHCPv4 When SLAAC Is Enabled And Verify
539503fa35aSMegha G N    [Documentation]  Disable VMI DHCPv4 parameter when SLAACv6 is enabled
540503fa35aSMegha G N    ...  and check whether the IPv4 address origin is set to static and
541503fa35aSMegha G N    ...  DHCPv4 address is getting erased.
542503fa35aSMegha G N    [Tags]  Disable_VMI_DHCPv4_When_SLAAC_Is_Enabled_And_Verify
543503fa35aSMegha G N    [Setup]  Set VMI IPv4 Origin  ${True}
544503fa35aSMegha G N
545503fa35aSMegha G N    # Set IPv6 origin to SLAAC.
546503fa35aSMegha G N    Set VMI SLAACv6 Origin    ${True}
547503fa35aSMegha G N    Verify VMI IPv6 Address  SLAAC
548503fa35aSMegha G N
549503fa35aSMegha G N    # Disable VMI DHCPv4 and check IPv4 address origin is set to static.
550503fa35aSMegha G N    Set VMI IPv4 Origin  ${False}
551503fa35aSMegha G N    Verify VMI Network Interface Details  ${default}  Static  ${default}  ${default}
552503fa35aSMegha G N
553503fa35aSMegha G N
554df25564bSMegha G NEnable VMI SLAAC When DHCPv6 Is Enabled And Verify
555df25564bSMegha G N    [Documentation]  Enable VMI SLAACv6 when VMI DHCPv6 is enabled and
556df25564bSMegha G N    ...  check IPv6 gets Slaac address and this works on the setup
557df25564bSMegha G N    ...  where router advertise network prefix.
558df25564bSMegha G N    [Tags]  Enable_VMI_SLAAC_When_DHCPv6_Is_Enabled_And_Verify
559df25564bSMegha G N
560df25564bSMegha G N    Set VMI DHCPv6 Property  Enabled
561df25564bSMegha G N
562df25564bSMegha G N    # Enable SLAAC and check whether IPv6 origin is set to SLAAC.
563df25564bSMegha G N    Set VMI SLAACv6 Origin    ${True}
564df25564bSMegha G N
565df25564bSMegha G N    # Check if origin is set to slaac and address are getting displayed.
566df25564bSMegha G N    ${vmi_ipv6addr}=  Verify VMI IPv6 Address  SLAAC
567df25564bSMegha G N    Should Not Be Equal  ${vmi_ipv6addr["Address"]}  ${default_ipv6addr}
568df25564bSMegha G N    Should Be Equal  ${vmi_ipv6addr["PrefixLength"]}  ${prefix_length}
569df25564bSMegha G N
570df25564bSMegha G N
57180b4af3bSMegha G NDisable VMI DHCPv6 Property And Verify
5724ebb3281SGeorge Keishing    [Documentation]  Disable VMI DHCPv6 property and verify IPv6 address
5734ebb3281SGeorge Keishing    ...              origin is set to static and DHCPv6 address is erased.
5744ebb3281SGeorge Keishing    [Tags]  Disable_VMI_DHCPv6_Property_And_Verify
57580b4af3bSMegha G N    [Setup]  Set VMI DHCPv6 Property  Enabled
57680b4af3bSMegha G N
57780b4af3bSMegha G N    Set VMI DHCPv6 Property  Disabled
57880b4af3bSMegha G N
57980b4af3bSMegha G N    # Verify IPv6 address origin is set to static and DHCPv6 address is erased.
58080b4af3bSMegha G N    ${vmi_ipv6addr}=  Verify VMI IPv6 Address  Static
58180b4af3bSMegha G N    Should Be Equal  ${vmi_ipv6addr["Address"]}  ${default_ipv6addr}
58280b4af3bSMegha G N
58380b4af3bSMegha G N
58458be5124SMegha G NEnable VMI SLAAC When DHCPv4 Is Enabled And Verify
58558be5124SMegha G N    [Documentation]  On VMI enable SLAAC when DHCPv4 is enabled and verify DHCPv4 settings are intact
58658be5124SMegha G N    ...  and IPv6 origin is set to SLAAC & it gets assigned with SLAAC IPv6 address and this
58758be5124SMegha G N    ...  works on the setup where router advertise network prefix.
58858be5124SMegha G N    [Tags]  Enable_VMI_SLAAC_When_DHCPv4_Is_Enabled_And_Verify
58958be5124SMegha G N    [Setup]  Set VMI IPv4 Origin  ${True}
59058be5124SMegha G N
59158be5124SMegha G N    # Enable Autoconfig address and check whether IPv6 address origin is set to SLAAC.
59258be5124SMegha G N    Set VMI SLAACv6 Origin  ${True}
59358be5124SMegha G N    Verify VMI IPv6 Address  SLAAC
59458be5124SMegha G N
59558be5124SMegha G N    # Check there is no impact on IPv4 settings, IPv4 address origin should be DHCP.
59658be5124SMegha G N    Verify VMI Network Interface Details  ${default}  DHCP  ${default}  ${default}
597f9867143SMegha G N
598f9867143SMegha G N
599f9867143SMegha G NDisable VMI DHCPv6 Property And Check Persistency On BMC Reboot
600f9867143SMegha G N    [Documentation]  Disable VMI DHCPv6 property and verify its persistency on
601f9867143SMegha G N    ...  BMC reboot.
602f9867143SMegha G N    [Tags]  Disable_VMI_DHCPv6_Property_And_Check_Persistency_On_BMC_Reboot
603f9867143SMegha G N    [Setup]  Set VMI DHCPv6 Property  Enabled
604f9867143SMegha G N
605f9867143SMegha G N    Set VMI DHCPv6 Property  Disabled
606f9867143SMegha G N
607f9867143SMegha G N    # Reboot BMC and verify persistency.
608f9867143SMegha G N    OBMC Reboot (off)
609f9867143SMegha G N
610f9867143SMegha G N    # Verify IPv6 address origin is set to Static and DHCPv6 address is erased.
611f9867143SMegha G N    ${vmi_ipv6addr}=  Verify VMI IPv6 Address  Static
612f9867143SMegha G N    Should Be Equal  ${vmi_ipv6addr["Address"]}  ${default_ipv6addr}
61358be5124SMegha G N
61458be5124SMegha G N
61595e37d88SMegha G NEnable VMI SLAAC When IPv4 Origin Is Static And Verify
61695e37d88SMegha G N    [Documentation]  On VMI enable SLAAC when IPv4 origin is static and verify IPv4 settings are intact
61795e37d88SMegha G N    ...  and IPv6 origin is set to SLAAC & it gets assigned with SLAAC IPv6 address and this works
61895e37d88SMegha G N    ...  on the setup where router advertise network prefix.
61995e37d88SMegha G N    [Tags]  Enable_VMI_SLAAC_When_IPv4_Origin_Is_Static_And_Verify
62095e37d88SMegha G N    [Setup]  Set Static IPv4 Address To VMI And Verify  ${test_ipv4}  ${test_gateway}  ${test_netmask}
62195e37d88SMegha G N    [Teardown]  Run keywords  Delete VMI IPv4 Address  AND  Test Teardown Execution
62295e37d88SMegha G N
62395e37d88SMegha G N    # Enable Autoconfig address and check whether IPv6 address origin is set to SLAAC.
62495e37d88SMegha G N    Set VMI SLAACv6 Origin  ${True}
62595e37d88SMegha G N    Verify VMI IPv6 Address  SLAAC
62695e37d88SMegha G N
62795e37d88SMegha G N    # Check there is no impact on IPv4 settings, IPv4 address origin should be Static.
62895e37d88SMegha G N    Verify VMI Network Interface Details  ${test_ipv4}  Static  ${test_gateway}  ${test_netmask}
62995e37d88SMegha G N
63095e37d88SMegha G N
63197af3bf3SMegha G NConfigure Static VMI IPv6 Address And Verify
63297af3bf3SMegha G N    [Documentation]  Add static VMI IPv6 address and check whether IPv6 origin is set to static
63397af3bf3SMegha G N    ...  and Static IPv6 address is assigned.
63497af3bf3SMegha G N    [Tags]  Configure_Static_VMI_IPv6_Address_And_Verify
63597af3bf3SMegha G N
63697af3bf3SMegha G N    Set Static VMI IPv6 Address  ${test_vmi_ipv6addr}  ${prefix_length}
63797af3bf3SMegha G N
63897af3bf3SMegha G N    # Verify IPv6 address origin is set to static and static IPv6 address is assigned.
63997af3bf3SMegha G N    ${vmi_ipv6addr}=  Verify VMI IPv6 Address  Static
64097af3bf3SMegha G N    Should Not Be Equal  ${vmi_ipv6addr["Address"]}  ${default_ipv6addr}
64197af3bf3SMegha G N    Should Be Equal  ${vmi_ipv6addr["PrefixLength"]}  ${prefix_length}
64297af3bf3SMegha G N
64397af3bf3SMegha G N
644e0e055d0SMegha G NConfigure IPv6 Static Default Gateway On VMI And Verify
645e0e055d0SMegha G N    [Documentation]  Configure IPv6 static default gateway on VMI and verify.
646e0e055d0SMegha G N    [Tags]  Configure_IPv6_Static_Default_Gateway_On_VMI_And_Verify
6471361edf0SMegha G N    [Setup]  Set Static VMI IPv6 Address  ${test_vmi_ipv6addr}  ${prefix_length}
648e0e055d0SMegha G N
649e0e055d0SMegha G N    Set VMI IPv6 Static Default Gateway  ${test_vmi_ipv6gateway}
650e0e055d0SMegha G N
651e0e055d0SMegha G N    ${resp}=  Redfish.Get
652e0e055d0SMegha G N    ...  /redfish/v1/Systems/hypervisor/EthernetInterfaces/${ethernet_interface}
6531361edf0SMegha G N    ${vmi_ipv6_gateways}=  Get From Dictionary  ${resp.dict}  IPv6StaticDefaultGateways
6541361edf0SMegha G N    ${vmi_ipv6_gateway} =  Get From List  ${vmi_ipv6_gateways}  0
6551361edf0SMegha G N    Should Be Equal  ${vmi_ipv6_gateway["Address"]}  ${test_vmi_ipv6gateway}
656e0e055d0SMegha G N
657e0e055d0SMegha G N
658a2148339SMegha G NDelete VMI Static IPv6 Address And Verify
659a2148339SMegha G N    [Documentation]  Delete VMI static IPv6 address and verify address is erased.
660a2148339SMegha G N    [Tags]  Delete_VMI_Static_IPv6_Address_And_Verify
661a2148339SMegha G N    [Setup]  Set Static VMI IPv6 Address  ${test_vmi_ipv6addr}  ${prefix_length}
662a2148339SMegha G N
663a2148339SMegha G N    # Delete VMI static IPv6 address.
664a2148339SMegha G N    Delete VMI IPv6 Static Address
665a2148339SMegha G N
666a2148339SMegha G N    # Verify VMI static IPv6 address is erased.
667a2148339SMegha G N    ${vmi_ipv6addr}=  Verify VMI IPv6 Address  Static
668a2148339SMegha G N    Should Not Be Equal  ${vmi_ipv6addr["Address"]}  ${test_vmi_ipv6addr}
669a2148339SMegha G N    Should Be Equal  ${vmi_ipv6addr["Address"]}  ${default_ipv6addr}
670a2148339SMegha G N
671a2148339SMegha G N
672d9ba2b42SMegha G NEnable VMI DHCPv6 When IPv6 Origin Is Static And Verify
673d9ba2b42SMegha G N    [Documentation]  Enable VMI DHCPv6 when IPv6 origin is in static and verify
674d9ba2b42SMegha G N    ...  origin is set to DHCP and check if static IPv6 address is erased.
675d9ba2b42SMegha G N    [Tags]  Enable_VMI_DHCPv6_When_IPv6_Origin_Is_Static_And_Verify
676d9ba2b42SMegha G N
677d9ba2b42SMegha G N    Set Static VMI IPv6 Address  ${test_vmi_ipv6addr}  ${prefix_length}
678d9ba2b42SMegha G N    ${vmi_ipv6addr_static}=  Verify VMI IPv6 Address  Static
679d9ba2b42SMegha G N
680d9ba2b42SMegha G N    Sleep  5s
681d9ba2b42SMegha G N
682d9ba2b42SMegha G N    # Enable DHCPv6 property.
683d9ba2b42SMegha G N    Set VMI DHCPv6 Property  Enabled
684d9ba2b42SMegha G N
685d9ba2b42SMegha G N    # Check origin is set to DHCP and static IPv6 address is erased.
686d9ba2b42SMegha G N    ${vmi_dhcpv6addr}=  Verify VMI IPv6 Address  DHCPv6
687d9ba2b42SMegha G N    Should Not Be Equal  ${vmi_dhcpv6addr["Address"]}  ${vmi_ipv6addr_static["Address"]}
688d9ba2b42SMegha G N
689d9ba2b42SMegha G N
6903e2cf0daSMegha G NConfigure Invalid Static IPv6 To VMI And Verify
6913e2cf0daSMegha G N    [Documentation]  Configure invalid static IPv6 address to VMI and verify that address
6923e2cf0daSMegha G N    ...  does not get assigned and it throws an error.
6933e2cf0daSMegha G N    [Tags]  Configure_Invalid_Static_IPv6_To_VMI_And_Verify
6943e2cf0daSMegha G N    [Setup]  Set Static VMI IPv6 Address  ${test_vmi_ipv6addr}  ${prefix_length}
6953e2cf0daSMegha G N    [Template]  Set VMI Invalid Static IPv6 Address And Verify
6963e2cf0daSMegha G N
6973e2cf0daSMegha G N    # invalid_vmi_ipv6addr     invalid_prefix_length     valid_status_codes
6983e2cf0daSMegha G N    ${default_ipv6addr}        128                       ${HTTP_BAD_REQUEST}
6993e2cf0daSMegha G N    ${multicast_ipv6addr}      8                         ${HTTP_BAD_REQUEST}
7003e2cf0daSMegha G N    ${loopback_ipv6addr}       64                        ${HTTP_BAD_REQUEST}
7013e2cf0daSMegha G N    ${ipv4_hexword_addr}       64                        ${HTTP_BAD_REQUEST}
7023e2cf0daSMegha G N
7033e2cf0daSMegha G N
704f719f24fSMegha G NDelete IPv6 Static Default Gateway On VMI And Verify
705f719f24fSMegha G N    [Documentation]  Delete IPv6 static default gateway and verify address is erased.
706f719f24fSMegha G N    [Tags]  Delete_IPv6_Static_Default_Gateway_On_VMI_And_Verify
707f719f24fSMegha G N    [Setup]  Run Keywords  Set Static VMI IPv6 Address  ${test_vmi_ipv6addr}  ${prefix_length}
708f719f24fSMegha G N    ...  AND  Set VMI IPv6 Static Default Gateway  ${test_vmi_ipv6gateway}
709f719f24fSMegha G N
710f719f24fSMegha G N    # Delete IPv6 static default gateway address.
711f719f24fSMegha G N    Delete VMI IPv6 Static Default Gateway Address
712f719f24fSMegha G N
713f719f24fSMegha G N    Sleep  5s
714f719f24fSMegha G N
715f719f24fSMegha G N    # Verify static IPv6 default gateway address is deleted.
716f719f24fSMegha G N    ${resp}=  Redfish.Get
717f719f24fSMegha G N    ...  /redfish/v1/Systems/hypervisor/EthernetInterfaces/${ethernet_interface}
718f719f24fSMegha G N    Should Be Empty  ${resp.dict["IPv6StaticDefaultGateways"]}
719f719f24fSMegha G N
720f719f24fSMegha G N
721*619d870cSMegha G NDisable VMI DHCPv6 When DHCPv4 Is Enabled And Verify
722*619d870cSMegha G N    [Documentation]  Disable VMI DHCPv6 property when DHCPv4 is enabled and verify
723*619d870cSMegha G N    ...  DHCPv4 settings are intact and verify IPv6 address origin is set to static.
724*619d870cSMegha G N    [Tags]  Disable_VMI_DHCPv6_When_DHCPv4_Is_Enabled_And_Verify
725*619d870cSMegha G N    [Setup]  Run Keywords  Set VMI DHCPv6 Property  Enabled
726*619d870cSMegha G N    ...  AND  Set VMI IPv4 Origin  ${True}
727*619d870cSMegha G N
728*619d870cSMegha G N    Set VMI DHCPv6 Property  Disabled
729*619d870cSMegha G N
730*619d870cSMegha G N    # Verify IPv6 address origin is set to static and DHCPv6 address is erased.
731*619d870cSMegha G N    ${vmi_ipv6addr}=  Verify VMI IPv6 Address  Static
732*619d870cSMegha G N    Should Be Equal  ${vmi_ipv6addr["Address"]}  ${default_ipv6addr}
733*619d870cSMegha G N
734*619d870cSMegha G N    # Check there is no impact on IPv4 settings, IPv4 address origin should be DHCP.
735*619d870cSMegha G N    Verify VMI Network Interface Details  ${default}  DHCP  ${default}  ${default}
736*619d870cSMegha G N
737*619d870cSMegha G N
73806a169dcSVijay*** Keywords ***
73906a169dcSVijay
740d7deb89aSAnves Kumar rayankulaSuite Setup Execution
741d7deb89aSAnves Kumar rayankula    [Documentation]  Do test setup execution task.
742d7deb89aSAnves Kumar rayankula
743d7deb89aSAnves Kumar rayankula    Redfish.Login
744d0b4da9cSMegha G N
745d0b4da9cSMegha G N    Redfish Power Off
746d0b4da9cSMegha G N    Set BIOS Attribute  pvm_hmc_managed  Enabled
7471e53824eSMegha G N    Set BIOS Attribute  pvm_stop_at_standby  Disabled
7481e53824eSMegha G N
749d7deb89aSAnves Kumar rayankula    Redfish Power On
7501e53824eSMegha G N    Wait For Host Boot Progress To Reach Required State
75186507da8SMegha G N
752d7deb89aSAnves Kumar rayankula    ${active_channel_config}=  Get Active Channel Config
753d7deb89aSAnves Kumar rayankula    Set Suite Variable   ${active_channel_config}
754bfb851b8Sshrsuman123    Set Suite Variable  ${ethernet_interface}  ${active_channel_config['${CHANNEL_NUMBER}']['name']}
755d7deb89aSAnves Kumar rayankula    ${resp}=  Redfish.Get
756bfb851b8Sshrsuman123    ...  /redfish/v1/Systems/hypervisor/EthernetInterfaces/${ethernet_interface}
75762e5be55Sshrsuman123    ${ip_resp}=  Evaluate  json.loads(r'''${resp.text}''')  json
758d7deb89aSAnves Kumar rayankula    ${length}=  Get Length  ${ip_resp["IPv4StaticAddresses"]}
759d7deb89aSAnves Kumar rayankula    ${vmi_network_conf}=  Run Keyword If  ${length} != ${0}  Get VMI Network Interface Details
760d7deb89aSAnves Kumar rayankula    Set Suite Variable  ${vmi_network_conf}
761d7deb89aSAnves Kumar rayankula
762d7deb89aSAnves Kumar rayankula
763d7deb89aSAnves Kumar rayankulaTest Teardown Execution
764d7deb89aSAnves Kumar rayankula    [Documentation]  Do test teardown execution task.
765d7deb89aSAnves Kumar rayankula
766d7deb89aSAnves Kumar rayankula    FFDC On Test Case Fail
767d7deb89aSAnves Kumar rayankula    ${curr_mode}=  Get Immediate Child Parameter From VMI Network Interface  DHCPEnabled
768d7deb89aSAnves Kumar rayankula    Run Keyword If  ${curr_mode} == ${True}  Set VMI IPv4 Origin  ${False}
7691e53824eSMegha G N    Run Keyword If  '${vmi_network_conf["IPv4_Address"]}' != '${default}'
770f559cbe1Sshrsuman123    ...  Set Static IPv4 Address To VMI And Verify  ${vmi_network_conf["IPv4_Address"]}
771d7deb89aSAnves Kumar rayankula    ...  ${vmi_network_conf["IPv4_Gateway"]}  ${vmi_network_conf["IPv4_SubnetMask"]}
772d7deb89aSAnves Kumar rayankula
773d7deb89aSAnves Kumar rayankula
77406a169dcSVijayGet Immediate Child Parameter From VMI Network Interface
77506a169dcSVijay    [Documentation]  Get immediate child parameter from VMI network interface.
77606a169dcSVijay    [Arguments]  ${parameter}  ${valid_status_code}=${HTTP_OK}
77706a169dcSVijay
77806a169dcSVijay    # Description of argument(s):
77906a169dcSVijay    # parameter          parameter for which value is required. Ex: DHCPEnabled, MACAddress etc.
78006a169dcSVijay    # valid_status_code  Expected valid status code from GET request.
78106a169dcSVijay
782358c41d8SAnves Kumar rayankula    ${resp}=  Redfish.Get
783bfb851b8Sshrsuman123    ...  /redfish/v1/Systems/hypervisor/EthernetInterfaces/${ethernet_interface}
78406a169dcSVijay    ...  valid_status_codes=[${valid_status_code}]
78506a169dcSVijay
78662e5be55Sshrsuman123    ${ip_resp}=  Evaluate  json.loads(r'''${resp.text}''')  json
78706a169dcSVijay    ${value}=  Set Variable If  '${parameter}' != 'DHCPEnabled'   ${ip_resp["${parameter}"]}
78806a169dcSVijay    ...  ${ip_resp["DHCPv4"]["${parameter}"]}
78906a169dcSVijay
790409df05dSGeorge Keishing    RETURN  ${value}
79106a169dcSVijay
7921b64d94aSAnves Kumar rayankula
79306a169dcSVijaySwitch VMI IPv4 Origin And Verify Details
79406a169dcSVijay    [Documentation]  Switch VMI IPv4 origin and verify details.
79506a169dcSVijay
7967936eeeaSAnves Kumar rayankula    ${dhcp_mode_before}=  Get Immediate Child Parameter From VMI Network Interface  DHCPEnabled
797e7dc89abSAnves Kumar rayankula    ${dhcp_enabled}=  Set Variable If  ${dhcp_mode_before} == ${False}  ${True}  ${False}
79806a169dcSVijay
799e7dc89abSAnves Kumar rayankula    ${origin}=  Set Variable If  ${dhcp_mode_before} == ${False}  DHCP  Static
80006a169dcSVijay    Set VMI IPv4 Origin  ${dhcp_enabled}  ${HTTP_ACCEPTED}
8017936eeeaSAnves Kumar rayankula
8027936eeeaSAnves Kumar rayankula    ${dhcp_mode_after}=  Get Immediate Child Parameter From VMI Network Interface  DHCPEnabled
8037936eeeaSAnves Kumar rayankula    Should Not Be Equal  ${dhcp_mode_before}  ${dhcp_mode_after}
8047936eeeaSAnves Kumar rayankula
8057936eeeaSAnves Kumar rayankula    Run Keyword If  ${dhcp_mode_after} == ${True}
8067936eeeaSAnves Kumar rayankula    ...  Verify VMI Network Interface Details  ${default}  ${origin}  ${default}  ${default}
80706a169dcSVijay
808d5de2070SAnves Kumar rayankula
809d5de2070SAnves Kumar rayankulaDelete VMI Static IP Address Using Different Users
810d5de2070SAnves Kumar rayankula    [Documentation]  Update user role and delete vmi static IP address.
811d5de2070SAnves Kumar rayankula    [Arguments]  ${username}  ${password}  ${valid_status_code}
812d5de2070SAnves Kumar rayankula    [Teardown]  Run Keywords  Redfish.Login  AND
813f559cbe1Sshrsuman123    ...  Set Static IPv4 Address To VMI And Verify  ${test_ipv4}  ${test_gateway}
814d5de2070SAnves Kumar rayankula    ...  ${test_netmask}  ${HTTP_ACCEPTED}  AND  Redfish.Logout
815d5de2070SAnves Kumar rayankula
816d5de2070SAnves Kumar rayankula    # Description of argument(s):
817d5de2070SAnves Kumar rayankula    # username            The host username.
818d5de2070SAnves Kumar rayankula    # password            The host password.
819d5de2070SAnves Kumar rayankula    # valid_status_code   The expected valid status code.
820d5de2070SAnves Kumar rayankula
82180ef5ca0SMegha GN    # TODO: operator_user role is not yet supported.
82280ef5ca0SMegha GN    Skip If  '${username}' == 'operator_user'
823d5de2070SAnves Kumar rayankula    Redfish.Login  ${username}  ${password}
824d5de2070SAnves Kumar rayankula    Delete VMI IPv4 Address  delete_param=IPv4StaticAddresses  valid_status_code=${valid_status_code}
825d5de2070SAnves Kumar rayankula
826d5de2070SAnves Kumar rayankula
827d5de2070SAnves Kumar rayankulaConfig VMI Static IP Address Using Different Users
828d5de2070SAnves Kumar rayankula   [Documentation]  Update user role and update vmi static ip address.
829d5de2070SAnves Kumar rayankula   [Arguments]  ${username}  ${password}  ${ip}  ${gateway}  ${netmask}
830d5de2070SAnves Kumar rayankula   ...  ${valid_status_code}
831d5de2070SAnves Kumar rayankula
832d5de2070SAnves Kumar rayankula    # Description of argument(s):
833d5de2070SAnves Kumar rayankula    # username            The host username.
834d5de2070SAnves Kumar rayankula    # password            The host password.
835d5de2070SAnves Kumar rayankula    # ip                  IP address to be added (e.g. "10.7.7.7").
836d5de2070SAnves Kumar rayankula    # subnet_mask         Subnet mask for the IP to be added
837d5de2070SAnves Kumar rayankula    #                     (e.g. "255.255.0.0").
838d5de2070SAnves Kumar rayankula    # gateway             Gateway for the IP to be added (e.g. "10.7.7.1").
839d5de2070SAnves Kumar rayankula    # valid_status_code   The expected valid status code.
840d5de2070SAnves Kumar rayankula
84180ef5ca0SMegha GN    # TODO: operator_user role is not yet supported.
84280ef5ca0SMegha GN    Skip If  '${username}' == 'operator_user'
843d5de2070SAnves Kumar rayankula    Redfish.Login  ${username}  ${password}
8441b64d94aSAnves Kumar rayankula    Set Static IPv4 Address To VMI And Verify  ${ip}  ${gateway}  ${netmask}  ${valid_status_code}
845d5de2070SAnves Kumar rayankula
846d5de2070SAnves Kumar rayankula
847d5de2070SAnves Kumar rayankulaRead VMI Static IP Address Using Different Users
848d5de2070SAnves Kumar rayankula   [Documentation]  Update user role and read vmi static ip address.
849d5de2070SAnves Kumar rayankula   [Arguments]  ${username}  ${password}  ${valid_status_code}
850d5de2070SAnves Kumar rayankula
851d5de2070SAnves Kumar rayankula    # Description of argument(s):
852d5de2070SAnves Kumar rayankula    # username            The host username.
853d5de2070SAnves Kumar rayankula    # password            The host password.
854d5de2070SAnves Kumar rayankula    # valid_status_code   The expected valid status code.
855d5de2070SAnves Kumar rayankula
85680ef5ca0SMegha GN    # TODO: operator_user role is not yet supported.
85780ef5ca0SMegha GN    Skip If  '${username}' == 'operator_user'
858d5de2070SAnves Kumar rayankula    Redfish.Login  ${username}  ${password}
859d5de2070SAnves Kumar rayankula    Redfish.Get
860bfb851b8Sshrsuman123    ...  /redfish/v1/Systems/hypervisor/EthernetInterfaces/${ethernet_interface}
861d5de2070SAnves Kumar rayankula    ...  valid_status_codes=[${valid_status_code}]
862d5de2070SAnves Kumar rayankula
863d5de2070SAnves Kumar rayankula
864d5de2070SAnves Kumar rayankulaDelete BMC Users Using Redfish
865d5de2070SAnves Kumar rayankula   [Documentation]  Delete BMC users via redfish.
866d5de2070SAnves Kumar rayankula
867d5de2070SAnves Kumar rayankula   Redfish.Login
868d5de2070SAnves Kumar rayankula   Delete BMC Users Via Redfish  users=${USERS}
869b361d41bSshrsuman123
870d52b2731SSweta Potthuri
871b361d41bSshrsuman123Update User Role And Set VMI IPv4 Origin
872b361d41bSshrsuman123    [Documentation]  Update User Role And Set VMI IPv4 Origin.
873b361d41bSshrsuman123    [Arguments]  ${username}  ${password}  ${dhcp_enabled}  ${valid_status_code}
874b361d41bSshrsuman123
875b361d41bSshrsuman123    # Description of argument(s):
876b361d41bSshrsuman123    # username            The host username.
877b361d41bSshrsuman123    # password            The host password.
878b361d41bSshrsuman123    # dhcp_enabled        Indicates whether dhcp should be enabled
879b361d41bSshrsuman123    #                     (${True}, ${False}).
880b361d41bSshrsuman123    # valid_status_code   The expected valid status code.
881b361d41bSshrsuman123
882be428591SMegha GN    # TODO: operator_user role is not yet supported.
883be428591SMegha GN    Skip If  '${username}' == 'operator_user'
884b361d41bSshrsuman123    Redfish.Login  ${username}  ${password}
885b361d41bSshrsuman123    Set VMI IPv4 Origin  ${dhcp_enabled}  ${valid_status_code}
886bfb851b8Sshrsuman123
887d52b2731SSweta Potthuri
888bfb851b8Sshrsuman123Suite Teardown Execution
889bfb851b8Sshrsuman123    [Documentation]  Do suite teardown execution task.
890bfb851b8Sshrsuman123
891bfb851b8Sshrsuman123    Run Keyword If  ${vmi_network_conf} != ${None}
892bfb851b8Sshrsuman123    ...  Set Static IPv4 Address To VMI And Verify  ${vmi_network_conf["IPv4_Address"]}
893bfb851b8Sshrsuman123    ...  ${vmi_network_conf["IPv4_Gateway"]}  ${vmi_network_conf["IPv4_SubnetMask"]}
894b25343dcSshrsuman123    Delete All Redfish Sessions
895bfb851b8Sshrsuman123    Redfish.Logout
8963e2cf0daSMegha G N
8973e2cf0daSMegha G N
8983e2cf0daSMegha G NSet VMI Invalid Static IPv6 Address And Verify
8993e2cf0daSMegha G N    [Documentation]  Set VMI invalid static IPv6 address and verify it throws an error.
9003e2cf0daSMegha G N    [Arguments]  ${invalid_vmi_ipv6addr}  ${invalid_prefix_length}  ${valid_status_codes}
9013e2cf0daSMegha G N    ...  ${interface}=${ethernet_interface}
9023e2cf0daSMegha G N
9033e2cf0daSMegha G N    # Description of argument(s):
9043e2cf0daSMegha G N    # invalid_vmi_ipv6addr           VMI IPv6 address to be added.
9053e2cf0daSMegha G N    # invalid_prefix_length          Prefix length for the VMI IPv6 to be added.
9063e2cf0daSMegha G N    # valid_status_codes             Expected status code for PATCH request.
9073e2cf0daSMegha G N    # interface                      VMI interface (eg. eth0 or eth1).
9083e2cf0daSMegha G N
9093e2cf0daSMegha G N    Set Static VMI IPv6 Address  ${invalid_vmi_ipv6addr}  ${invalid_prefix_length}
9103e2cf0daSMegha G N    ...  ${valid_status_codes}
9113e2cf0daSMegha G N
9123e2cf0daSMegha G N    ${resp}=  Redfish.Get  /redfish/v1/Systems/hypervisor/EthernetInterfaces/${interface}
9133e2cf0daSMegha G N
9143e2cf0daSMegha G N    @{vmi_ipv6_address}=  Get From Dictionary  ${resp.dict}  IPv6Addresses
9153e2cf0daSMegha G N    ${vmi_ipv6_addr}=  Get From List  ${vmi_ipv6_address}  0
9163e2cf0daSMegha G N    Should Not Be Equal  ${vmi_ipv6_addr["Address"]}  ${invalid_vmi_ipv6addr}
917f719f24fSMegha G N
918f719f24fSMegha G N
919f719f24fSMegha G NDelete VMI IPv6 Static Default Gateway Address
920f719f24fSMegha G N    [Documentation]  Delete VMI IPv6 static default gateway address.
921f719f24fSMegha G N    [Arguments]  ${valid_status_codes}=${HTTP_ACCEPTED}
922f719f24fSMegha G N    ...  ${interface}=${ethernet_interface}
923f719f24fSMegha G N
924f719f24fSMegha G N    # Description of argument(s):
925f719f24fSMegha G N    # valid_status_codes       Expected valid status code from PATCH request.
926f719f24fSMegha G N    # interface                VMI interface (eg. eth0 or eth1).
927f719f24fSMegha G N
928f719f24fSMegha G N    ${data}=  Set Variable  {"IPv6StaticDefaultGateways": [${Null}]}
929f719f24fSMegha G N    Redfish.Patch  /redfish/v1/Systems/hypervisor/EthernetInterfaces/${interface}
930f719f24fSMegha G N    ...  body=${data}  valid_status_codes=[${valid_status_codes}]
931