Objective: Verify that providing --dns-zone-rg-name with --assign-identity-roles passes validation and proceeds to Azure API calls.
$ hypershift create infra azure \
--name test-s6 \
--infra-id test-s6 \
--azure-creds /Users/brcox/.azure/self-managed-azure-credentials.json \
--base-domain hcp-sm-azure.azure.devcluster.openshift.com \
--location eastus \
--dns-zone-rg-name os4-common \
--workload-identities-file wi-s6.json \
--assign-identity-roles \
--output-file s6-infra-output.json
{"level":"info","ts":"2026-06-17T11:35:59-04:00","msg":"Using credentials from file","path":"/Users/brcox/.azure/self-managed-azure-credentials.json"}
{"level":"info","ts":"2026-06-17T11:36:00-04:00","msg":"Successfully created resource group","name":"test-s6-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:00-04:00","msg":"Successfully created resource group","name":"test-s6-nsg-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:01-04:00","msg":"Successfully created network security group","ID":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-nsg-test-s6/providers/Microsoft.Network/networkSecurityGroups/test-s6-test-s6-nsg"}
{"level":"info","ts":"2026-06-17T11:36:01-04:00","msg":"Successfully created resource group","name":"test-s6-vnet-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:01-04:00","msg":"Creating new subnet for vnet creation"}
{"level":"info","ts":"2026-06-17T11:36:01-04:00","msg":"Successfully created vnet","ID":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-vnet-test-s6/providers/Microsoft.Network/virtualNetworks/test-s6-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:04-04:00","msg":"successfully created role assignment","role":"a1f96423-95ce-4224-ab27-4e3dc72facd4","assigneeID":"38bd2413-83dc-452d-a3df-891991ca9292","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:07-04:00","msg":"successfully created role assignment","role":"a1f96423-95ce-4224-ab27-4e3dc72facd4","assigneeID":"38bd2413-83dc-452d-a3df-891991ca9292","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-nsg-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:10-04:00","msg":"successfully created role assignment","role":"a1f96423-95ce-4224-ab27-4e3dc72facd4","assigneeID":"38bd2413-83dc-452d-a3df-891991ca9292","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-vnet-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:13-04:00","msg":"successfully created role assignment","role":"0d7aedc0-15fd-4a67-a412-efad370c947e","assigneeID":"bc50afa4-7eda-48fc-9493-a81d6f9f5723","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:15-04:00","msg":"successfully created role assignment","role":"0d7aedc0-15fd-4a67-a412-efad370c947e","assigneeID":"bc50afa4-7eda-48fc-9493-a81d6f9f5723","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-nsg-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:18-04:00","msg":"successfully created role assignment","role":"0d7aedc0-15fd-4a67-a412-efad370c947e","assigneeID":"bc50afa4-7eda-48fc-9493-a81d6f9f5723","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-vnet-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:20-04:00","msg":"successfully created role assignment","role":"5b7237c5-45e1-49d6-bc18-a1f62f400748","assigneeID":"33daabbd-bf73-4a5b-9207-561587fbe10a","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:28-04:00","msg":"successfully created role assignment","role":"0336e1d3-7a87-462b-b6db-342b63f7802c","assigneeID":"dba0eeaf-2dc7-4e4d-b231-6d272dca29d8","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:34-04:00","msg":"successfully created role assignment","role":"0336e1d3-7a87-462b-b6db-342b63f7802c","assigneeID":"dba0eeaf-2dc7-4e4d-b231-6d272dca29d8","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-vnet-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:35-04:00","msg":"successfully created role assignment","role":"0336e1d3-7a87-462b-b6db-342b63f7802c","assigneeID":"dba0eeaf-2dc7-4e4d-b231-6d272dca29d8","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/os4-common"}
{"level":"info","ts":"2026-06-17T11:36:37-04:00","msg":"successfully created role assignment","role":"be7a6435-15ae-4171-8f30-4a343eff9e8f","assigneeID":"6b05256e-3f01-4239-8bc4-4ed1e1530199","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:39-04:00","msg":"successfully created role assignment","role":"be7a6435-15ae-4171-8f30-4a343eff9e8f","assigneeID":"6b05256e-3f01-4239-8bc4-4ed1e1530199","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-vnet-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:42-04:00","msg":"successfully created role assignment","role":"8b32b316-c2f5-4ddf-b05b-83dacd2d08b5","assigneeID":"45bd80aa-5be3-430b-81cd-a790b4c95147","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:47-04:00","msg":"successfully created role assignment","role":"b24988ac-6180-42a0-ab88-20f7382dd24c","assigneeID":"2402a338-0d06-4e4c-a8a3-5320ea205a79","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:50-04:00","msg":"successfully created role assignment","role":"b24988ac-6180-42a0-ab88-20f7382dd24c","assigneeID":"2402a338-0d06-4e4c-a8a3-5320ea205a79","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-nsg-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:55-04:00","msg":"successfully created role assignment","role":"b24988ac-6180-42a0-ab88-20f7382dd24c","assigneeID":"2402a338-0d06-4e4c-a8a3-5320ea205a79","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-vnet-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:57-04:00","msg":"successfully created role assignment","role":"b24988ac-6180-42a0-ab88-20f7382dd24c","assigneeID":"1095f5ba-97e5-4da5-aff7-a933dbd237e3","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-test-s6"}
{"level":"info","ts":"2026-06-17T11:36:59-04:00","msg":"successfully created role assignment","role":"b24988ac-6180-42a0-ab88-20f7382dd24c","assigneeID":"1095f5ba-97e5-4da5-aff7-a933dbd237e3","scope":"/subscriptions/237432b9-9dc5-4b0b-b058-8868ac6a774b/resourceGroups/test-s6-vnet-test-s6"}
{"level":"info","ts":"2026-06-17T11:37:31-04:00","msg":"Successfully created private DNS zone","name":"test-s6-azurecluster.hcp-sm-azure.azure.devcluster.openshift.com"}
{"level":"info","ts":"2026-06-17T11:38:02-04:00","msg":"Successfully created private DNS zone link"}
{"level":"info","ts":"2026-06-17T11:38:03-04:00","msg":"Successfully created public IP address for guest cluster egress load balancer"}
{"level":"info","ts":"2026-06-17T11:38:04-04:00","msg":"Successfully created guest cluster egress load balancer"}
{"level":"info","ts":"2026-06-17T11:38:04-04:00","msg":"Successfully created infrastructure"}
Exit code: 0
| Check | Result |
|---|---|
Command passes validation (no --dns-zone-rg-name is required error) | PASS — No validation error |
| Resource groups created | PASS — test-s6-test-s6, test-s6-nsg-test-s6, test-s6-vnet-test-s6 |
| Role assignments completed | PASS — 18 role assignments across resource groups including os4-common |
| DNS zone and networking created | PASS — Private DNS zone, VNet link, egress LB all created |
| Command exits with zero code | PASS — Exit code: 0, "Successfully created infrastructure" |