Skip to content

OCPCLOUD-3438: Bump govmomi to 0.53.0 - #1498

Open
dlom wants to merge 1 commit into
openshift:mainfrom
dlom:OCPCLOUD-3438
Open

OCPCLOUD-3438: Bump govmomi to 0.53.0#1498
dlom wants to merge 1 commit into
openshift:mainfrom
dlom:OCPCLOUD-3438

Conversation

@dlom

@dlom dlom commented May 6, 2026

Copy link
Copy Markdown
Contributor

Hive depends on two other projects with a govmomi dependency: The installer and the MAO. We're in the process of revendoring the installer, and they have pulled in a newer version of govmomi that is slightly backwards incompatible. The actual "change" is a one-line fix in pkg/controller/vsphere/reconciler.go

xref: OCPCLOUD-3438

/cc @suhanime
/cc @2uasimojo

Motivator: openshift/hive#2901

Summary by CodeRabbit

  • Chores

    • Updated the VMware virtualization integration dependency from version 0.52.0 to 0.53.0 for improved compatibility and maintenance.
  • Bug Fixes

    • Corrected CPU core configuration handling during virtual machine cloning, ensuring the requested cores-per-socket setting is supplied correctly. This helps cloned virtual machines receive their intended CPU configuration.

@openshift-ci
openshift-ci Bot requested a review from 2uasimojo May 6, 2026 18:02
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 6, 2026
@openshift-ci
openshift-ci Bot requested a review from suhanime May 6, 2026 18:02
@openshift-ci-robot

openshift-ci-robot commented May 6, 2026

Copy link
Copy Markdown
Contributor

@dlom: This pull request references OCPCLOUD-3438 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Hive depends on two other projects with a govmomi dependency: The installer and the MAO. We're in the process of revendoring the installer, and they have pulled in a newer version of govmomi that is slightly backwards incompatible. The actual "change" is a one-line fix in pkg/controller/vsphere/reconciler.go

xref: OCPCLOUD-3438

/cc @suhanime
/cc @2uasimojo

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai

coderabbitai Bot commented May 6, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 4aac9399-71b3-499d-9ffe-0fe5a4332f2d

📥 Commits

Reviewing files that changed from the base of the PR and between 2f70df9 and 273f163.

