-
Notifications
You must be signed in to change notification settings - Fork 738
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
Supergloo Support #151
Supergloo Support #151
Conversation
This looks great thanks @yuval-k Flagger has a command flag called mesh provider that you could use to set the target mesh, for now it accepts It looks like the e2e tests are failing, Flagger keeps crashing at startup, can you please rebase your PR. |
where can you see the reason for the failure? I just see
|
@yuval-k have you tested this PR inside Kubernetes? Here is the error, looks like klog is not initialised and it tries to write the logs to disk:
For logging Flagger uses zap and the Istio logger that replaces glog with zap. Kubernetes 1.13 switched to klog and the logging is broken now. Flagger should log to stderr in json format only.
I've tried to override klog with istio/glog but it doesn't work. I would rollback to Kubernetes 1.11 until klong can be replaced with zap. |
Thanks for all the info - I'm looking into this on our end and see if we can use lower version of kube. |
@yuval-k I've done the upgrade to 1.13 in master and the override of klog with zap. Please rebase and take my Gopkg files, also pin the supergloo package in Gopkg.toml to a git tag or commit. Thanks! |
update: ignore this comment
does that sound reasonable to you? |
Please disregard my last comment - I just saw your comment from before saying you solved it |
Hi @stefanprodan this should be ready for review |
Hi @yuval-k can you please add some docs on how was this tested and how to setup e2e testing for it. I would like to have e2e tests the same as for Istio and be able to run it on GKE and on Kubernetes KinD. Thanks |
I tested it manually before, added e2e tests now. From reason I saw an issue to connecting to promethues when I ran them locally (which is not in the supergloo code path) - so I pushed them to see if it reproduces in CI. |
I see the test failing - I think i'm missing something for the A\B test use case - checking. |
I think I know why the tests are failing, the default Istio memory and CPU requests are very high for the CirceCI VM. To make Istio work with KinD you need to set these resources requests https://github.com/weaveworks/flagger/blob/master/test/e2e-istio-values.yaml I would add a check to kubectl -n istio-system rollout status deployment/istio-pilot
kubectl -n istio-system rollout status deployment/istio-mixer
kubectl -n istio-system rollout status deployment/istio-sidecar-injector
kubectl -n istio-system rollout status deployment/istio-telemetry
kubectl -n istio-system rollout status deployment/prometheus |
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 looks great, I have one suggestion please have a look.
Thanks @yuval-k
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
Adding supergloo support.
I need to add a few more things here to support the A\B testing case, but wanted to make sure that we are good with the general structure of this PR before I continue investing in it.
One TODO that I have there, is the reference to the target mesh. as supergloo supports more than one mesh, it's CRDs have a mesh reference.
I think this can be passed as command line flags \ environment variables.
note that it seems like a lot of changes, but most of them are vendor \ generated code.