-
Notifications
You must be signed in to change notification settings - Fork 739
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
Support OSM progressive traffic shifting in Flagger #955
Conversation
Codecov Report
@@ Coverage Diff @@
## main #955 +/- ##
==========================================
- Coverage 56.88% 56.76% -0.13%
==========================================
Files 71 72 +1
Lines 5861 5886 +25
==========================================
+ Hits 3334 3341 +7
- Misses 2032 2046 +14
- Partials 495 499 +4
Continue to review full report at Codecov.
|
Related to openservicemesh/osm#1700 |
I have decided to write and include OSM Flagger docs in a separate PR immediately after this one (as this PR is getting large), which is why I reversed my docs additions: 003f1b3 |
@stefanprodan // @draychev - The E2E tests are currently failing not due to issues with this PR, but due to issues with Traefik's recent release. Running the Traefik E2E test run script (from latest upstream main commit) on a newly-created kind cluster fails as seen below. ~/Dev/src/github.com/fluxcd/flagger(main) » kind create cluster johnsonshi@DESKTOP-AQ60TOB
Creating cluster "kind" ...
✓ Ensuring node image (kindest/node:v1.21.1) 🖼
✓ Preparing nodes 📦
✓ Writing configuration 📜
✓ Starting control-plane 🕹️
✓ Installing CNI 🔌
✓ Installing StorageClass 💾
Set kubectl context to "kind-kind"
You can now use your cluster with:
kubectl cluster-info --context kind-kind
Not sure what to do next? 😅 Check out https://kind.sigs.k8s.io/docs/user/quick-start/
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
~/Dev/src/github.com/fluxcd/flagger(main) » kubectl cluster-info --context kind-kind johnsonshi@DESKTOP-AQ60TOB
Kubernetes control plane is running at https://127.0.0.1:51503
CoreDNS is running at https://127.0.0.1:51503/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
~/Dev/src/github.com/fluxcd/flagger(main) » git checkout main johnsonshi@DESKTOP-AQ60TOB
Already on 'main'
Your branch is up to date with 'origin/main'.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
~/Dev/src/github.com/fluxcd/flagger(main) » git remote -v johnsonshi@DESKTOP-AQ60TOB
origin git@github.com:johnsonshi/flagger.git (fetch)
origin git@github.com:johnsonshi/flagger.git (push)
upstream https://github.com/fluxcd/flagger.git (fetch)
upstream https://github.com/fluxcd/flagger.git (push)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
~/Dev/src/github.com/fluxcd/flagger(main) » git fetch upstream johnsonshi@DESKTOP-AQ60TOB
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
~/Dev/src/github.com/fluxcd/flagger(main) » git rebase upstream/main johnsonshi@DESKTOP-AQ60TOB
Current branch main is up to date.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
~/Dev/src/github.com/fluxcd/flagger(main) » ./test/traefik/run.sh johnsonshi@DESKTOP-AQ60TOB
>>> Creating traefik namespace
namespace/traefik created
>>> Installing Traefik
"traefik" already exists with the same configuration, skipping
Release "traefik" does not exist. Installing it now.
Error: unable to build kubernetes objects from release manifest: unable to decode "": resource.metadataOnlyObject.ObjectMeta: v1.ObjectMeta.Annotations: ReadString: expects " or n, but found 9, error found in #10 byte of ...|io/port":9100,"prome|..., bigger context ...|metheus.io/path":"/metrics","prometheus.io/port":9100,"prometheus.io/scrape":"true"},"labels":{"app.|...
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
@johnsonshi I have fixed the Traefik e2e tests, please rebase with main and force push. |
It seems like Github Actions is facing an outage right now across different repos. |
@stefanprodan This should be ready now. |
@johnsonshi this looks great, can you squash/rearrange your commits please. Thank you! |
Signed-off-by: Johnson Shi <Johnson.Shi@microsoft.com>
Hi @stefanprodan, just squashed my commits. Thanks! |
Hi @stefanprodan, hopefully this can be merged soon! Thanks for all your comments in my PR. |
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.
Yes @stefanprodan, going to add the osm tutorial next. |
request-success-rate
andrequest-duration
based on osm-specific prometheus metricsmain.go/init()
--mesh-provider
optionosm-canary.yaml
andosm-canary-steps.yaml
inartifacts/examples