stefanprodan
456d914c35
Release v0.5.0
2019-01-30 14:54:03 +02:00
stefanprodan
4bcf82d295
Copy annotations from canary to primary on promotion
2019-01-28 11:02:33 +02:00
stefanprodan
0830abd51d
Trigger a rolling update when configs change
...
- generate a unique pod annotation on promotion
2019-01-28 10:49:43 +02:00
stefanprodan
5b296e01b3
Detect changes in configs and trigger canary analysis
...
- restart analysis if a ConfigMap or Secret changes during rollout
- add tests for tracked changes
2019-01-26 12:36:27 +02:00
stefanprodan
3fd039afd1
Add tracked configs checksum to canary status
2019-01-26 12:33:15 +02:00
stefanprodan
5904348ba5
Refactor tests
...
- consolidate fake clients and mock objects
2019-01-26 00:39:33 +02:00
stefanprodan
1a98e93723
Add config and secret volumes tests
2019-01-25 23:47:50 +02:00
stefanprodan
c9685fbd13
Add ConfigMap env from source tests
2019-01-25 18:58:23 +02:00
stefanprodan
dc347e273d
Add secrets from env tests
2019-01-25 18:27:05 +02:00
stefanprodan
8170916897
Add ConfigMap tracking tests
2019-01-25 18:03:36 +02:00
stefanprodan
71cd4e0cb7
Include ConfigMaps and Secrets in promotion
...
- create primary configs and secrets at bootstrap
- copy configs and secrets from canary to primary and update the pod spec on promotion
2019-01-25 16:03:51 +02:00
stefanprodan
0109788ccc
Discover config maps and secrets
...
- scan target deployment volumes and containers for configmaps and secrets
2019-01-25 13:20:46 +02:00
stefanprodan
05664fa648
Release v0.4.1
2019-01-24 12:17:37 +02:00
stefanprodan
dbf26ddf53
Add load tester flag to log the cmd output
2019-01-21 13:36:08 +02:00
stefanprodan
07d8355363
Rename load testing service to flagger-loadtester
2019-01-20 14:28:45 +02:00
stefanprodan
f7a439274e
Go format API types
2019-01-20 14:10:10 +02:00
stefanprodan
bd6d446cb8
Go format scheduler
2019-01-20 14:04:10 +02:00
stefanprodan
385d0e0549
Add load test runner service
...
- embed rakyll/hey in the runner container image
2019-01-20 14:00:14 +02:00
stefanprodan
02236374d8
Run the wekbooks before the metrics checks
...
- log warning when no values are found for Istio metric due to lack of traffic
2019-01-20 13:54:44 +02:00
stefanprodan
c46fe55ad0
Release v0.4.0
2019-01-18 12:49:36 +02:00
stefanprodan
60f6b05397
Refactor scheduler tests
2019-01-18 11:14:27 +02:00
stefanprodan
6d8a7343b7
Add tests for analysis restart and canary promotion
2019-01-18 11:05:40 +02:00
stefanprodan
aff8b117d4
Restart validation if revision changes during analysis
2019-01-17 15:13:59 +02:00
stefanprodan
1d31b5ed90
Add canary name and namespace to controller logs
...
- zap key-value: canary=name.namespace
2019-01-17 13:58:10 +02:00
stefanprodan
1ef310f00d
Add traffic weight to canary status
...
- show current weight on kubectl get canaries and kubectl get all
2019-01-16 16:29:59 +02:00
stefanprodan
acdd2c46d5
Refactor Canary status
...
- add status phases (Initialized, Progressing, Succeeded, Failed)
- rename status revision to LastAppliedSpec
2019-01-16 15:06:38 +02:00
stefanprodan
9872e6bc16
Skip readiness checks if canary analysis finished
2019-01-16 13:18:53 +02:00
stefanprodan
10c2bdec86
Use deep copy when updating the virtual service routes
2019-01-16 13:13:07 +02:00
stefanprodan
4bf3b70048
Use CRD UpdateStatus for Canary status updated
...
- requires Kubernetes >=1.11
2019-01-16 01:00:39 +02:00
stefanprodan
9232c8647a
Check if multiple canaries have the same target
...
- log an error on target duplication ref #13
2019-01-15 21:43:05 +02:00
stefanprodan
23e8c7d616
Fix for when canary name is different to the target name
...
- use target name consistent at bootstrap
2019-01-15 21:18:46 +02:00
Stefan Prodan
42607fbd64
Merge pull request #26 from carlossg/service-name
...
Fix VirtualService routes
2019-01-15 19:38:38 +01:00
stefanprodan
28781a5f02
Use deep copy when updating the deployment object
...
- fix canary status update logs
2019-01-15 20:37:14 +02:00
stefanprodan
3589e11244
Bump dev version
2019-01-15 20:36:59 +02:00
Carlos Sanchez
5e880d3942
Wrong VirtualService routes
...
If deployment name is different from canary name
the virtual service routes are created with canary name
but the services are created with deployment name
Note that canary name should match deployment name
2019-01-15 18:44:50 +01:00
stefanprodan
f7e675144d
Release v0.3.0
2019-01-11 20:10:41 +02:00
Stefan Prodan
3bff2c339b
Merge pull request #20 from stefanprodan/scheduler
...
Add canary analysis schedule interval to CRD
2019-01-11 19:06:17 +01:00
Stefan Prodan
b035c1e7fb
Merge pull request #25 from carlossg/virtualservice-naming
...
Tries to create VirtualService that already exists
2019-01-11 18:03:57 +01:00
Carlos Sanchez
7ae0d49e80
Tries to create VirtualService that already exists
...
When canary name is different than deployment name
VirtualService croc-hunter-jenkinsx.jx-staging create error virtualservices.networking.istio.io "croc-hunter-jenkinsx" already exists
2019-01-11 17:47:52 +01:00
Stefan Prodan
07f66e849d
Merge branch 'master' into scheduler
2019-01-11 15:07:03 +01:00
stefanprodan
83118faeb3
Fix autoscalerRef tests
2019-01-11 13:51:44 +02:00
stefanprodan
aa2c28c733
Make autoscalerRef optional
...
- use anyOf as a workaround for the openAPI object validation not accepting empty values
- fix #23
2019-01-11 13:42:32 +02:00
Carlos Sanchez
c1bde57c17
Fix bad error message
...
"controller/scheduler.go:217","msg":"deployment . update error Canary.flagger.app \"jx-staging-croc-hunter-jenkinsx\" is invalid: []: Invalid value: map[string]interface {}{\"metadata\":map[string]interface {}{\"name\":\"jx-staging-croc-hunter-jenkinsx\", \"namespace\":\"jx-staging\", \"selfLink\":\"/apis/flagger.app/v1alpha2/namespaces/jx-staging/canaries/jx-staging-croc-hunter-jenkinsx\", \"uid\":\"b248877e-1406-11e9-bf64-42010a8000c6\", \"resourceVersion\":\"30650895\", \"generation\":1, \"creationTimestamp\":\"2019-01-09T12:04:20Z\"}, \"spec\":map[string]interface {}{\"canaryAnalysis\":map[string]interface {}{\"threshold\":5, \"maxWeight\":50, \"stepWeight\":10, \"metrics\":[]interface {}{map[string]interface {}{\"name\":\"istio_requests_total\", \"interval\":\"1m\", \"threshold\":99}, map[string]interface {}{\"name\":\"istio_request_duration_seconds_bucket\", \"interval\":\"30s\"istio-system/flagger-b486d78c8-fkmbr[flagger]: {"level":"info","ts":"2019-01-09T12:14:05.158Z","caller":"controller/deployer.go:228","msg":"Scaling down jx-staging-croc-hunter-jenkinsx.jx-staging"}
2019-01-09 13:17:17 +01:00
stefanprodan
882b4b2d23
Update the control loop interval flag description
2019-01-08 13:15:10 +02:00
stefanprodan
bec96356ec
Bump CRD version to v1alpha3
...
- new field canaryAnalysis.interval
2019-01-07 01:03:31 +02:00
stefanprodan
b5c648ea54
Bump version to 0.3.0-beta.1
2019-01-07 00:30:09 +02:00
stefanprodan
e6e3e500be
Schedule canary analysis based on interval
2019-01-07 00:26:01 +02:00
stefanprodan
537e8fdaf7
Add canary analysis interval to CRD
2019-01-07 00:24:43 +02:00
stefanprodan
f90ba560b7
Release v0.2.0
2019-01-04 13:44:50 +02:00
stefanprodan
b008abd4a7
Fix metrics server offline test
2018-12-27 12:43:43 +02:00