Whitepaper Zero-Touch Bare-metal Server Provisioning Using the iDRAC9 with Auto Config Abstract This technical white paper provides an overview of the Auto Config feature available in iDRAC9 for Dell EMC PowerEdge Servers. The relevant examples about configuring Auto Config by the user interface, RACADM, and Redfish commands are discussed. A list of tentative issues and resolutions is also provided.
Revisions Date Description June 2017 Initial release November 2017 Corrected typos in node on page 38 June 2018 Updated to include information about the firmware repository updates as part of the Server Configuration Profile (SCP) file. The addition of support for JSON format SCP files by iDRAC7 and iDRAC8 2.60.60.60 versions July 2021 Reformatted to focus on iDRAC9. Updated to add details about new IPv6 support in iDRAC9 5.00.00.00.
Table of contents Revisions............................................................................................................................................................................. 2 Acknowledgments ............................................................................................................................................................... 2 Table of contents .................................................................................................................
A 4 Technical support and resources ...............................................................................................................................
Executive summary The ever-growing requirement for reducing redundant processes and increasing availability of business-critical services is evident. Also, it is challenging for the system administrators and data center managers to scale out their IT environment. The iDRAC and DHCP provisioning provides the Auto Config feature to seamlessly onboard servers that are configured in less time.
1 Zero-Touch Overview 1.1 Terms and Definitions DHCP scope option: A Dynamic Host Configuration Protocol (DHCP) server distributes information to clients in a pool of IP addresses. This pool of IP addresses is commonly known as DHCP scope. For example, 192.168.0.100 to 192.168.0.200 is a pool, and scope options can be distributed to clients in this pool.
enterprise number as assigned by IANA. For iDRAC, the identifier string is iDRAC and the enterprise number is 674. DHCPv6 Option 17 is the Vendor-specific Information. This option varies in format from the IPv4 version. This option includes the vendor enterprise number, followed by the vendor-class-data string, and is formatted as an encapsulated suboption. 1.2 Components of the Auto Config feature in iDRAC9 The Auto Config feature in iDRAC 1.
2 Introduction Importance of Auto Config in PowerEdge servers 2.1 8 Interactions between components in Auto Config architecture The sequence of events that are performed on a single iDRAC interacting with the DHCP server for that pool is shown in the following figure. This sequence is repeated for all Dell EMC PowerEdge servers in the pool that are enabled for Auto Config.
Component interactions in Auto Config architecture in PowerEdge servers Note: user inputs are highlighted in blue color, while the file names, commands, scripts, and methods are indicated in the Courier New font style. 2.2 DHCP provisioning options The Auto-Config DHCP Provisioning attribute for an iDRAC can be set to one of four values. This attribute depends on DHCP configuration and can be set only if it is enabled. The values set for the attribute can be viewed using any user privilege level.
2.3 DHCP—current and new configuration options The following table describes the action the iDRAC takes when the Auto Config setting is modified from one state to another: 2.4 Current Setting Auto Config State Transitions New Setting Disable Enable Once Disable Do nothing Enable Once Disable Enable Once after Reset Disable Restart DHCP process. Disable on completion. No change Restart DHCP process. Disable on completion. Enable Once after Reset Wait for iDRAC reset, then Enable Once.
2.5 2.5.1 iDRAC interfaces to enable Auto Config By default, the Auto Config feature is disabled for iDRAC. However, while ordering, you can request to enable this feature in the factory settings. If not enabled from the factory, you can enable it by using any of the interfaces that are discussed in the following sections. See the iDRAC User’s Guide available on the iDRAC support site. Enabling Auto Config using RACADM (local or remote) RACADM provides iDRAC.NIC.
racadm>>set idrac.nic.autoconfig "enable once after reset" racadm set idrac.nic.autoconfig "enable once after reset" [Key=idrac.Embedded.1#NIC.1] Object value modified successfully 3. Validate the Auto Config settings racadm>>get idrac.nic.autoconfig racadm get idrac.nic.autoconfig [Key=idrac.Embedded.1#NIC.1] AutoConfig=Enable Once After Reset 2.5.2 Enabling Auto Config using Redfish Redfish provides the “NIC.1.AutoConfig” attribute to configure Auto Config.
2. To change current value, run PATCH command using requirements below. For success pass, you should see a status code of 200. URI: redfish/v1/Managers/iDRAC.Embedded.1/Oem/Dell/DellAttributes/iDRAC.Embedded.1 Header: content-type application/json Body: {"Attributes":{"NIC.1.
3. Run GET again on URI “redfish/v1/Managers/iDRAC.Embedded.1/Oem/Dell/DellAttributes/iDRAC.Embedde d.1?$select=Attributes/NIC.1.AutoConfig” to validate the new current value.
2.5.3 Enabling Auto Config using iDRAC UI iDRAC UI provides configuring Auto Config at iDRAC Settings/Network/Auto Config. 1. Get the current value for the Auto Config setting.
2. Next change the current value from the dropdown menu and select the Apply button.
3. Once you select the Apply button, you should see a success message for applying the changes. 2.6 17 Using Auto Config in an IPv6 Network Beginning with iDRAC9 5.00.00.00, Auto Config can be used in an IPv6-only or hybrid IPv4/IPv6 network environment.
only network. The feature is enabled with the same settings as described in section 2.5. DHCPv6 is used to retrieve the Vendor-specific Information option from the DHCPv6 server. There are, however, a few notable differences to be aware of. Care must be taken to configure your environment properly, per the points below: 1. If both IPv4 and IPv6 are enabled on the iDRAC, the iDRAC first attempts to retrieve the Vendorspecific Information option using DHCP.
http://downloads.dell.com/Manuals/Common/dellemc-server-config-profile-refguide.pdf Note: Ensure that the selected file share is set up first and can be accessed without any issues. 2.7.1 Get (export) server configuration profiles by using RACADM commands An example is given here to describe the process of exporting server configuration profiles to an NFS share by using RACADM commands in an SSH session. The export job is queried until the job is completed.
URI: redfish/v1/Managers/iDRAC.Embedded.1/Actions/Oem/EID_674_Manager.ExportSystemC onfiguration Header: content-type application/json Body: {"ExportFormat":"JSON","ShareParameters":{"Target":"ALL","IPAddress":"192.168. 0.130","ShareType":"HTTP","ShareName":"http_share","FileName":"R640_SCP_file.j son"}} NOTE: For more details on supported parameters and values, see schema “redfish/v1/Schemas/OemManager_v1.xml.” 2.
3 Performing Firmware Repository Update During Auto Config Beginning with iDRAC9 firmware 3.18.18.18 versions, Server Configuration Profile (SCP) import supports new attribute RepositoryUpdate which is listed under FQDD “System.Embedded.1” in the SCP file. RepositoryUpdate looks to a PowerEdge firmware repository, either “download.dell.com” or a custom repository built using Dell Repository Manager (DRM).
4 Performing Operating System Deployment During Auto Config Beginning with iDRAC9 firmware 4.00.00.00 versions, Server Configuration Profile (SCP) import now supports deploying an operating system (OSD process). These new attributes in the SCP file are under FQDD “LifecycleController.Embedded.1.” First the configuration and repository updates are applied. Then the driver pack can unpack, attach, and boot to an attached ISO and perform the operating system installation.
5 Configuring Windows and Linux DHCP servers to support Auto Config Configuring Windows DHCP server option 43 Configuring Windows DHCP server option 60 Configuring a Linux DHCP server Configuring a Linux DHCPv6 Server The following server “roles” are required: • • 5.1 DHCP server File server (must support CIFS or NFS file sharing).
-s (ShareType): type nfs or 0 for NFS; cifs or 2 for CIFS; http or 5 for HTTP; or https or 6 for HTTPS (mandatory) Note: HTTPS Certificates are not supported with Auto Config. Auto Config ignores certificate warnings. The following additional option flags are supported in iDRAC9 3.00.00.00 and later. These option flags enable the configuration of HTTP proxy parameters and set the retry timeout for accessing the profile file: • • • • • • • -pd (ProxyDefault): Use default proxy setting.
5.2 5. Configuring Windows DHCP server option 43 1. On the DHCP server, click Start Administration Tools DHCP. The DHCP server administration tool is started. 2. Find the server and expand all the items in the tree diagram. 3. Right-click Scope Options and select Configure Options. 4. In the Scope Options dialog box, select the 043 Vendor Specific Info check box. In the ASCII column, enter the IP address of the server where the Server Configuration Profile file is hosted.
3. Right-click IPv4 and select Define Vendor Classes. 4. Click Add. 5. In the Edit Class dialog box, type the following: • • • 6. Display name: Type iDRAC. Description: Type Vendor Class. ASCII: Type iDRAC. Click OK, and then click Close. Figure 19 Windows DHCP Vendor Class dialog box. 7. Right-click IPv4 from the main DHCP console again, and then select Set Predefined Options. 8. From the Option class drop-down menu, select iDRAC as the vendor class, and then click Add.
Figure 20 Windows DHCP Set Predefined Option. 10. Click OK to return to the DHCP console. 11. Expand all items under the server name on the DHCP console. 12. Right-click Scope Options and select Configure Options. 13. Click Advanced. 14. From the Vendor class drop-down menu, select iDRAC. 15. Select the 060 iDRAC check box under Available Options. Under Data entry, type the string value that is sent to the iDRAC to pull the correct Server Configuration Profile file to import.
16. After entering the string, click Apply. This string changes depending on whether the Profile file is hosted in an NFS share or a CIFS share. Note: Test the network share first and ensure that it can be accessed without any issues. The figure shows the screenshot of Windows DHCP console scope options after all editing is complete. Both the 043 and 060 options must be listed. Figure 22 DHCP console with scope options. Note: DHCP services must be restarted after configuring the DHCP server. 5.
Figure 23 Adding the iDRAC Vendor Class. 6. Click OK, and then click Close. 7. Right-click IPv6 from the main DHCP console again, and then select Set Predefined Options. 8. From the Option class drop-down menu, select iDRAC as the vendor class, and then click Add. The Option Type dialog box is displayed. 9. In the Name box, enter iDRAC, select Binary as the datatype, and enter 17 as the code. Figure 24 Setting the Predefined Option 30 10. Click OK to return to the DHCP console. 11.
choosing a stateless DHCPv6 server. In this case, right-click Server Options, select Configure Options, and continue the following steps from there. 13. Click Advanced. 14. From the Vendor class drop-down menu, select iDRAC. 15. Select the 00017 iDRAC check box under Available Options, then select the line. The “Data entry” box populates with a panel to enter data in binary or ASCII format. Figure 25 Adding the Scope Option Under Data entry, click under the ASCII column header.
19. The following figure shows a screenshot of the Windows DHCPv6 console scope options after all editing is complete. Options 00017 and 00032 must be listed. These options are found under Server Options when using a stateless DHCPv6 server. Figure 26 Completed Configuration of DHCPv6 iDRAC Vendor-specific Information Option. 20. 32 If all is well, the DHCPv6 server responds to the iDRAC with the Vendor-specific Information option that has been configured.
Figure 27 Example Wireshark Packet Capture of DHCPv6 Response message. 5.5 Configuring a Linux DHCP server The following instructions are specific to the ISC.org dhcpd server. If a different DHCP server package is used, see its instructions for configuring the Vendor Class and Vendor-specific Information options. 1. Open the Linux DHCP configuration file (for example, /etc/dhcp/dhcpd.
option myname code 43 = text; subnet 192.168.0.0 netmask 255.255.0.0 { #default gateway option routers 192.168.0.1; option subnet-mask 255.255.255.0; option nis-domain "domain.org"; option domain-name "domain.org"; option domain-name-servers 192.168.1.1; option time-offset -18000; # Eastern Standard Time option vendor-class-identifier "iDRAC"; set vendor-string = option vendor-class-identifier; option myname "-f system_config.xml –i 192.168.0.
class "iDRAC" { match if substring (option dhcp6.vendor-class, 0, 6) = 0:0:2:a2:0:5 and substring (option dhcp6.vendor-class, 6, 5) = "iDRAC"; option dhcp6.vsi 674 17 98 "-f config.xml -i 2001:db8::11 -n sambashare/config_files -s 2 -u user -p password -s 2 -d 0 -t 500"; } Note: After editing the dhcpd6.conf file, ensure to restart the dhcpd6 service for the changes to take effect.
6 File naming behavior with iDRAC Auto Config The Filename parameter is most useful when only a single configuration file is required for the servers by using Auto Config. If multiple server configurations are supported, the Filename parameter must be updated and the DHCP server must be restarted for each change in the configuration filename. To simplify the Auto Config process, iDRAC firmware version 3.00.00.
• Configure by using system Service Tag: Export the server configuration file and rename as -config,xml. For each server, create a unique configuration file by using the servers Service Tags. If three new servers with service tags CDVH7R1, CDVH7R2, and CDVH7R3 are to use Auto Config, create three configuration files: “CDVH7R1-config.xml,” “CDVH7R2-config.xml” and “CDVH7R3-config.xml”—each file that is uniquely configured as required.
7 Workflow Examples 7.1 Using RACADM in a Linux environment In this example, a Red Hat Enterprise Linux version 6.6 DHCP server and NFS share is used. A PowerEdge R740 server is deployed in this environment with its BIOS, iDRAC, PERC, and NIC settings configured. A new R740 is arriving, and the goal is to apply the configuration settings from the “gold” R740 to the new R740 by using Auto Config.
-rw-rw-rw1 root root 119340 May [root@sandXD nfs]# 5 12:25 system_config.xml Here is an example of the edited Profile file that is used for this workflow. Observe that unwanted attributes have been removed. Storage related attributes are added to create a virtual drive and to place HardDisk.List.1-1 as first device in the BIOS boot order. PAGE 40starts 2 2020/05/05 20:09:48; ends 6 2020/05/30 20:09:48; cltt 2 2020/05/05 20:09:48; binding state active; next binding state free; } 12. hardware ethernet b0:83:fe:e8:f3:c4; uid "\001\260\203\376\350\363\304"; set vendor-string = "iDRAC"; client-hostname "idrac-69T0C42"; When the Auto Config process starts, a job ID gets created. Using the iDRAC DHCP IP address, start an SSH session to run the RACADM session to query the status of this job ID.
--------------------------- JOB -------------------------[Job ID=JID_308867078109] Job Name=Configure: Import system configuration XML file Status=Running Start Time=[Not Applicable] Expiration Time=[Not Applicable] Message=[SYS031: Updating component configuration.
FQDD DisplayValue Name Status SeqNumber FQDD Job Name DisplayValue Name OldValue Status ErrCode SeqNumber Job Name FQDD SeqNumber Job Name FQDD racadm>> 42 = = = = = = = = = = = = = = = = = = RAID.Integrated.1-1 RAID ZERO RAID ZERO Success 11546 iDRAC.Embedded.1 Import Configuration IPV6 Enable IPv6.1#Enable Disabled Success 0 11545 Import Configuration BIOS.Setup.1-1 11544 Import Configuration NIC.Integrated.
8 Troubleshooting Auto Config issues Issue Resolution The server fails to restart or turn on after enabling Auto Config. 1) 2) The import job ID failed because of inability to access the network share. Check for these common issues: • • • • The Auto Config import job fails when using the Windows DHCP server by indicating that the file is not found. • Check the job queue and determine the status of the Server Configuration Profile import job.
9 Conclusion Auto Config is a powerful feature that allows an IT administrator to configure and provision all components in PowerEdge servers. It allows rapid, automated provisioning of multiple servers. Using Auto Config, configuration changes and firmware updates can be made to multiple servers. Steps include editing the Server Configuration Profile, storing the file in a CIFS or NFS share, and enabling this feature.
A Technical support and resources http://www.dell.com/support Dell Technical Support http://www.dell.com/support/idrac: The iDRAC support home page provides access to product documents, technical white papers, how-to videos, and more. http://www.dell.com/idracmanuals: iDRAC User Guide and other manuals: RFC 2132: DHCP Options and BOOTP Vendor Extensions See sections 8.4 and 9.13 for specifics on the Vendor Class Identifier and Vendor-specific Information options for DHCP.