⛔ Files ignored due to path filters (2)
  • go.sum is excluded by !**/*.sum
  • vendor/modules.txt is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (2)
  • go.mod
  • pkg/controller/vsphere/reconciler.go

Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review.


Walkthrough

The PR upgrades github.com/vmware/govmomi from v0.52.0 to v0.53.0. The VM clone specification now assigns NumCoresPerSocket as a pointer to an int32 value.

Changes

VMware clone update

Layer / File(s) Summary
Dependency and clone specification adaptation
go.mod, pkg/controller/vsphere/reconciler.go
The govmomi dependency is upgraded. The VM clone specification passes NumCoresPerSocket as &numCoresPerSocket.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Suggested reviewers: vr4manta

Merge Risk: ⚪ Minimal · up to 273f1

This updates govmomi and adapts the VM clone CPU field to its new pointer type while preserving the configured value. No concrete merge-blocking risk is identified.


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error, 1 warning)

Check name Status Explanation Resolution
No-Sensitive-Data-In-Logs ❌ Error The vendored govmomi update adds sensitive-data-capable logging in vendor/github.com/vmware/govmomi/vapi/simulator/simulator.go. The new log.Printf("usagesEx: %+v", r) logs the complete `*http.Req… Remove full-request logging. Log only the required method, action, and URL path. If request details are required for simulator diagnostics, explicitly redact Authorization, Cookie, session, and other credential-bearing headers before lo…
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (13 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the primary change: updating govmomi to version 0.53.0. The issue reference is appropriate and the title is concise.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed PASS: The pull request does not add or modify test files or Ginkgo declarations. The authoritative diff changes dependency metadata, vendored govmomi source, and one clone-spec assignment in pkg/contr…
Test Structure And Quality ✅ Passed PASS. The review-scoped diff changes dependency/vendor files and one production assignment in pkg/controller/vsphere/reconciler.go. It adds or modifies no *_test.go files and no changed hunk conta…
Microshift Test Compatibility ✅ Passed The authoritative pull-request diff adds no test files and no Ginkgo declarations such as It, Describe, Context, or When. It changes go.mod, vendored govmomi files, and one existing vSphere reconciler…
Single Node Openshift (Sno) Test Compatibility ✅ Passed The pull request adds no Ginkgo e2e tests. The reviewed range changes go.mod, go.sum, vendored govmomi files, and one non-vendored Go file (pkg/controller/vsphere/reconciler.go). No added Ginkgo decla…
Topology-Aware Scheduling Compatibility ✅ Passed PASS — The pull request does not introduce topology-dependent Kubernetes scheduling. The authoritative diff changes only the govmomi dependency/vendor refresh and one vSphere clone field: `NumCoresPer…
Ote Binary Stdout Contract ✅ Passed No OTE stdout contract violation was introduced. The PR changes go.mod, vendored govmomi files, and one vSphere clone field; cmd/machine-api-tests-ext/main.go is unchanged. The added govmomi `init…
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PASS: The pull request adds no Ginkgo tests or other test files. The authoritative diff changes go.mod, go.sum, vendorized govmomi code, and one production reconciler field assignment. No added Go lin…
No-Weak-Crypto ✅ Passed No weak-crypto usage is introduced by the pull request. The application change only changes the NumCoresPerSocket pointer type, and the dependency bump adds no MD5, SHA1, DES, 3DES, RC4, Blowfish, o…
Container-Privileges ✅ Passed No explicit container-privilege failure was introduced. The review range changes go.mod/go.sum, vendored govmomi code, and one Go assignment in reconciler.go. It changes no YAML, JSON, Dockerfile, or …
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (1 skipped: 1 unsupported.)

Full details: No-Sensitive-Data-In-Logs

Explanation

The vendored govmomi update adds sensitive-data-capable logging in vendor/github.com/vmware/govmomi/vapi/simulator/simulator.go. The new log.Printf("usagesEx: %+v", r) logs the complete *http.Request, including its Header field, which can contain authorization tokens, cookies, and session IDs. The new fatal log also prints the complete request. These logging statements are introduced by this pull request through the vendor update.

Resolution

Remove full-request logging. Log only the required method, action, and URL path. If request details are required for simulator diagnostics, explicitly redact Authorization, Cookie, session, and other credential-bearing headers before logging.

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

Some tools did not complete. Review the errors below.

🔧 golangci-lint (2.13.2)

Error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions
The command is terminated due to an error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions


Comment @coderabbitai help to get the list of available commands.

@2uasimojo

Copy link
Copy Markdown
Member

/retest

Looks like some test infra glitchiness.

@2uasimojo

Copy link
Copy Markdown
Member

/retest-required

1 similar comment
@2uasimojo

Copy link
Copy Markdown
Member

/retest-required

@perdasilva

Copy link
Copy Markdown

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 22, 2026
@2uasimojo

Copy link
Copy Markdown
Member

/assign @nrb

Nolan, would you mind approving?

@damdo

damdo commented Sep 8, 2026

Copy link
Copy Markdown
Member

@dlom @2uasimojo

would you be able to rebase this? Thanks!

@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Sep 8, 2026
@openshift-ci openshift-ci Bot removed lgtm Indicates that a PR is ready to be merged. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Sep 10, 2026
@openshift-ci-robot

openshift-ci-robot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

@dlom: This pull request references OCPCLOUD-3438 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "5.1.0" version, but no target version was set.

Details

In response to this:

Hive depends on two other projects with a govmomi dependency: The installer and the MAO. We're in the process of revendoring the installer, and they have pulled in a newer version of govmomi that is slightly backwards incompatible. The actual "change" is a one-line fix in pkg/controller/vsphere/reconciler.go

xref: OCPCLOUD-3438

/cc @suhanime
/cc @2uasimojo

Motivator: openshift/hive#2901

Summary by CodeRabbit

  • Chores

  • Updated the VMware virtualization integration dependency from version 0.52.0 to 0.53.0 for improved compatibility and maintenance.

  • Bug Fixes

  • Corrected CPU core configuration handling during virtual machine cloning, ensuring the requested cores-per-socket setting is supplied correctly. This helps cloned virtual machines receive their intended CPU configuration.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@dlom

dlom commented Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

/test images

@damdo damdo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/approve
/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Sep 11, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aws-operator
/test e2e-aws-ovn
/test e2e-aws-ovn-upgrade
/test e2e-metal-ipi
/test e2e-metal-ipi-ovn-ipv6
/test e2e-metal-ipi-virtualmedia

@damdo

damdo commented Sep 11, 2026

Copy link
Copy Markdown
Member

/retest

@openshift-ci

openshift-ci Bot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: damdo

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 11, 2026
@damdo

damdo commented Sep 11, 2026

Copy link
Copy Markdown
Member

/hold

until the regression job passess

/verified by ci

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 11, 2026
@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Sep 11, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@damdo: This PR has been marked as verified by ci.

Details

In response to this:

/hold

until the regression job passess

/verified by ci

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@damdo

damdo commented Sep 11, 2026

Copy link
Copy Markdown
Member

/test ?

@damdo

damdo commented Sep 11, 2026

Copy link
Copy Markdown
Member

/test e2e-vsphere-ovn-upgrade e2e-vsphere-ovn-techpreview e2e-vsphere-ovn-serial e2e-vsphere-operator

@openshift-ci

openshift-ci Bot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

@dlom: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants