| *** Settings *** |
| |
| Documentation Test setting network address of host OS. |
| |
| Resource ../lib/rest_client.robot |
| Resource ../lib/ipmi_client.robot |
| Resource ../lib/utils.robot |
| Resource ../lib/openbmc_ffdc.robot |
| Library ../lib/utilities.py |
| |
| Test Setup Open Connection And Log In |
| Test Teardown Test Teardown Execution |
| |
| Test Tags Host_Network |
| |
| *** Variables *** |
| ${SET_ADDR_PREFIX} 0x00 0x08 0x61 0x80 0x21 0x70 0x62 0x21 0x00 0x01 0x06 0x04 |
| ${STATIC} 0x00 0x01 #equivalent address type 1 |
| ${DHCP} 0x00 0x00 #equivalent address type 0 |
| ${CLEAR_ADDR} 0x00 0x08 0x61 0x80 0x00 0x00 0x00 0x00 |
| |
| |
| *** Test Cases *** |
| |
| Set Static Host Network Address Via IPMI |
| [Documentation] Set static host network address via IPMI and verify |
| ... IP address set with REST. |
| [Tags] Set_Static_Host_Network_Address_Via_IPMI |
| |
| ${ip_address}= utilities.random_ip |
| ${gateway_ip}= utilities.random_ip |
| ${mac_address}= utilities.random_mac |
| ${prefix_length}= Evaluate random.randint(0, 32) modules=random |
| |
| ${mac_address_hex}= Mac Address To Hex String ${mac_address} |
| ${ip_address_hex}= IP Address To Hex String ${ip_address} |
| ${gateway_hex}= IP Address To Hex String ${gateway_ip} |
| ${prefix_hex}= Convert To Hex ${prefix_length} prefix=0x lowercase=yes |
| |
| ${ipmi_raw_cmd}= Catenate SEPARATOR= |
| ... ${SET_ADDR_PREFIX}${SPACE}${mac_address_hex}${SPACE}${STATIC}${SPACE} |
| ... ${ip_address_hex}${SPACE}${prefix_hex}${SPACE}${gateway_hex} |
| |
| Run IPMI command ${ipmi_raw_cmd} |
| |
| ${data}= Read Properties ${NETWORK_MANAGER}host0/intf/addr |
| Should Contain ${data["Origin"]} Static |
| Should Be Equal ${data["Address"]} ${ip_address} |
| Should Be Equal ${data["Gateway"]} ${gateway_ip} |
| |
| ${new_mac_address}= |
| ... Read Attribute ${NETWORK_MANAGER}host0/intf MACAddress |
| Should Be Equal ${new_mac_address} ${mac_address} |
| |
| |
| Set DHCP Host Address Via IPMI |
| [Documentation] Set dhcp host network address via IPMI and verify |
| ... IP address set with REST. |
| [Tags] Set_DHCP_Host_Address_Via_IPMI |
| |
| ${mac_address}= utilities.random_mac |
| ${mac_address_hex}= Mac Address To Hex String ${mac_address} |
| |
| ${ipmi_raw_cmd}= Catenate SEPARATOR= |
| ... ${SET_ADDR_PREFIX}${SPACE}${mac_address_hex}${SPACE}${DHCP} |
| Run IPMI command ${ipmi_raw_cmd} |
| |
| ${origin}= Read Attribute ${NETWORK_MANAGER}host0/intf/addr Origin |
| ${new_mac_address}= |
| ... Read Attribute ${NETWORK_MANAGER}host0/intf MACAddress |
| Should Contain ${origin} DHCP |
| Should Be Equal ${new_mac_address} ${mac_address} |
| |
| |
| *** Keywords *** |
| |
| Test Teardown Execution |
| [Documentation] Do the post test teardown. |
| |
| FFDC On Test Case Fail |
| Run IPMI command ${CLEAR_ADDR} |
| Close All Connections |