-
Notifications
You must be signed in to change notification settings - Fork 807
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
Add Helm compatibility for --reuse-values upgrades #1789
Add Helm compatibility for --reuse-values upgrades #1789
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
5bd9f7d
to
894e5b2
Compare
Signed-off-by: Connor Catlett <[email protected]>
894e5b2
to
8344c69
Compare
@ConnorJC3: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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/test-infra repository. I understand the commands that are listed here. |
@@ -1,5 +1,6 @@ | |||
{{- define "node-windows" }} | |||
{{- if .Values.node.enableWindows }} | |||
{{- if (.Values.node).enableWindows }} | |||
--- |
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.
This ---
is just for styling yes?
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.
No, it's for separating multiple YAML documents in the same file. It used to be inside node.yaml
and node-windows.yaml
but I moved it here so it's only rendered if the relevant DaemonSet
is enabled, otherwise extra ---
s will be rendered when the DaemonSet
is disabled.
@@ -117,23 +148,27 @@ spec: | |||
exec: | |||
command: ["/bin/aws-ebs-csi-driver", "pre-stop-hook"] | |||
- name: node-driver-registrar | |||
image: {{ printf "%s%s:%s" (default "" .Values.image.containerRegistry) .Values.sidecars.nodeDriverRegistrar.image.repository .Values.sidecars.nodeDriverRegistrar.image.tag }} | |||
imagePullPolicy: {{ default .Values.image.pullPolicy .Values.sidecars.nodeDriverRegistrar.image.pullPolicy }} | |||
image: {{ printf "%s%s:%s" (default "" (.Values.image).containerRegistry) (default "public.ecr.aws/eks-distro/kubernetes-csi/node-driver-registrar" (((.Values.sidecars).nodeDriverRegistrar).image).repository) (default "v2.9.0-eks-1-28-6" (((.Values.sidecars).nodeDriverRegistrar).image).tag) }} |
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.
I'm against putting default sidecar tags in the chart that we would have to risk changing every release.
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.
It seems like this default value is not relevant to the chart tester CI job failing: Additional DaemonSets feature #1722
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.
I dislike it, but all default values (including tags) must be duplicated into the chart for this support to work. Otherwise, users upgrading with --reuse-values
will end up with an inconsistent (or in the case of tags, broken) experience.
@@ -6,7 +6,4 @@ metadata: | |||
name: ebs-csi-controller-sa | |||
labels: | |||
app.kubernetes.io/name: aws-ebs-csi-driver | |||
#Enable if EKS IAM roles for service accounts (IRSA) is used. See https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html for details. |
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.
Why are we removing this comment? Is it no longer relevant?
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.
They aren't critical to this change, so if you feel strongly I can put them back in, but I took the opportunity to remove all remaining if eq .Release.Name "kustomize"
invocations in the chart as they were directly next to what I was already working on.
This particular comment is bad because:
- It encourages manually editing the manifests, which is bad practice and we should not be encouraging (instead, users should use Helm parameters or Kustomize to make changes)
- It creates a small additional burden on maintainers that they must understand the special properties of the
kustomize
release name - Explaining how IAM permissions interact with the driver is better left to
install.md
, where we document the various methods of granting IAM permissions, what policies the role needs, the existence of the managed policy, and other crucial information this short comment does not contain
PR needs rebase. 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/test-infra repository. |
24a8e7b
to
bddbe0b
Compare
/close After further evaluation, the team decided to deprecate |
@ConnorJC3: Closed this PR. In response to this:
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/test-infra repository. |
Is this a bug fix or adding new feature?
Adds support for upgrading with
--reuse-values
with Helm from any prior versionWhat is this PR about? / Why do we need it?
The team decided we want to support upgrades when using
--reuse-values
. This PR adds support for that from any prior version. Unfortunately, already released versions cannot be fixed, but this will fix any upgrades to the next or any later version.What testing is done?
Testing on master (doesn't work):
Testing with PR (works):