Skip to main content
Version: Next

Task 03: Configure Static IP Address

Runbook Azure Dell

DOCUMENT CATEGORY: Runbook SCOPE: Network IP configuration PURPOSE: Assign static management IP addresses to all nodes using explicit IP values from variables.yml — not read from DHCP MASTER REFERENCE: Phase 03: OS Configuration

Status: Active


Overview

Configure a static IP address on the management network adapter of each Azure Local node. All IP parameters — address, subnet prefix, gateway, and DNS — come explicitly from variables.yml. Scripts do not read the current DHCP-assigned address.

Explicit values required — verify before running

All IP values in variables.yml must be correct before running. The scripts hard-fail if any placeholder values remain, and permanently lock in whatever IP you specify.

The process on each node:

  1. Hard-fails at startup if any REPLACE placeholder values remain in the configuration block
  2. Finds the management NIC by exact adapter name — exits and lists all adapters if not found
  3. Checks idempotency — if already correctly configured as static, exits clean
  4. Handles the case where the target IP is currently DHCP-assigned (locks it in as static)
  5. Disables DHCP, removes dynamic IP, sets static IP/prefix/gateway/DNS
  6. Validates: PrefixOrigin = Manual, DHCP = Disabled, gateway route present, DNS set
  7. Retries up to RetryCount times if validation fails

Prerequisites

RequirementDescriptionSource
Tasks 01–02 CompleteWinRM and RDP enabled on all nodesTask 01, Task 02
Management IP per nodeStatic IP to assignvariables.yml: nodes.<name>.management_ip
Subnet prefix lengthe.g. 24 for /24variables.yml: network.management.prefix_length
Default gatewayManagement network gatewayvariables.yml: network.management.gateway
DNS serversPrimary and secondary DNSvariables.yml: dns.primary, dns.secondary
Management NIC nameExact adapter name on all nodesvariables.yml: cluster.management_nic_name (from Phase 01 hardware discovery)

Variables from variables.yml

PathTypeDescription
nodes.<name>.management_ipstringStatic IP to assign to management NIC
network.management.prefix_lengthintegerSubnet prefix (e.g., 24)
network.management.gatewaystringDefault gateway for management network
dns.primarystringPrimary DNS server IP
dns.secondarystringSecondary DNS server IP
cluster.management_nic_namestringManagement adapter name (e.g., Embedded NIC 1)

Execution

Run on each node via iDRAC Virtual Console or RDP.

Identify the Management Adapter Before Starting

The adapter number shown in SConfig varies. Before selecting, run Get-NetAdapter in PowerShell to list all adapters and confirm the correct name. The management adapter name is recorded in variables.yml: cluster.management_nic_name from the iDRAC discovery performed in Phase 01.

Common adapter names by NIC vendor:

VendorTypical Adapter NameNotes
Nvidia / Mellanox ConnectXSlot 3 Port 1 (or Slot X Port 1)Slot number set during Phase 01 iDRAC discovery
Intel (embedded)Embedded NIC 1Standard on Dell PowerEdge embedded Intel NICs
Broadcom (embedded)Embedded NIC 1Standard on Dell PowerEdge embedded Broadcom NICs
  1. Open iDRAC Virtual Console or connect via RDP
  2. Run Get-NetAdapter in PowerShell — note the adapter name matching variables.yml: cluster.management_nic_name
  3. Type SConfig and press Enter (or it auto-launches)
  4. Select option 8 — Network settings
  5. SConfig lists adapters by number — select the number corresponding to your management adapter identified in step 2
  6. Select option 1 — Set Network Adapter Address
  7. Enter S for Static
  8. Enter the static IP address from variables.yml: nodes.<name>.management_ip
  9. Enter the subnet mask (e.g., 255.255.255.0 for /24, 255.255.255.128 for /25)
  10. Enter the default gateway from variables.yml: network.management.gateway
  11. Select option 2 — Set DNS Servers; enter primary from variables.yml: dns.primary
  12. Enter secondary DNS from variables.yml: dns.secondary
  13. Repeat for every node

Validation Checklist

  • Static IP configured on all nodes
  • PrefixOrigin shows Manual on each management adapter
  • DHCP shows Disabled on each management adapter
  • Default gateway reachable from each node
  • DNS servers responding from each node
# Run on each node — verify static assignment
$nic = "Embedded NIC 1" # replace with cluster.management_nic_name from variables.yml
Get-NetIPAddress -InterfaceAlias $nic -AddressFamily IPv4 |
Select-Object IPAddress, PrefixLength, PrefixOrigin

Get-NetIPInterface -InterfaceAlias $nic -AddressFamily IPv4 |
Select-Object InterfaceAlias, Dhcp

# Test gateway and DNS reachability
Test-Connection -ComputerName (Get-NetRoute -AddressFamily IPv4 | Where-Object { $_.DestinationPrefix -eq "0.0.0.0/0" }).NextHop -Count 1 -Quiet
Resolve-DnsName "azure.microsoft.com" -ErrorAction SilentlyContinue | Select-Object Name, IPAddress

Troubleshooting

IssueCauseResolution
Script hard-fails on startupREPLACE placeholder values remainEdit #region CONFIGURATION block with real values
Adapter not found errorNIC name in config doesn't match the nodeRun Get-NetAdapter on the node; update cluster.management_nic_name in variables.yml
Node unreachable after orchestrated runIP changed (no DHCP reservation)Orchestrator will auto-reconnect to target IP; check logs for reconnect status
PrefixOrigin shows Dhcp after scriptDHCP not fully disabledRun Set-NetIPInterface -InterfaceAlias '<nic>' -Dhcp Disabled on the node
Wrong IP locked in permanentlyIncorrect value in variables.ymlCorrect management_ip in yml; rerun the script — it will detect mismatch and reconfigure
Gateway unreachable after configWrong gateway in variables.ymlVerify network.management.gateway; check upstream switch VLAN
DNS not resolvingDNS not set or wrong serversVerify dns.primary / dns.secondary; rerun script

Task 02: Enable RDP↑ Phase 03: OS ConfigurationTask 04: Disable DHCP →

Version Control

VersionDateAuthorChanges
1.02026-01-31Azure Local Cloud Azure Local CloudnologyInitial document
2.02026-03-04Azure Local Cloud Azure Local CloudnologyFull rewrite to standards — complete frontmatter, 4-tab structure
2.12026-03-04Azure Local Cloud Azure Local CloudnologyEmbed full script code in each tab per provisioning runbook standard
2.22026-03-04Azure Local Cloud Azure Local CloudnologyFix SConfig NIC instructions — add vendor table, Get-NetAdapter step
3.02026-03-04Azure Local Cloud Azure Local CloudnologyReplace DHCP-detection scripts with explicit IP configuration; merge Direct+Standalone into Set-StaticIPAddress.ps1; rewrite Orchestrated with session-loss handling and per-node IP from yml; remove Standalone tab