Skip to content

feat(nutanix)!: vNIC queues and resilient VM provisioning - #1

Merged
dantte-lp merged 50 commits into
mainfrom
sprint/nutanix-queues-2026-10-15
Oct 20, 2026
Merged

dantte-lp merged 50 commits into
mainfrom
sprint/nutanix-queues-2026-10-15

Conversation

@dantte-lp

@dantte-lp dantte-lp commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

The driver adds opt-in queues on every NIC, explicit management-subnet selection, hardware/cloud-init preflight and one operation deadline. Create preserves the allocator UUID, journal and SSH identity before consumer Save; restored checkpoints reconcile that UUID without repeating VM POST or automatically deleting resources. Recovery RPC requires the matching consumer and driver.

Management selection validates one resolved NIC before allocation, preserves NIC order and verifies explicit queue values in COMPLETE readback. Omission preserves legacy JSON and binding digests. Start/Stop skip PUT only for matching UUID, COMPLETE state and matching desired/observed power; transitions retain metadata/task checks, and Restart remains OFF then ON. Runtime SDK and consumer pins remain f9d6c857660c455fbc5747676de09b1794375502 and 8661095ef1e05265e5c7b7bc212fc473c6e59a7c.

Tooling now pins golangci-lint 2.15.0 on Go 1.27.2 and uses gofumpt as the single formatter. New analyzer findings are resolved with unchanged fixture constants; the existing serialization case now verifies one interrupted Create and one successful recovery, with one allocation/POST and no DELETE.

Validation at 88c27f8933093dda8a4a7b408bbd85706d05a287: declared Podman make check integration-build passed (81.076 s, UID65532). All 1997 archived paths and writable manifest copies were preserved. SPEC and fresh QUALITY approved with C0/I0/M1; M1 is four unchanged nested-module unused-rule warnings. The serialization follow-up uses two unconditional receives and one outcome assertion; its SPEC and fresh QUALITY reviews have C0/I0/M0. Exact-candidate Blacksmith checks provide hosted rootless Testcontainers results.

CHANGELOG.md / Unreleased covers queues, recovery, preflight, tooling and power operations; docs/ru/compatibility.md records migration. Fork-only Blacksmith configuration remains outside this feature diff.

Limits: omission keeps first-incoming management behavior; recovery does not guess named non-management UUID mappings. Installed schema/provider/module, PC/guest and release acceptance remain separate. One required-module-only vulnerability and whole SDK/Sonar gates remain open. C1 does not prove completed Save, full bootstrap or host power-loss durability; no-op is a snapshot contract relative to external writers. No release, registration or live provisioning is included.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-15T00:27:09.631953Z 9e616ce PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9e616cec64

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +9 to +10
quality:
uses: ./.github/workflows/integration.yml

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Restore the scheduled Trivy scan

Every scheduled or manual run now delegates only to integration.yml, whose matrix runs govulncheck but contains no Trivy invocation or SARIF upload. Consequently, the workflow can succeed without checking filesystem, OS, or non-Go dependency vulnerabilities and no longer updates the Security tab; govulncheck is not a replacement for that coverage. Restore the Trivy scan and result upload in this scheduled workflow.

Useful? React with 👍 / 👎.

@dantte-lp dantte-lp changed the title feat(nutanix): сетевые очереди и обновлённая база node driver feat(nutanix): сетевые очереди, Go 1.27 и проверки Prism API Oct 15, 2026
@dantte-lp dantte-lp changed the title feat(nutanix): сетевые очереди, Go 1.27 и проверки Prism API feat(nutanix)!: сетевые очереди, Go 1.27 и проверки Prism API Oct 15, 2026
@dantte-lp
dantte-lp force-pushed the sprint/nutanix-queues-2026-10-15 branch from 6a32ce8 to 066e691 Compare October 15, 2026 11:16
@dantte-lp dantte-lp changed the title feat(nutanix)!: сетевые очереди, Go 1.27 и проверки Prism API feat(nutanix)!: vNIC queues and resilient VM provisioning Oct 15, 2026
@dantte-lp
dantte-lp force-pushed the sprint/nutanix-queues-2026-10-15 branch from 8b6ebd3 to 3d1660d Compare October 15, 2026 23:03
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
B Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@dantte-lp
dantte-lp merged commit 07f991c into main Oct 20, 2026
4 of 7 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.

1 participant