Skip to main content
Version: Next

Task 02: Hardware Discovery via Dell Redfish API

Runbook Azure Dell

DOCUMENT CATEGORY: Runbook SCOPE: Azure Local hardware provisioning PURPOSE: Collect complete hardware inventory, BIOS configuration, and iDRAC configuration from all cluster nodes via Redfish API MASTER REFERENCE: Dell Redfish API Guide

Status: Active


Overview

Discover all cluster node hardware by connecting to each node's iDRAC via the Redfish API from the management server. This task collects everything needed for Tasks 03–05 in a single execution: hardware inventory, complete BIOS configuration, and complete iDRAC configuration.

Data collected per node:

  • Service tag, model, BIOS version, firmware versions
  • iDRAC MAC address
  • System NIC MAC addresses
  • All BIOS attributes (~256 settings) — used in Tasks 04 and 05
  • All iDRAC attributes (~1024 settings) — used in Tasks 04 and 05
  • CPU, memory, storage inventory
No Node Access Required

All scripts in this task run from the management server and connect to iDRAC over the network via HTTPS (port 443). No access to the nodes themselves is required.


Prerequisites

RequirementDetailsSource
iDRAC IPsAll nodes reachable on port 443nodes.<name>.idrac_ip in variables.yml
iDRAC CredentialsAdmin username and passwordKey Vault or variables.yml
Network AccessManagement server can reach iDRAC OOB networkPhase 03 Network Infrastructure
PowerShell 7+Invoke-RestMethod and powershell-yaml moduleManagement server

Variables from variables.yml

PathTypeDescription
nodes.<name>.idrac_ipstringiDRAC IP address for Redfish API connection
nodes.<name>.hostnamestringNode hostname for inventory labeling
nodes.<name>.service_tagstringDell service tag (populated by this task)
nodes.<name>.macs.idracstringiDRAC MAC address (populated by this task)
nodes.<name>.macs.onboard_port1stringManagement NIC MAC (populated by this task)
nodes.<name>.macs.slot3_port1stringPCIe NIC MACs (populated by this task)

Execution Options

When to use: Single nodes, ad-hoc verification, or when scripted access is unavailable

Procedure

  1. Navigate to https://<idrac-ip> and log in with iDRAC credentials
  2. System Information: Dashboard → record Service Tag, Model, BIOS Version
  3. iDRAC MAC: iDRAC Settings → Network → record MAC Address
  4. System NICs: System → Network Devices → record MAC addresses for all ports
  5. Export config: Configuration → Export Server Configuration Profile → JSON format
  6. Repeat for each node

Validation

  • Service tag recorded for all nodes
  • iDRAC MAC addresses recorded for all nodes
  • System NIC MAC addresses recorded for all nodes
  • Configuration profiles exported and stored

Update variables.yml

After collecting data from all nodes, manually update the following fields in variables.yml:

FieldSourceWhere to find it
cluster.nodes[<name>].service_tagService TagDashboard → System Information
cluster.nodes[<name>].idrac_maciDRAC MACiDRAC Settings → Network → MAC Address
cluster.nodes[<name>].management_macManagement NIC MACSystem → Network Devices → MAC for management port
cluster.management_nic_nameNIC adapter nameSystem → Network Devices → adapter name (e.g., Slot 3 Port 1 or Embedded NIC 1)
Save and commit variables.yml after updating

All subsequent tasks depend on these values. Do not proceed to Task 03 until variables.yml is updated and committed.


Output Files

FileDescriptionUsed In
<service-tag>.jsonPer-node hardware, BIOS, iDRAC dataTasks 03, 04, 05

Output location: configs/network-devices/bmc/


Troubleshooting

IssueCauseResolution
Connection refusediDRAC not accessibleVerify iDRAC IP and port 443 reachable from management server
Authentication failedIncorrect credentialsVerify iDRAC password; check root account is enabled
Certificate errorSelf-signed certEnsure PowerShell 7+ and -SkipCertificateCheck is used
TimeoutSlow iDRAC responseCheck iDRAC is responsive via web UI; increase script timeout

Task 01: iDRAC DHCP Reservations↑ Phase 01: Hardware ProvisioningTask 03: Management NIC Reservations →

Version Control

VersionDateAuthorChanges
1.02026-01-01Azure Local Cloud Azure Local CloudnologyInitial document
1.12026-03-03Azure Local Cloud Azure Local CloudnologyFix tab labels, schema keys, standards alignment
1.22026-03-04Azure Local Cloud Azure Local CloudnologyAdd variables.yml update instructions to all three tabs; document Update-InfrastructureYml-FromDiscovery.ps1 integration