Skip to content

[v3.31] refactor: switch kube-test backport to kustomize sources#1046

Open
aritrbas wants to merge 1 commit into
release/v3.31.0from
abasu-refact-bport-v331
Open

[v3.31] refactor: switch kube-test backport to kustomize sources#1046
aritrbas wants to merge 1 commit into
release/v3.31.0from
abasu-refact-bport-v331

Conversation

@aritrbas

Copy link
Copy Markdown
Collaborator

Summary:

Backport the kustomize-based VPP kube-test integration from master (unify-images / flatten-repo-layout refactor #994) to release/v3.31.0. This is a follow-up to the previous repo-layout-aware kube-test backport (c5b5a55). It replaces the hand-maintained yaml/generated/calico-vpp-kubetest.yaml + envsubst-based Makefile target with the same kustomize-driven design that master uses, so the kube-test integration on every release shares one source of truth (kustomize patches under yaml/components/kube-test/).

The previous backport's CALICOVPP_AGENT_IMAGE / VPP_BUILD_REL_PATH envsubst placeholders are removed from the manifest. Only consumer-owned runtime placeholders survive in the emitted manifest: ${CALICOVPP_VERSION}, ${ADDITIONAL_VPP_CONFIG}, ${HOME}, ${CALICOVPP_ENABLE_MEMIF}, ${CALICO_NETWORK_CONFIG} and ${CALICOVPP_INTERFACE} (baremetal only) .

Changes:

  • yaml/components/kube-test/ - kustomize component shared by the kind and baremetal flavors. The daemonset patch encodes this release's split-image layout: calicovpp/vpp for the vpp container, calicovpp/agent for the agent container (no command override) and the in-repo VPP build at /repo/vpp-manager/vpp_build/....
  • yaml/components/kube-test/kind/ - KinD-flavor adjustments (uplink eth0 via af_packet, no hugepages).
  • yaml/components/kube-test/baremetal/ - baremetal-flavor adjustments (DPDK uplink driven by ${CALICOVPP_INTERFACE}, hugepages, larger CPU / buffer allocation, docker.io registry with IfNotPresent pull policy).
  • yaml/overlays/kube-test-{kind,baremetal}/ - overlays wiring the base daemonset and the kube-test components.
  • yaml/generated/calico-vpp-kubetest.yaml - regenerated from the new sources so the checked-in file matches the kustomize output for this release's base daemonset.
  • yaml/Makefile - regenerates the checked-in kubetest.yaml for kind and sanity-checks the baremetal overlay.
  • make kube-test-template FLAVOR={kind,baremetal} (default kind) now runs kubectl kustomize against the requested overlay and appends the tigera-operator Installation/APIServer snippet. The previous CALICOVPP_AGENT_IMAGE / VPP_BUILD_REL_PATH envsubst placeholders have been removed - layout knowledge lives only in the kustomize sources.
  • make kube-test-push-images is now driven by KUBE_TEST_IMAGES (default calicovpp/vpp calicovpp/agent calicovpp/multinet-monitor on this split-image release).

As a follow-up to the previous commit #c5b5a55, replace the
hand-maintained `calico-vpp-kubetest.yaml` + `envsubst`-based
Makefile target with a kustomize-driven design used on master.

CalicoVPP now owns the kube-test manifest as a set of kustomize
sources under `yaml/overlays/kube-test-{kind,baremetal}/` and
`yaml/components/kube-test/`. The split-image specifics for this
release (`calicovpp/vpp` + `calicovpp/agent`, no command override,
VPP build at `/repo/vpp-manager/vpp_build/`, etc.) are baked into
the component patches. Only consumer-owned runtime placeholders
are left in the emitted manifest: ${CALICOVPP_VERSION}, ${HOME},
${ADDITIONAL_VPP_CONFIG}, ${CALICOVPP_ENABLE_MEMIF},
${CALICO_NETWORK_CONFIG} and ${CALICOVPP_INTERFACE} (baremetal)

- `make kube-test-template` now runs `kubectl kustomize` against the
  requested flavor ($FLAVOR=kind|baremetal, default: kind) and appends
  the tigera-operator Installation/APIServer snippet. The previous
  ${CALICOVPP_AGENT_IMAGE}/${VPP_BUILD_REL_PATH} envsubst placeholders
  are gone - layout knowledge lives only in the kustomize sources.
- `make kube-test-push-images` is now driven by ${KUBE_TEST_IMAGES}
  (default: `calicovpp/vpp calicovpp/agent calicovpp/multinet-monitor`
  on this split-image `release/v3.32`)
- `yaml/Makefile` regenerates the checked-in
  `yaml/generated/calico-vpp-kubetest.yaml` from
  `yaml/overlays/kube-test-kind`.

Signed-off-by: Aritra Basu <aritrbas+gh@cisco.com>
@aritrbas aritrbas self-assigned this Jun 15, 2026
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