1*** Settings *** 2 3Documentation Test setting network address of host OS. 4 5Resource ../lib/rest_client.robot 6Resource ../lib/ipmi_client.robot 7Resource ../lib/utils.robot 8Resource ../lib/openbmc_ffdc.robot 9Library ../lib/utilities.py 10 11Test Setup Open Connection And Log In 12Test Teardown Test Teardown Execution 13 14Force Tags Host_Network 15 16*** Variables *** 17${SET_ADDR_PREFIX} 0x00 0x08 0x61 0x80 0x21 0x70 0x62 0x21 0x00 0x01 0x06 0x04 18${STATIC} 0x00 0x01 #equivalent address type 1 19${DHCP} 0x00 0x00 #equivalent address type 0 20${CLEAR_ADDR} 0x00 0x08 0x61 0x80 0x00 0x00 0x00 0x00 21 22 23*** Test Cases *** 24 25Set Static Host Network Address Via IPMI 26 [Documentation] Set static host network address via IPMI and verify 27 ... IP address set with REST. 28 [Tags] Set_Static_Host_Network_Address_Via_IPMI 29 30 ${ip_address}= utilities.random_ip 31 ${gateway_ip}= utilities.random_ip 32 ${mac_address}= utilities.random_mac 33 ${prefix_length}= Evaluate random.randint(0, 32) modules=random 34 35 ${mac_address_hex}= Mac Address To Hex String ${mac_address} 36 ${ip_address_hex}= IP Address To Hex String ${ip_address} 37 ${gateway_hex}= IP Address To Hex String ${gateway_ip} 38 ${prefix_hex}= Convert To Hex ${prefix_length} prefix=0x lowercase=yes 39 40 ${ipmi_raw_cmd}= Catenate SEPARATOR= 41 ... ${SET_ADDR_PREFIX}${SPACE}${mac_address_hex}${SPACE}${STATIC}${SPACE} 42 ... ${ip_address_hex}${SPACE}${prefix_hex}${SPACE}${gateway_hex} 43 44 Run IPMI command ${ipmi_raw_cmd} 45 46 ${data}= Read Properties ${NETWORK_MANAGER}host0/intf/addr 47 Should Contain ${data["Origin"]} Static 48 Should Be Equal ${data["Address"]} ${ip_address} 49 Should Be Equal ${data["Gateway"]} ${gateway_ip} 50 51 ${new_mac_address}= 52 ... Read Attribute ${NETWORK_MANAGER}host0/intf MACAddress 53 Should Be Equal ${new_mac_address} ${mac_address} 54 55 56Set DHCP Host Address Via IPMI 57 [Documentation] Set dhcp host network address via IPMI and verify 58 ... IP address set with REST. 59 [Tags] Set_DHCP_Host_Address_Via_IPMI 60 61 ${mac_address}= utilities.random_mac 62 ${mac_address_hex}= Mac Address To Hex String ${mac_address} 63 64 ${ipmi_raw_cmd}= Catenate SEPARATOR= 65 ... ${SET_ADDR_PREFIX}${SPACE}${mac_address_hex}${SPACE}${DHCP} 66 Run IPMI command ${ipmi_raw_cmd} 67 68 ${origin}= Read Attribute ${NETWORK_MANAGER}host0/intf/addr Origin 69 ${new_mac_address}= 70 ... Read Attribute ${NETWORK_MANAGER}host0/intf MACAddress 71 Should Contain ${origin} DHCP 72 Should Be Equal ${new_mac_address} ${mac_address} 73 74 75*** Keywords *** 76 77Test Teardown Execution 78 [Documentation] Do the post test teardown. 79 80 FFDC On Test Case Fail 81 Run IPMI command ${CLEAR_ADDR} 82 Close All Connections 83