Skip to content

fix: delegate VM RPyC readiness to RPyCConnection retry mechanism - #25

Merged
mchromin merged 1 commit into
intel:mainfrom
mkwasile:poll_rpyc_port
Jul 8, 2026
Merged

mchromin merged 1 commit into
intel:mainfrom
mkwasile:poll_rpyc_port

Conversation

@mkwasile

@mkwasile mkwasile commented Jul 6, 2026 •

Copy link
Copy Markdown
Contributor

fix: Add retry_timeout and retry_time parameters to create_vm(), forwarded
directly to RPyCConnection to handle connection retries natively.

Copilot AI review requested due to automatic review settings July 6, 2026 13:26

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

Note

Copilot couldn't run its full agentic review because no GitHub Actions runner was available. Make sure your repository has a runner available to run Copilot's review, or add a copilot-setup-steps.yml file specifying one with the runs-on attribute. See the docs for more details.

This PR makes VM creation more reliable by waiting for the VM’s RPyC responder port to accept TCP connections before instantiating RPyCConnection, preventing transient connection-refused failures right after DHCP IP assignment.

Changes:

  • Add _wait_vm_rpyc_ready() to poll the RPyC TCP port until ready or timeout.
  • Call _wait_vm_rpyc_ready() during create_vm() after management IP is obtained.
  • Extend unit tests and existing fixtures to cover the new readiness wait.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

File Description
mfd_hyperv/hypervisor.py Adds an active TCP port readiness wait and wires it into VM creation flow.
tests/unit/test_mfd_hyperv/test_hypervisor.py Updates existing tests to mock the new wait and adds new unit tests for readiness polling.

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

Comment thread mfd_hyperv/hypervisor.py Resolved
Comment thread mfd_hyperv/hypervisor.py Resolved
Comment thread mfd_hyperv/hypervisor.py Resolved
@mkwasile mkwasile changed the title fix: poll RPyC port before connecting to VM instead of failing immedi… fix: delegate VM RPyC readiness to RPyCConnection retry mechanism Jul 7, 2026
Comment thread mfd_hyperv/hypervisor.py Resolved
Comment thread mfd_hyperv/hypervisor.py Resolved
@mkwasile
mkwasile force-pushed the poll_rpyc_port branch 3 times, most recently from e277bd7 to f7093b3 Compare July 8, 2026 08:17
fix: Add retry_timeout and retry_time parameters to create_vm(), forwarded
directly to RPyCConnection to handle connection retries natively.

Signed-off-by: mwasile <marek.wasilewski@intel.com>
@mchromin
mchromin merged commit c6a2a61 into intel:main Jul 8, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants