-
Notifications
You must be signed in to change notification settings - Fork 6.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[calico] don't clobber calico options set by the user #8815
[calico] don't clobber calico options set by the user #8815
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cristicalin The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
45cb7a3
to
a9f84aa
Compare
…t managed by kubespray
a9f84aa
to
569a319
Compare
|
||
- name: Calico | Process FelixConfiguration | ||
set_fact: | ||
_felix_config: "{{ _felix_cmd.stdout | from_json | combine(_felix_config, recursive=True) }}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for doing this, it is nice to keep the existing options which are configured by users if there are already.
One question is if users configured the duplicated option(for example, ipipEnabled
) which value is used? The existing one? or Kubespray's one?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The way this is intended to work is that kubespray will override the values that it manages such as ipipEnabled
and will carry over values that it does not have support for. Previously those values would be dropped.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your explanation @cristicalin
That behavior seems good for me.
/lgtm
What type of PR is this?
/kind feature
What this PR does / why we need it:
This PR adds the capability to preserve calico options set by the user and not converted to kubespray settings yet (or ever). This allows deployers to set calico options outside the control of kubespray and not have kubespray clobber their options next time it is ran.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
This PR is needed to keep the CI running on a vanilla version of kubespray. When redoing the kubespray CI I had to enable
allowVXLANPacketsFromWorkloads
andallowIPIPPacketsFromWorkloads
in felixconfig to allow CI jobs to run successfully. These and other options supported by calico are not templated in kubespray and it would be difficult for us to maintain an up-to-date list. It's better to just allow the user to retail customizations.Does this PR introduce a user-facing change?: