kube-vip: Upgrade to v1.2.3 and expose newly added config options - #13463
kube-vip: Upgrade to v1.2.3 and expose newly added config options#13463ThisIsQasim wants to merge 1 commit into
Conversation
|
|
|
Hi @ThisIsQasim. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Tip We noticed you've done this a few times! Consider joining the org to skip this step and gain Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions 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. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: ThisIsQasim The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
e40901e to
121a46a
Compare
16815e9 to
ac44518
Compare
ac44518 to
dca2411
Compare
dca2411 to
0a92ff9
Compare
|
/ok-to-test |
There was a problem hiding this comment.
🟡 Changes recommended
The current truthiness-based Jinja conditionals combined with defaults like 0/false make it impossible to pass explicit falsy values for new options, limiting the intended config surface.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Upgrades Kubespray’s bundled kube-vip version to v1.2.3 and extends the kube-vip static pod manifest/template + docs to expose newly added kube-vip configuration knobs as Kubespray variables.
Changes:
- Bump default kube-vip version from 1.0.3 to 1.2.3 (downloads + README version list).
- Add new kube-vip variables in role defaults and emit corresponding kube-vip environment variables in the static pod manifest when configured.
- Document new BGP-related options (including control-plane health check settings).
File summaries
| File | Description |
|---|---|
| roles/kubespray_defaults/defaults/main/download.yml | Updates default kube-vip version used for image tagging. |
| roles/kubernetes/node/templates/manifests/kube-vip.manifest.j2 | Adds conditional env var emission for newly supported kube-vip settings. |
| roles/kubernetes/node/defaults/main.yml | Introduces new kube-vip variables (defaults + inline descriptions). |
| README.md | Updates documented kube-vip version in the “ANSIBLE MANAGED BLOCK” list. |
| docs/ingress/kube-vip.md | Adds documentation/examples for new kube-vip BGP health-check options. |
Review details
- Files reviewed: 5/5 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| kube_vip_instance_name: | ||
| kube_vip_interface: | ||
| kube_vip_services_interface: | ||
| kube_vip_allow_interface_not_up: false | ||
| kube_vip_cidr: 32 | ||
| kube_vip_dns_mode: first | ||
| kube_vip_dhcp_backoff_attempts: 0 |
| {% if kube_vip_dhcp_backoff_attempts %} | ||
| - name: dhcp_backoff_attempts | ||
| value: {{ kube_vip_dhcp_backoff_attempts | string | to_json }} | ||
| {% endif %} |
Bump kube_vip_version from 1.0.3 to 1.2.3, which includes the fix for leader election permanently deadlocking after ordinary leadership loss (kube-vip#1650) and drops the legacy iptables egress-cleanup path. Also expose the config surface kube-vip added between v1.0.3 and v1.2.3 that Kubespray didn't have variables for yet: instance_name, allow_interface_not_up, dhcp_backoff_attempts, lose_leadership(_timeout_seconds), bgp_attach_ip_to_interface, control_plane_health_check_*, preserve_vip_on_leadership_loss, and debounce_time. All remain opt-in and default to kube-vip's own behavior when unset. Signed-off-by: ThisIsQasim <18313886+ThisIsQasim@users.noreply.github.com>
c976b33 to
7fe12a4
Compare
|
/retest |
What type of PR is this?
/kind feature
What this PR does / why we need it:
Upgrades the default kube-vip version from 1.0.3 to 1.2.3, which includes the fix for leader election permanently deadlocking after ordinary leadership loss (kube-vip/kube-vip#1650), and exposes the config surface kube-vip added between v1.0.3 and v1.2.3 as new Kubespray variables:
kube_vip_instance_name,kube_vip_allow_interface_not_up,kube_vip_dhcp_backoff_attempts,kube_vip_lose_leadership_enabled/kube_vip_lose_leadership_timeout_seconds,kube_vip_bgp_attach_ip_to_interface,kube_vip_control_plane_health_check_*,kube_vip_preserve_vip_on_leadership_loss, andkube_vip_debounce_time. All new variables are opt-in and default to kube-vip's own behavior when unset.Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Env var names for the new options were verified against kube-vip's
config_envvar.goandconfig_environment.goat v1.2.3, not justconfig_generator.go— the generator reuses thevip_loseleadershipenv var name for both the boolean flag and the timeout value, which looks like a bug on kube-vip's side, so this PR emits the two distinct names (vip_loseleadership/vip_loseleadership_timeout_seconds) that the reader side actually parses.Does this PR introduce a user-facing change?:
🤖 Generated with Claude Code