Rahul Maheshwari | 9e7b67a | 2017-08-02 00:29:07 -0500 | [diff] [blame] | 1 | *** Settings *** |
| 2 | |
| 3 | Documentation Test setting network address of host OS. |
| 4 | |
| 5 | Resource ../lib/rest_client.robot |
| 6 | Resource ../lib/ipmi_client.robot |
| 7 | Resource ../lib/utils.robot |
| 8 | Resource ../lib/openbmc_ffdc.robot |
| 9 | Library ../lib/utilities.py |
| 10 | |
| 11 | Test Setup Open Connection And Log In |
Steven Sombar | fac31e9 | 2017-12-15 09:40:34 -0600 | [diff] [blame] | 12 | Test Teardown Test Teardown Execution |
Rahul Maheshwari | 9e7b67a | 2017-08-02 00:29:07 -0500 | [diff] [blame] | 13 | |
Matt Fischer | 6fb70d9 | 2023-10-24 19:06:33 -0600 | [diff] [blame] | 14 | Test Tags Host_Network |
Rahul Maheshwari | 9e7b67a | 2017-08-02 00:29:07 -0500 | [diff] [blame] | 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 | |
| 25 | Set 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 | |
manasarm | 104cc6b | 2018-02-07 12:35:05 +0530 | [diff] [blame] | 46 | ${data}= Read Properties ${NETWORK_MANAGER}host0/intf/addr |
Rahul Maheshwari | 9e7b67a | 2017-08-02 00:29:07 -0500 | [diff] [blame] | 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}= |
manasarm | 104cc6b | 2018-02-07 12:35:05 +0530 | [diff] [blame] | 52 | ... Read Attribute ${NETWORK_MANAGER}host0/intf MACAddress |
Rahul Maheshwari | 9e7b67a | 2017-08-02 00:29:07 -0500 | [diff] [blame] | 53 | Should Be Equal ${new_mac_address} ${mac_address} |
| 54 | |
| 55 | |
| 56 | Set 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 | |
manasarm | 104cc6b | 2018-02-07 12:35:05 +0530 | [diff] [blame] | 68 | ${origin}= Read Attribute ${NETWORK_MANAGER}host0/intf/addr Origin |
Rahul Maheshwari | 9e7b67a | 2017-08-02 00:29:07 -0500 | [diff] [blame] | 69 | ${new_mac_address}= |
manasarm | 104cc6b | 2018-02-07 12:35:05 +0530 | [diff] [blame] | 70 | ... Read Attribute ${NETWORK_MANAGER}host0/intf MACAddress |
Rahul Maheshwari | 9e7b67a | 2017-08-02 00:29:07 -0500 | [diff] [blame] | 71 | Should Contain ${origin} DHCP |
| 72 | Should Be Equal ${new_mac_address} ${mac_address} |
| 73 | |
| 74 | |
| 75 | *** Keywords *** |
| 76 | |
Steven Sombar | fac31e9 | 2017-12-15 09:40:34 -0600 | [diff] [blame] | 77 | Test Teardown Execution |
Rahul Maheshwari | 9e7b67a | 2017-08-02 00:29:07 -0500 | [diff] [blame] | 78 | [Documentation] Do the post test teardown. |
| 79 | |
| 80 | FFDC On Test Case Fail |
| 81 | Run IPMI command ${CLEAR_ADDR} |
| 82 | Close All Connections |