1*** Settings *** 2Documentation Network interface configuration and verification 3 ... tests. 4 5Resource ../../lib/bmc_redfish_resource.robot 6Resource ../../lib/bmc_network_utils.robot 7Resource ../../lib/openbmc_ffdc.robot 8 9Test Setup Test Setup Execution 10Test Teardown Test Teardown Execution 11 12*** Test Cases *** 13 14Get IP Address And Verify 15 [Documentation] Get IP Address And Verify. 16 [Tags] Get_IP_Address_And_Verify 17 18 : FOR ${network_configuration} IN @{network_configurations} 19 \ Validate IP On BMC ${network_configuration['Address']} 20 21Get Netmask And Verify 22 [Documentation] Get Netmask And Verify. 23 [Tags] Get_Netmask_And_Verify 24 25 : FOR ${network_configuration} IN @{network_configurations} 26 \ Validate Netmask On BMC ${network_configuration['SubnetMask']} 27 28*** Keywords *** 29 30Test Setup Execution 31 [Documentation] Test setup execution. 32 33 redfish.Login 34 35 @{network_configurations}= Get Network Configuration 36 Set Test Variable @{network_configurations} 37 38 # Get BMC IP address and prefix length. 39 ${ip_data}= Get BMC IP Info 40 Set Test Variable ${ip_data} 41 42Get Network Configuration 43 [Documentation] Get network configuration. 44 45 # Sample output: 46 #{ 47 # "@odata.context": "/redfish/v1/$metadata#EthernetInterface.EthernetInterface", 48 # "@odata.id": "/redfish/v1/Managers/bmc/EthernetInterfaces/eth0", 49 # "@odata.type": "#EthernetInterface.v1_2_0.EthernetInterface", 50 # "Description": "Management Network Interface", 51 # "IPv4Addresses": [ 52 # { 53 # "Address": "169.254.xx.xx", 54 # "AddressOrigin": "IPv4LinkLocal", 55 # "Gateway": "0.0.0.0", 56 # "SubnetMask": "255.255.0.0" 57 # }, 58 # { 59 # "Address": "xx.xx.xx.xx", 60 # "AddressOrigin": "Static", 61 # "Gateway": "xx.xx.xx.1", 62 # "SubnetMask": "xx.xx.xx.xx" 63 # } 64 # ], 65 # "Id": "eth0", 66 # "MACAddress": "xx:xx:xx:xx:xx:xx", 67 # "Name": "Manager Ethernet Interface", 68 # "SpeedMbps": 0, 69 # "VLAN": { 70 # "VLANEnable": false, 71 # "VLANId": 0 72 # } 73 74 ${resp}= redfish.Get ${REDFISH_NW_ETH0_URI} 75 @{network_configurations}= Get From Dictionary ${resp.dict} IPv4Addresses 76 [Return] @{network_configurations} 77 78Validate IP On BMC 79 [Documentation] Validate IP on BMC. 80 [Arguments] ${ip} 81 82 # Description of the argument(s): 83 # ip IP address to be verified. 84 85 # Get IP address details on BMC using IP command. 86 @{ip_data}= Get BMC IP Info 87 Should Contain Match ${ip_data} ${ip}/* 88 ... msg=IP address does not exist. 89 90Validate Netmask On BMC 91 [Documentation] Validate netmask on BMC. 92 [Arguments] ${netmask} 93 94 # Description of the argument(s): 95 # netmask netmask value to be verified. 96 97 # TBD- openbmc/openbmc-test-automation#1541 98 99Test Teardown Execution 100 [Documentation] Test teardown execution. 101 102 FFDC On Test Case Fail 103 redfish.Logout 104