Skip to content

[cloud-provider-vcd] Add legacy mode support for VCD cloud provider CCM#21261

Draft
ptrvsrg wants to merge 1 commit into
mainfrom
fix/vcd-legacy-ccm-controllers
Draft

[cloud-provider-vcd] Add legacy mode support for VCD cloud provider CCM#21261
ptrvsrg wants to merge 1 commit into
mainfrom
fix/vcd-legacy-ccm-controllers

Conversation

@ptrvsrg

@ptrvsrg ptrvsrg commented Jul 9, 2026

Copy link
Copy Markdown
Member

Description

Fixes the CCM controller list rendering for cloud-provider-vcd. The --controllers flag was built with a broken printf format string ("%s,$s" instead of "%s,%s"), producing an invalid value like --controllers=cloud-node,$s%!(EXTRA string=cloud-node-lifecycle).

Also restores support for legacy CCM controller names for VCD Legacy mode:

  • legacy (legacyMode: true): cloud-node, cloud-node-lifecycle, and service (when the load balancer is enabled);
  • current: cloud-node-controller, cloud-node-lifecycle-controller, and service-lb-controller.

Why do we need it, and what problem does it solve?

On clusters installed from the main branch, the VCD CCM was in CrashLoop because the --controllers argument was malformed and old CCM controller names were no longer supported for VCD Legacy. This change fixes the malformed argument and returns the legacy controller names, so CCM works for
both legacy and current VCD API versions.

Why do we need it in the patch release (if we do)?

Not necessarily

Checklist

  • The code is covered by unit tests.
  • e2e tests passed.
  • Documentation updated according to the changes.
  • Changes were tested in the Kubernetes cluster manually.

Changelog entries

section: cloud-provider-vcd
type: fix
summary: Fix malformed CCM `--controllers` argument and restore legacy controller names for VCD Legacy, resolving cloud-controller-manager CrashLoop.
impact_level: default

Signed-off-by: Sergey Petrov <sergey.petrov@flant.com>
@ptrvsrg ptrvsrg added this to the v1.77.0 milestone Jul 9, 2026
@ptrvsrg ptrvsrg self-assigned this Jul 9, 2026
@github-actions github-actions Bot added area/cloud-provider Pull requests that update cloud providers modules go Pull requests that update Go code security/gitleaks/success Gitleaks PR diff scan passed security/rootless/success Default-user (rootless) validation passed security/antivirus/success Dr.Web and Kaspersky antivirus scans passed labels Jul 9, 2026
@ptrvsrg ptrvsrg added the e2e/run/vcd Run e2e tests in vCloudDirector label Jul 9, 2026
@deckhouse-BOaTswain

deckhouse-BOaTswain commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

⚪ e2e: VCD for deckhouse:fix/vcd-legacy-ccm-controllers cancelled.

Workflow details

@github-actions github-actions Bot removed the e2e/run/vcd Run e2e tests in vCloudDirector label Jul 9, 2026
@ptrvsrg ptrvsrg changed the title Add legacy mode support for VCD cloud provider CCM [cloud-provider-vcd] Add legacy mode support for VCD cloud provider CCM Jul 9, 2026
@ptrvsrg ptrvsrg added the e2e/run/vcd Run e2e tests in vCloudDirector label Jul 9, 2026
@deckhouse-BOaTswain

deckhouse-BOaTswain commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

🟢 e2e: VCD for deckhouse:fix/vcd-legacy-ccm-controllers succeeded in 34m38s.

Workflow details

VCD-Standard-Containerd-1.34 - Connection string: ssh -J ubuntu@80.249.129.56 ubuntu@192.168.254.216

🟢 e2e: VCD, Containerd, Kubernetes 1.34 succeeded in 33m27s.

@github-actions github-actions Bot removed the e2e/run/vcd Run e2e tests in vCloudDirector label Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/cloud-provider Pull requests that update cloud providers modules go Pull requests that update Go code security/antivirus/success Dr.Web and Kaspersky antivirus scans passed security/gitleaks/success Gitleaks PR diff scan passed security/rootless/success Default-user (rootless) validation passed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants