Skip to content

[wip] feat: add disable_ip_wait option to skip ip wait - #719

Draft
tenthirtyam wants to merge 1 commit into
mainfrom
feat/add-disable-ip-wait-option
Draft

[wip] feat: add disable_ip_wait option to skip ip wait#719
tenthirtyam wants to merge 1 commit into
mainfrom
feat/add-disable-ip-wait-option

Conversation

@tenthirtyam

Copy link
Copy Markdown
Collaborator

Summary

Adds the disable_ip_wait option (vsphere-iso and vsphere-clone) to allow skipping the guest-reported IP wait when VMware Tools / open-vm-tools are unavailable.

Note: You must set ssh_host or winrm_host; reachability timing uses ssh_timeout or winrm_timeout, not ip_wait_timeout.

Type

  • fix: Bug Fix
  • feat: Feature or Enhancement
  • docs: Documentation
  • refactor: Refactoring
  • chore: Build, Dependencies, Workflows, etc.
  • other: Other (Please describe.)

Breaking Changes?

  • Yes, there are breaking changes.
  • No, there are no breaking changes.

Tests

  • Tests have been added or updated.
  • Tests have been completed.

Output:

Documentation

  • Documentation has been added or updated.

Issue References

Closes #669

Release Note

Additional Information

@tenthirtyam tenthirtyam added this to the v2.2.0 milestone May 22, 2026
@tenthirtyam tenthirtyam self-assigned this May 22, 2026
@tenthirtyam
tenthirtyam requested a review from a team as a code owner May 22, 2026 16:10
@tenthirtyam tenthirtyam added the enhancement Enhancement label May 22, 2026
@github-actions github-actions Bot added documentation Documentation needs-review Needs Review size/l Relative Sizing: Large labels May 22, 2026
@tenthirtyam
tenthirtyam force-pushed the feat/add-disable-ip-wait-option branch 5 times, most recently from d79e616 to 08ce520 Compare May 26, 2026 16:06
@tenthirtyam tenthirtyam modified the milestones: v2.2.0, v2.y.z Jun 15, 2026
@tenthirtyam
tenthirtyam force-pushed the feat/add-disable-ip-wait-option branch from 08ce520 to 130d9e2 Compare June 23, 2026 21:00
@tenthirtyam
tenthirtyam marked this pull request as draft July 1, 2026 19:38
@tenthirtyam tenthirtyam changed the title feat: add disable_ip_wait option to skip ip wait [wip] feat: add disable_ip_wait option to skip ip wait Jul 1, 2026
@tenthirtyam tenthirtyam added the do-not-merge Do Not Merge label Jul 1, 2026
@tenthirtyam
tenthirtyam force-pushed the feat/add-disable-ip-wait-option branch 3 times, most recently from a9c7545 to c278a61 Compare July 8, 2026 14:43
@tenthirtyam
tenthirtyam force-pushed the feat/add-disable-ip-wait-option branch from c278a61 to fc1a1be Compare July 9, 2026 17:33
@tenthirtyam
tenthirtyam force-pushed the feat/add-disable-ip-wait-option branch 4 times, most recently from fe760cd to f7abffe Compare July 17, 2026 20:02
@tenthirtyam
tenthirtyam force-pushed the feat/add-disable-ip-wait-option branch 2 times, most recently from 2d1a290 to b3f528a Compare July 24, 2026 15:04
@tenthirtyam
tenthirtyam force-pushed the feat/add-disable-ip-wait-option branch 3 times, most recently from b3f528a to 078cc79 Compare July 31, 2026 15:15
Adds the `disable_ip_wait` option (vsphere-iso and vsphere-clone) to allow skipping the guest-reported IP wait when VMware Tools / open-vm-tools are unavailable.

You must set `ssh_host` or `winrm_host`; reachability timing uses `ssh_timeout` or `winrm_timeout`, not `ip_wait_timeout`.

Signed-off-by: Ryan Johnson <rya@tenthirtyam.org>
@tenthirtyam
tenthirtyam force-pushed the feat/add-disable-ip-wait-option branch from 078cc79 to c2313da Compare August 4, 2026 13:30
Copilot AI lite review requested due to automatic review settings August 4, 2026 13:30

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a disable_ip_wait configuration option for the vsphere-iso and vsphere-clone builders to skip waiting for a guest-reported IP (VMware Tools/open-vm-tools), allowing builds to proceed directly to communicator reachability when a host is explicitly provided.

Changes:

  • Introduces disable_ip_wait across config decoding/HCL2 specs and gates StepWaitForIp execution in both builders.
  • Adds validation + warning behavior for disable_ip_wait, and adds unit tests around the new validation/defaults.
  • Updates generated documentation to describe the new option and clarify ip_wait_address behavior.

Reviewed changes

Copilot reviewed 10 out of 13 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
docs-partials/builder/vsphere/common/WaitIpConfig-not-required.mdx Documents disable_ip_wait and updates ip_wait_address guidance (generated docs partial).
builder/vsphere/iso/config.hcl2spec.go Adds disable_ip_wait to the iso builder HCL2 spec.
builder/vsphere/iso/config.go Runs disable_ip_wait validation during iso config preparation.
builder/vsphere/iso/builder.go Skips StepWaitForIp when disable_ip_wait is true.
builder/vsphere/common/step_wait_for_ip.hcl2spec.go Adds disable_ip_wait to WaitIpConfig HCL2 spec.
builder/vsphere/common/step_wait_for_ip.go Adds DisableIpWait field + validation/warning messaging; updates docs comments for IP wait settings.
builder/vsphere/common/step_wait_for_ip_test.go Adds unit tests for WaitIpConfig defaults and disable_ip_wait validation.
builder/vsphere/clone/config.hcl2spec.go Adds disable_ip_wait to the clone builder HCL2 spec.
builder/vsphere/clone/config.go Runs disable_ip_wait validation during clone config preparation.
builder/vsphere/clone/config_test.go Adds clone config tests for disable_ip_wait host requirements and warnings.
builder/vsphere/clone/builder.go Skips StepWaitForIp when disable_ip_wait is true.
.web-docs/components/builder/vsphere-iso/README.md Updates generated iso docs for disable_ip_wait and ip_wait_address.
.web-docs/components/builder/vsphere-clone/README.md Updates generated clone docs for disable_ip_wait and ip_wait_address.
Files not reviewed (3)
  • builder/vsphere/clone/config.hcl2spec.go: Generated file
  • builder/vsphere/common/step_wait_for_ip.hcl2spec.go: Generated file
  • builder/vsphere/iso/config.hcl2spec.go: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 35 to +39
// Set this to a CIDR address to cause the service to wait for an address that is contained in
// this network range. Defaults to `0.0.0.0/0` for any IPv4 address. Examples include:
// this network range.
//
// -> **Note:** This only filters which guest-reported IP is accepted; it does not disable IP wait. Use `disable_ip_wait` to skip
// waiting for a guest-reported IP entirely.
errs = append(errs, fmt.Errorf("disable_ip_wait is true but no ssh_host or winrm_host was set"))
}

warnings = append(warnings, "disable_ip_wait is set; ip_wait_timeout, ip_settle_timeout, and ip_wait_address are ignored")
Comment on lines +130 to +132
disableWarnings, disableErrs := c.ValidateDisableIpWait(c.Comm.Host())
warnings = append(warnings, disableWarnings...)
errs = packersdk.MultiErrorAppend(errs, disableErrs...)

- `ip_wait_address` (\*string) - Set this to a CIDR address to cause the service to wait for an address that is contained in
this network range. Defaults to `0.0.0.0/0` for any IPv4 address. Examples include:
this network range.

- `ip_wait_address` (\*string) - Set this to a CIDR address to cause the service to wait for an address that is contained in
this network range. Defaults to `0.0.0.0/0` for any IPv4 address. Examples include:
this network range.

- `ip_wait_address` (\*string) - Set this to a CIDR address to cause the service to wait for an address that is contained in
this network range. Defaults to `0.0.0.0/0` for any IPv4 address. Examples include:
this network range.
Comment on lines +102 to +104
disableWarnings, disableErrs := c.ValidateDisableIpWait(c.Comm.Host())
warnings = append(warnings, disableWarnings...)
errs = packersdk.MultiErrorAppend(errs, disableErrs...)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge Do Not Merge documentation Documentation enhancement Enhancement needs-review Needs Review size/l Relative Sizing: Large

Projects

None yet

Development

Successfully merging this pull request may close these issues.

vsphere-iso: Add a note to ip_wait_address on how to disable the wait

2 participants