Skip to content
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

helm: Replaced object-based extraArgs with array-based #15233

Merged
merged 1 commit into from
Mar 15, 2021
Merged

helm: Replaced object-based extraArgs with array-based #15233

merged 1 commit into from
Mar 15, 2021

Conversation

sergeimonakhov
Copy link
Contributor

Signed-off-by: Sergey Monakhov monakhov@puzl.ee

Please ensure your pull request adheres to the following guidelines:

  • For first time contributors, read Submitting a pull request
  • All code is covered by unit and/or runtime tests where feasible.
  • All commits contain a well written commit description including a title,
    description and a Fixes: #XXX line if the commit addresses a particular
    GitHub issue.
  • All commits are signed off. See the section Developer’s Certificate of Origin
  • Provide a title or release-note blurb suitable for the release notes.
  • Thanks for contributing!

Hi, I refactored extra-args.

Fixes: #15150

Replaced object-based extraArgs with array-based in Helm chart for all sub-components

@sergeimonakhov sergeimonakhov requested a review from a team as a code owner March 6, 2021 21:20
@sergeimonakhov sergeimonakhov requested review from a team and kkourt March 6, 2021 21:20
@maintainer-s-little-helper maintainer-s-little-helper bot added the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Mar 6, 2021
@maintainer-s-little-helper maintainer-s-little-helper bot added this to In progress in 1.10.0 Mar 6, 2021
@kkourt
Copy link
Contributor

kkourt commented Mar 8, 2021

I remember that there was a discussion about this, so I found this comment that resulted in: #15150.

@kkourt kkourt added the release-note/minor This PR changes functionality that users may find relevant to operating Cilium. label Mar 8, 2021
@maintainer-s-little-helper maintainer-s-little-helper bot removed the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Mar 8, 2021
@kkourt kkourt requested a review from nbusseneau March 8, 2021 08:23
Copy link
Contributor

@kkourt kkourt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Copy link
Member

@nbusseneau nbusseneau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, looks good! Since we are introducing a breaking change in Helm charts between 1.9 and this PR (1.10?), I would recommend documenting it directly in the commit. Could you add a mention for that in commit description? Something along the lines of:

Breaking change: Helm releases previously deployed with additional arguments in object-based values.extraArgs will need to update these arguments to the new array-based format.

I suppose we may also need to add the breaking change to the release notes and/or upgrade guide (Documentation/operations/upgrade.rst), though I'm not sure about the process for either. @joestringer any input?

install/kubernetes/cilium/values.yaml Outdated Show resolved Hide resolved
@nbusseneau nbusseneau linked an issue Mar 8, 2021 that may be closed by this pull request
@joestringer
Copy link
Member

The "BPF checks" failure is really checking the commit description and is complaining about the format of the message. Typically in Cilium we will use a format like this for commit messages:

helm: Replace object-based extraArgs with array-based

Breaking change: Helm releases previously deployed with additional arguments in object-based "values.extraArgs", but this prevented providing the same parameter multiple times. Replace these arguments to the new array-based format.

Fixes: #15150
Signed-off-by: ...

You can also squash the commits together, I don't think they need to be separate commits. This StackOverflow post goes into more detail.

I suppose we may also need to add the breaking change to the release notes and/or upgrade guide (Documentation/operations/upgrade.rst), though I'm not sure about the process for either. @joestringer any input?

It'd be nice to do this, but the structure is not yet in place since we haven't prepared v1.10 upgrade docs yet. Maybe don't worry about it for now since this PR has release-note/minor which will show up in the release for folks to see. I'll take down a note to set up the v1.10 upgrade notes section and put a note in there for these changes.

Breaking change: Helm releases previously deployed with additional arguments in object-based "values.extraArgs", but this prevented providing the same parameter multiple times. Replace these arguments to the new array-based format.

Fixes: #15150
Signed-off-by: Sergey Monakhov <monakhov@puzl.ee>
Copy link
Member

@nbusseneau nbusseneau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the changes :) LGTM.

@nbusseneau nbusseneau removed their assignment Mar 11, 2021
@nbusseneau nbusseneau added area/helm Impacts helm charts and user deployment experience area/documentation Impacts the documentation, including textual changes, sphinx, or other doc generation code. labels Mar 11, 2021
@nbusseneau
Copy link
Member

@joestringer Not sure if we should mark this with upgrade-impact or not? On one hand, these options are really meant for development, on the other hand if anybody uses it and upgrades without looking at the release notes his Helm deployment will fail. But even with that said, it will fail at the chart validation stage, so it won't have an impact on the existing Helm deployment...

@joestringer
Copy link
Member

@Skymirrh yeah I wouldn't worry too much in this case because the validation should pick it up super early. In general upgrade-impact label is useful to (1) communicate amongst developers that we should consider upgrade implications and figure out how to either address them or document them, or (2) (maybe) later on if there's an upgrade issue, search for all the issues with upgrade-impact and see if any of them might be relevant.

@nbusseneau
Copy link
Member

nbusseneau commented Mar 12, 2021

test-me-please

Totally useless for this PR but let's get them green because why not.

@ciliumbot
Copy link

Build finished.

@joestringer
Copy link
Member

Totally useless for this PR but let's get them green because why not.

Somehow I thought we were using extraArgs in CI, but apparently not.

For what it's worth, if we know that a PR won't be validated by CI because it's too simple or we don't use the functionality (like here), we don't need to run the CI just to try to get some green ticks. It's good enough to post "No need to run CI as no tests use this functionality" (assuming you've validated this is true! 😅 ) . Then janitors/maintainers can recognize why the CI was not run and consider that before merging.

We did have a few of the jobs pass, gke-stable failed to provision and the test-1.2.0-4.9 run appears to have flaked out on one Istio test run (I filed #15337 to follow up). Just waiting on kubernetes codeowners to review /cc @nathanjsweet

@joestringer joestringer merged commit 30860b1 into cilium:master Mar 15, 2021
1.10.0 automation moved this from In progress to Done Mar 15, 2021
@joestringer
Copy link
Member

joestringer commented Jul 14, 2021

@D1abloRUS did you have some example YAML snippets of how you configured this option? Or did we end up documenting this somewhere? It's a little hard to tell exactly what the correct ConfigMap syntax looks like just from reading the PR.

@nbusseneau
Copy link
Member

@D1abloRUS did you have some example YAML snippets of how you configured this option? Or did we end up documenting this somewhere? It's a little hard to tell exactly what the correct ConfigMap syntax looks like just from reading the PR.

Correct syntax is:

extraArgs:
  - --foo=bar
  - --baz=qux

It's not documented anywhere AFAIK, but I personally felt it was OK since it's a developer-centric flag and the {{- toYaml . | trim | nindent 8 }} approach is kinda standard (we have it for a lot of list objects in the charts).

Do you think we should document it?

@michi-covalent
Copy link
Contributor

for some settings we just have a sample configuration values commented out:

this way at least you can kind of see how the helm value is supposed to look like.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/documentation Impacts the documentation, including textual changes, sphinx, or other doc generation code. area/helm Impacts helm charts and user deployment experience release-note/minor This PR changes functionality that users may find relevant to operating Cilium.
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

helm: extraArgs refactoring Helm chart doesn't support multiple --api-rate-limit arguments
7 participants