-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PXE Setting for Network Interface are not exposed in Bios settings for all tested servers #56
Comments
@GR360RY, the Redfish APIs that get/set BIOS attributes are only available in 14G. For 12G/13G, you should see an error message during playbook execution:
With 14G servers, I did not test with every available card that's supported in every server. But the parameter should be available in 14G. |
BIOS PXE attributes are only supported when BIOS boot mode is set to UEFI. When BIOS is in BIOS boot mode, PXE attributes will be suppressed and you will not see them. You can see the same behavior in F2 Setup. When BIOS is in BIOS boot mode, you will not see Network Settings group which contains the PXE attributes for UEFI. On 13G, BIOS added new support for how it handles PXE. When BIOS boot mode is set to BIOS, network card controls PXE support so if you enable PXE for a NIC port in Device Settings, reboot the server, it will now show NIC PXE entry in the BIOS boot order. When BIOS boot mode is set to UEFI, BIOS now controls PXE boot which is why you see PXE attributes. If you go into F2 Device Settings and enable PXE on a NIC port, reboot the server and check UEFI boot order, you will not see a boot entry. You have to go into BIOS network settings and configure PXE attributes which will then expose a PXE NIC entry in the UEFI boot order. This same behavior also exists on 14G BIOS. On iDRAC 8, if you have latest 2.52 version installed, Redfish now supports GET / PATCH for BIOS attributes. |
@texroemer , big thanks for the clarification. I will check this out and update the ticket. |
Hi, i have a R730 in UEFI mode and i can see: "PxeDev1EnDis": "Enabled", the server as an extra pciexpress card 2x10G. We would like to boot PXE from those (actually setting the vlan too). It looks like those parameters are not exposed for 13G. Any workaround? |
Hi, Yes, this is supported and you can configure any NIC port on your server to PXE boot in UEFI mode. The attributes you want to use are: PxeDev1EnDis and PxeDev1Interface. PxeDev1EnDis will enable device 1 for PXE boot in the BIOS and for PxeDev1Interface, you will set this to the NIC port FQDD string you want to PXE boot to. To get supported and correct possible NIC port FQDD string values, view the BIOS attribute registry: "redfish/v1/Systems/System.Embedded.1/Bios/BiosRegistry" In the example below using Redfish with Powershell cmdlet, i'm going to:
PS C:> Set-MultipleBIOSAttributesREDFISH -idrac_ip 192.168.0.120 -idrac_username root -idrac_password
|
that's great it's working for me. Do you know how to get the mac address of external slot/ports too? with System inventory i could only find those of integrated eth ports |
Actually i was wrong:
the name is always System Ethernet Interface even with external pci-e cards and the speed is always 0. i would like to get my external 10G cards mac address only |
GET on URI "redfish/v1/Systems/System.Embedded.1/EthernetInterfaces" will return URIs for all network devices detected. Execute GET on one of these URIs to get the MAC address for that specific port. Example of output using GET command on URI "redfish/v1/Systems/System.Embedded.1/EthernetInterfaces":
Example of output using GET command on URI "redfish/v1/Systems/System.Embedded.1/EthernetInterfaces/NIC.Slot.2-1-1":
|
Fine, it's ok, but problem is that in the web idrac i see "NIC Slot 4: BRCM 10GbE 2P 57810S Adapter" while here the SpeedMbps is always 0 and name "System Ethernet Interface" i can't distinguish. I tried in uefi and bios mode too, i can see:
infact my dhcp server didn't get any requests. If i install a Linux OS and set interface up i can see the link going up even in the idrac web gui. Link connection any settings i'm missing or "just" a critical bug? |
Current shipping iDRAC 7/8 2.52 version with Redfish, support is not there yet to get the Model name but will be there for next release 2.60 which is going to be posted Q2 of this year (June / July time frame). Once 2.60 is released, execute GET on URI "redfish/v1/Systems/System.Embedded.1/NetworkAdapters/{your network device}" will return the model name. For link status showing down with certain version of NIC FW, you hit the issue as you posted the link from Dell support site. Can you update to latest NIC FW which is 14.04.18 from Dell Support Site and see if issue has been resolved? I have 14.04.18 FW installed with no OS on my R730 and iDRAC is reporting the link status as up. |
So, is there a way to see PXE NIC using Boot Mode Bios? |
When the server is in BIOS boot mode, the network device handles PXE boot configuration. Attribute LegacyBootProtocol will be exposed by the network device. Redfish schema doesn't expose this attribute but you can get this setting using Dell Server Configuration Profile (SCP) feature with Redfish. You can export only the NIC attributes and under each FQDD entry, you will see this attribute setting. Example below is NIC FQDD entry from SCP export file showing LegacyBootProtocol attribute:
|
Are there any plans to expose this via redfish for bios settings or is the best way handle this through scp? |
Hi @vvaldez There are plans to add setting these individual network attributes using PATCH operation in future iDRAC releases but this won't be until sometime next year (exact release date has not be identified yet). Thanks |
@texroemer thank you. For now we're going to use SCP but one thing I wonder if it's possible to automate changing the boot setting to UEFI to expose PXE setting, change as desired, then change it back? I would assume the network devices would have the configuration thus available in BIOS boot mode. This would take quite a while with all the reboots but we may be OK with that as it can be fully automated. Thanks again for all your help with redfish and idrac, you always sort as the top thorough answer when we encounter issues on our Dell systems. |
Hi @vvaldez The workflow you requested would not work switching back and forth between boot modes. In BIOS boot mode, PXE configuration is controlled by the network card itself, BIOS does not have any control except it can disable the card. See example below where i use SCP import buffer to pass in the JSON body locally without using an SCP file to set these attributes. JSON body for POST:
|
+1 for this feature Would like to be able to set LegacyBootProto=PXE on a NIC Component (Example: NIC.Slot.1-1-1) via Redfish using the Manager Attributes. |
Is there any status update on this patch feature? As our new servers only have x710 10G cards and need to PXE boot from them, I need to set the LegacyBootProto=PXE via Redfish so that I can also add the x710 cards to the BootOrder. |
Hi @Alex-Bron Yes this is now supported in iDRAC version 5.00.10 and newer. Python and Powershell cmdlets also have also been posted to GitHub for this support. Example below of using Python script to set LegacyBootProto to PXE for NIC.Embedded.1-1-1.
|
Those scripts all seem to run that patch-operation for one NIC, and that's what we were able to duplicate by patching via curl. |
Hi @j20d Configuration jobs are per network FQDD or port so if you want to make attribute changes on multiple NICs, you need to create a config job per each NIC. Once you have created all config jobs, you can now reboot the server and all jobs will execute at once, only one reboot needed to apply changes to all NICs. Example below where i create a config job per embedded NIC. Once i confirm both jobs are in scheduled state, i can reboot the server to run both jobs.
|
I'm trying to achieve setting LegacyBootProto the legacy way, but i can't seem to get it to work. I've been trying to do so with Ansible, using the Py script as guideline. I first tried writing to redfish/v1/Registries/NetworkAttributesRegistry/NetworkAttributesRegistry.json directly, but that is not allowed apparently. It seems that i have to write to something like; However, Perhaps because of the Integrated NIC vs Embedded? It's a Broadcom nic but not sure what the path should be then... Thanks in advance |
Hi @GamerGun Can you please post this issue on the Ansible GitHub page instead. Ansible team at Dell will be able to respond and help you out. https://github.com/ansible/ansible/issues For workflow details on how to configure network attributes, see Redfish FAQ whitepaper section 5. https://dl.dell.com/content/manual16004247-idrac-redfish-faq.pdf?language=en-us Thanks |
Hi @texroemer Well your whitepaper actually solved it for me, so thank you very much. In case someone is interested;
|
Great to hear the whitepaper helped solve the issue. FYI, we also have a couple more Redfish whitepapers posted that can help you with other iDRAC feature workflows. https://dl.dell.com/content/manual9969682-idrac9-racadm-to-redfish-mapping.pdf?language=en-us Thanks |
PxeDev1EnDis
is not exposed in Bios Setting for Gen12, 13 and 14 Platforms.When attempting the enable PXE mode for an Integrated NIC the following errors appears:
This was tested on Dell R720, R730 and R740 with a different set of Daughter Cards ( Intel, Qlogic and Broadcom ). My Broadcom chipset is different then the one that was used in your sample server. In all cases Attributes dict in https://host/redfish/v1/Systems/System.Embedded.1/Bios/ endpoint doesn't have the
PxeDev1EnDis
Attribute. Attempting to apply the values manually withcurl
at https://host/redfish/v1/Systems/System.Embedded.1/Bios/Settings/ results in error :)Example output from Dell R740:
Tested on the following hardware:
@jose-delarosa , any chance you tested this functionality on any other combination of hardware and Daughter Cards ?
The text was updated successfully, but these errors were encountered: