-
Notifications
You must be signed in to change notification settings - Fork 7.6k
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
check enablement from values pass through #20244
check enablement from values pass through #20244
Conversation
richardwxn
commented
Jan 16, 2020
- mirror of old PR: Check enablement from values part as well operator#727
- fix default profile to add istio-egressgateway definition
🤔 🐛 You appear to be fixing a bug in Go code, yet your PR doesn't include updates to any test files. Did you forget to add a test? Courtesy of your friendly test nag. |
can you fix all the hacks we added to get around this if you didn't already
(didn't look at the code yet)? in test/integration
…On Thu, Jan 16, 2020, 12:22 PM Istio Automation ***@***.***> wrote:
@richardwxn <https://github.com/richardwxn>: The following test *failed*,
say /retest to rerun all failed tests:
Test name Commit Details Rerun command
gencheck_istio ffabd57
<ffabd57>
link
<https://prow.istio.io/view/gcs/istio-prow/pr-logs/pull/istio_istio/20244/gencheck_istio/4873> /test
gencheck_istio
Instructions for interacting with me using PR comments are available here
<https://git.k8s.io/community/contributors/guide/pull-requests.md>. If
you have questions or suggestions related to my behavior, please file an
issue against the kubernetes/test-infra
<https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:>
repository. I understand the commands that are listed here
<https://go.k8s.io/bot-commands>.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
<#20244?email_source=notifications&email_token=AAEYGXKKV6BSXJSL34OI4STQ6C6ZVA5CNFSM4KH2ACIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJFNOSY#issuecomment-575330123>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEYGXI3WLRIJZ3SAPJ7H7TQ6C6ZVANCNFSM4KH2ACIA>
.
|
@howardjohn what hack did you refer to in test/integration |
|
|
||
- name: istio-egressgateway | ||
enabled: false | ||
k8s: |
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.
-1 to this. Why do we need to copy everything over? its already defined in the templates. Its so hard to figure out what I am going to get when I install with istioctl now because there are so many different configs
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 would update this part to keep only the settings we expose as params in the template
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.
actually only the scaleTargetRef is hardcoded in the template, however we can not drop this part from the profile because of existing issue: #20143
IngressComponentName: "gateways.istio-ingressgateway", | ||
EgressComponentName: "gateways.istio-egressgateway", | ||
CNIComponentName: "cni", | ||
} |
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.
We need prometheus, grafana, etc as well.
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.
Any update on this?
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 adding those in my PR: #20352
operator/pkg/name/name.go
Outdated
@@ -101,6 +117,18 @@ func (cn ComponentName) IsAddon() bool { | |||
// IsComponentEnabledInSpec reports whether the given component is enabled in the given spec. | |||
// IsComponentEnabledInSpec assumes that controlPlaneSpec has been validated. | |||
func IsComponentEnabledInSpec(componentName ComponentName, controlPlaneSpec *v1alpha1.IstioOperatorSpec) (bool, error) { | |||
// for addon components, enablement is defined in values part. |
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 seems to try to turn off addons but something must be wrong. --set values.prometheus.enabled=false
does not do anything
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 PR can only address the enablement issue of istio components now, for addons, I added a TODO to address that after #20316 is resolved
ffabd57
to
3aa0950
Compare
/test integ-security-k8s-tests_istio |
11ec05b
to
7c6cea0
Compare
It should work now for both Istio components and addons. Please check again: @ostromart @howardjohn |
CoreDNSComponentName, | ||
} | ||
allComponentNamesMap = make(map[ComponentName]bool) | ||
deprecatedComponentNamesMap = make(map[ComponentName]bool) |
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.
nit: using a struct{} instead of a bool is slightly nicer for a Set because that's is only 2 states (present or not present) instead of 3 (not present, true, false) - what does it mean to be false? It's also (trivially) more perfomant
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.
you mean using an empty struct to replace bool? that's actually better in terms of memory(trivial) but here I just try to align with other implementation for set in this package.
/test integ-pilot-k8s-tests_istio |
7c6cea0
to
d6228f3
Compare
/test integ-security-k8s-tests_istio |
/test pilot-multicluster-e2e_istio |
/test integ-security-k8s-tests_istio |
/retest |
1 similar comment
/retest |
/test integ-security-k8s-tests_istio |
a test failing 6 times in a row suggests an issue with the pr, our tests don't flake often anymore |
@richardwxn another solution which may make more sense is to disable egress in |
@howardjohn Can we just add override in this failing test to disable egress? I am not sure whether changing that in the shared values-integ.yaml would impact other tests. |
it will impact all tests. But currently, NO tests use egress. With your
changes, All tests will use egress - which we do not want.
…On Sun, Jan 26, 2020, 5:51 PM Xinnan Wen ***@***.***> wrote:
@howardjohn <https://github.com/howardjohn> Can we just add override in
this failing test to disable egress? I am not sure whether changing that in
the shared values-integ.yaml would impact other tests.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#20244?email_source=notifications&email_token=AAEYGXKG4SZV3RDZBGD3ISTQ7Y4ZTA5CNFSM4KH2ACIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJ6D7MA#issuecomment-578568112>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEYGXO2GYTKB76BOIAC7CDQ7Y4ZTANCNFSM4KH2ACIA>
.
|
@howardjohn ok, if no test is using egress, then the default should be turning that off? |
yeah I think so
That is what we are doing today (as a bug, really, but it makes sense to
keep it)
…On Sun, Jan 26, 2020, 5:59 PM Xinnan Wen ***@***.***> wrote:
@howardjohn <https://github.com/howardjohn> ok, if no test is using
egress, then the default should be turning that off?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#20244?email_source=notifications&email_token=AAEYGXIYQR7SGICDM3OARSDQ7Y5X3A5CNFSM4KH2ACIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJ6EGTQ#issuecomment-578569038>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEYGXJUDTUBBPWO5YZLGIDQ7Y5X3ANCNFSM4KH2ACIA>
.
|
ca3d622
to
b589eae
Compare
for idx, c := range installSpec.Components.IngressGateways { | ||
if c.Name == istioIngressGatewayName { |
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 needs to be removed per our discussion.
@@ -57,6 +73,16 @@ func NewIstioOperator(installSpec *v1alpha1.IstioOperatorSpec, translator *trans | |||
out.components = append(out.components, component.NewIngressComponent(c.Name, idx, &o)) | |||
} | |||
for idx, c := range installSpec.Components.EgressGateways { | |||
if c.Name == istioEgressGatewayName { |
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.
Same here.
KialiComponentName ComponentName = "Kiali" | ||
GrafanaComponentName ComponentName = "Grafana" | ||
TracingComponentName ComponentName = "Tracing" | ||
CoreDNSComponentName ComponentName = "Istiocoredns" |
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.
Remove these per discussion.
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.
Will we be able to enable them in some other way?
ca3d622
to
40cf7fa
Compare
/retest cluster failed creation |
In response to a cherrypick label: new pull request created: #20580 |
* check enablement from values pass through as well * check enablement from values pass through as well * fix bug * fix gen * fix tpath for merging * resolve conflict * turn off egress by default for integ test
…tput (#20651) * check enablement from values pass through (#20244) * check enablement from values pass through as well * check enablement from values pass through as well * fix bug * fix gen * fix tpath for merging * resolve conflict * turn off egress by default for integ test * move naming logics to translate (#20618) * move naming logics to translate * fix gen * update file name * rename file * add select and ignore to manifest generate test output (#20622) * add select and ignore to manifest generate output * fix the output order * fix lint * resolve conflict * fix lint * fix lint * resolve conflict * resolve conflict