Olga Mirensky
9618d2ea0d
Fix promoting canary when max weight is not a multiple of step
2019-05-23 10:18:19 +10:00
stefanprodan
5b3fd0efca
Set Istio request duration to milliseconds
2019-05-15 20:01:27 +03:00
stefanprodan
0032c14a78
Refactor metrics
...
- add observer interface with builtin metrics functions
- add metrics observer factory
- add prometheus client
- implement the observer interface for istio, envoy and nginx
- remove deprecated istio and app mesh metric aliases (istio_requests_total, istio_request_duration_seconds_bucket, envoy_cluster_upstream_rq, envoy_cluster_upstream_rq_time_bucket)
2019-05-13 17:34:08 +03:00
stefanprodan
f7db0210ea
Add nginx ingress controller checks
2019-05-06 18:43:02 +03:00
Yuval Kohavi
37ebbf14f9
fix compile
2019-04-17 18:44:33 -04:00
Yuval Kohavi
156488c8d5
Merge remote-tracking branch 'origin/master' into supergloo-updated
2019-04-17 18:24:41 -04:00
Yuval Kohavi
868482c240
basics seem working!
2019-04-16 15:10:08 -04:00
stefanprodan
6ef72e2550
Make the pod selector configurable
...
- default labels: app, name and app.kubernetes.io/name
2019-04-15 12:57:25 +03:00
stefanprodan
60f51ad7d5
Move deployer and config tracker to canary package
2019-04-15 11:27:08 +03:00
stefanprodan
edcff9cd15
Execute pre/post rollout webhooks
...
- halt the canary advancement if pre-rollout hooks are failing
- include the canary status (Succeeded/Failed) in the post-rollout webhook payload
- ignore post-rollout webhook failures
- log pre/post rollout webhook response result
2019-04-13 15:43:23 +03:00
stefanprodan
352ed898d4
Add request success rate and duration metrics alias
2019-04-12 17:00:04 +03: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 Prodan
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 Prodan
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