Commit Graph
131 Commits
Author SHA1 Message Date
Yuval Kohavi 868482c240 basics seem working! 2019-04-16 15:10:08 -04:00
stefanprodan f211e0fe31 Use go templates to render the builtin promql queries 2019-03-31 13:55:14 +03:00
stefanprodan c91a128b65 Fix observer mock init 2019-03-30 11:55:41 +02:00
stefanprodan 6a080f3032 Rename observer and recorder 2019-03-30 11:49:43 +02:00
stefanprodan b2c12c1131 Move observer to metrics package 2019-03-30 11:45:39 +02:00
stefanprodan 025785389d Refactor Prometheus recorder
- add flagger_info gauge metric
- expose the version and mesh provider as labels
- move the recorder to the metrics package
2019-03-28 11:58:19 +02:00
stefanprodan 48d9a0dede Ensure the status metric is set after a restart 2019-03-28 11:52:13 +02:00
stefanprodan ca074ef13f Rename router sync to reconcile 2019-03-26 17:12:46 +02:00
stefanprodan d07925d79d Fix canary status prom metrics 2019-03-25 17:26:22 +02:00
stefanprodan 941be15762 Fix typo in comments 2019-03-23 11:25:31 +02:00
stefanprodan 578ebcf6ed Use pod name filter in Envoy metrics query
Add support for Weave Cloud Prometheus agent
2019-03-23 11:20:51 +02:00
stefanprodan b4ae060122 Move to weaveworks org 2019-03-20 18:26:04 +02:00
stefanprodan 4b6126dd1a Add Envoy HTTP success rate metric check 2019-03-19 15:52:26 +02:00
stefanprodan 9d0e38c2e1 Disable primary readiness check in tests 2019-03-17 12:50:48 +02:00
stefanprodan 8b758fd616 Set primary min replicas 2019-03-17 12:30:11 +02:00
stefanprodan 7b4153113e Fix router tests 2019-03-17 11:14:47 +02:00
stefanprodan 7d340c5e61 Change mesh providers based on cmd flag 2019-03-17 10:52:52 +02:00
stefanprodan 437b1d30c0 Copy labels from canary to primary 2019-03-14 01:49:07 +02:00
Stefan ProdanandGitHub 1cd0c49872 Merge pull request #88 from stefanprodan/ab-testing
A/B testing - canary with session affinity
2019-03-11 13:55:06 +02:00
stefanprodan 86ea172380 Fix weight metric report 2019-03-08 23:28:45 +02:00
Huy Le 6196f69f4d Create New Job when Canary's Interval changes
- Currently whenever the Canary analysis interval changes, flagger does
not reflect this into canary's job.
- This change will make sure the canary analysis interval got updated whenever
the Canary object's interval changes
2019-03-08 10:27:34 -08:00
stefanprodan d8b847a973 Mention session affinity in docs 2019-03-08 15:05:44 +02:00
stefanprodan e80a3d3232 Add A/B testing scheduling unit tests 2019-03-08 13:06:39 +02:00
stefanprodan bf1ca293dc Implement fix routing for canary analysis
Allow A/B testing scenarios where instead of weighted routing the traffic is split between the primary and canary based on HTTP headers or cookies.
2019-03-08 11:54:41 +02:00
stefanprodan b0b6198ec8 Add Istio virtual service and signal packages 2019-03-06 01:43:09 +02:00
stefanprodan 9680ca98f2 Rename service router to Kubernetes router 2019-03-05 02:12:52 +02:00
stefanprodan 42b850ca52 Replace controller routing management with router pkg 2019-03-05 02:04:55 +02:00
Stefan ProdanandGitHub 535a92e871 Merge pull request #70 from stefanprodan/append-headers
Allow headers to be appended to HTTP requests
2019-03-04 10:39:43 +02:00
Huy Le 6befee79c2 Fixed namepace typo in the repo 2019-03-02 13:49:42 -08:00
stefanprodan 35e20406ef Append HTTP headers when configuring routing 2019-03-02 13:35:36 +02:00
stefanprodan 197e987d5f Avoid mesh gateway duplicates 2019-03-01 13:09:27 +02:00
stefanprodan e322ba0065 Add timeout and retries to router 2019-02-28 00:05:40 +02:00
stefanprodan 5d81876d07 Make the metric interval optional
- set default value to 1m
2019-02-27 16:03:56 +02:00
stefanprodan 4d61a896c3 Add custom promql queries support 2019-02-27 15:48:31 +02:00
stefanprodan eabef3db30 Router improvements
- change virtual service route to canary service
- keep the existing destination weights on virtual service updates
- set the match conditions and URI rewrite when changing the traffic weight
2019-02-25 03:14:45 +02:00
stefanprodan 56cb888cbf Add HTTP match and rewrite to virtual service 2019-02-25 00:08:06 +02:00
stefanprodan 1dc7677dfb Add tests for virtual service sync 2019-02-24 19:58:01 +02:00
stefanprodan 8e699a7543 Detect changes in virtual service
- ignore destination weight when comparing the two specs
2019-02-24 18:25:12 +02:00
Carlos Sanchez 0c0ebaecd5 Compare only hosts and gateways 2019-02-19 19:54:38 +01:00
Carlos Sanchez 1925f99118 If generated VirtualService already exists update it
Only if spec has changed
2019-02-19 19:40:46 +01:00
stefanprodan df1d9e3011 Add skip analysis test 2019-02-13 15:56:40 +02:00
stefanprodan 29cdd43288 Implement skip analysis
When skip analysis is enabled, Flagger checks if the canary deployment is healthy and promotes it without analysing it. If an analysis is underway, Flagger cancels it and runs the promotion.
2019-02-13 15:30:29 +02:00
stefanprodan 97fc4a90ae Add validation for label selectors
- Reject deployment if the pod label selector doesn't match 'app: <DEPLOYMENT_NAME>'
2019-02-11 11:46:59 +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 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