Add Environment Validator TSG: AzStackHci_Software_IsNotPartofDomain (Domain Membership)#303
Conversation
…(Domain Membership) Adds a public remediation guide for the pre-deployment Software validator AzStackHci_Software_IsNotPartofDomain (display name "Domain Membership"). The check fails when a machine is already joined to an Active Directory domain before deployment; Azure Local requires each machine to start in a workgroup and joins it to the domain itself during deployment. The TSG covers detection (the deployment Validation step, the targeted validator Invoke-AzStackHciSoftwareValidation -Include Test-IsNotPartofDomain, and the on-machine Event ID 17205), where the failure appears, the affected-machine detail line, the consequence, the remediation (unjoin with Remove-Computer -UnjoinDomainCredential and restart), and verification. The check name, display name, severity, description, the failure and success detail strings, and the remediation text are taken from the validator source. The guidance was validated end to end on a live lab cluster (baseline workgroup, inject a domain join, confirm the real check reports FAILURE with the production signature, run the documented unjoin and restart, confirm the check returns to SUCCESS). Tracked by ADO 38564291. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR adds a new public troubleshooting guide (TSG) for the Environment Validator check AzStackHci_Software_IsNotPartofDomain (“Domain Membership”) and indexes it in the EnvironmentValidator README, improving self-service remediation for pre-deployment failures caused by nodes being domain-joined.
Changes:
- Adds
Troubleshooting-Software-IsNotPartofDomain.mddocumenting symptom location, remediation (unjoin + reboot), and re-validation steps. - Updates
TSG/EnvironmentValidator/README.mdto include the new TSG in the list.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| TSG/EnvironmentValidator/Troubleshooting-Software-IsNotPartofDomain.md | New TSG for the “Domain Membership” validator failure, including remediation and verification steps. |
| TSG/EnvironmentValidator/README.md | Adds an index entry pointing to the new TSG. |
- Add a pre-unjoin step to confirm a working local administrator sign-in before Remove-Computer + restart, so an operator is not locked out of a previously domain-joined machine (review finding, MEDIUM). - Reframe the single-validator instruction: -Include runs only this check; drop the inaccurate "excluded from the default Software run" claim. A bare Invoke-AzStackHciSoftwareValidation runs all checks; the exclude lives only in the deployment orchestrator (Test-AzStackHciSoftware) and is conditional. - Use Restart-Computer -Force in the remediation to avoid a hang. - README: surface the "Domain Membership" display name in the link text. - Related: add the canonical Learn deployment-local-identity link. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Addressed the review feedback (commit b598478):
Merge note: findings 1 and 4 change on-box commands, so per our embedded-test standard the live VM-cluster loop will be re-run (the |
|
Re-validation complete: the domain-membership loop re-validated Grade A on a live masonenode VM cluster (Azure Local build 2607) on 2026-06-25.
This re-exercises the two material changes from the review mitigations: the
|
Drop -Force from the Remove-Computer unjoin command; the restart is already explicit via Restart-Computer -Force. Make the "Azure Local deployment prerequisites" Related reference a clickable Markdown link. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add prompt guidance before the unjoin command (the credential dialog and the confirmation prompt now shown after -Force was removed), equate "machine" and "node" once in the Overview, and use the same illustrative node name (AzL-Node-01) in the verify-step detail line for consistency. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
What this adds
A public remediation TSG for the pre-deployment Environment Validator check AzStackHci_Software_IsNotPartofDomain (display name Domain Membership), plus its entry in the EnvironmentValidator README.
The check fails when a machine is already joined to an Active Directory domain before deployment. Azure Local requires each machine to start in a workgroup, and the deployment process joins it to the domain itself. There was no public remediation guide for this validator.
What the TSG covers
Invoke-AzStackHciSoftwareValidation -Include Test-IsNotPartofDomain, and the on-machine Event ID 17205, with the exact failure detail line.Remove-Computer -UnjoinDomainCredentialand restart, then re-validate. This is the remediation the validator itself recommends.Accuracy and validation
Tracked by ADO 38564291. Follows the same structure as the System Drive Free Space TSG (#302).