140 Commits

Author SHA1 Message Date
Sanskar Jaiswal
b2dc762937 add support for KEDA ScaledObjects via ScaledObjectReconciler
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-06-09 21:36:57 +05:30
Sanskar Jaiswal
fa595e160c add ScalerReconciler to canary and refactor hpa out of deployment controller
Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-06-07 13:43:11 +05:30
Stefan Prodan
95381e1892 Merge pull request #1150 from cdlliuy/be_honor_to_skip_analysis_new
ignore FailedCheck result when skipAnalysis defined and be honor to skipAnalysis when internal error happens
2022-04-28 11:19:05 +03:00
Sanskar Jaiswal
c7c0c76bd3 fix canary rollback behaviour
Prevents the canary from getting triggered, when a canary deploy is
updated to match the primary deploy after an analysis fails.

Signed-off-by: Sanskar Jaiswal <sanskar.jaiswal@weave.works>
2022-04-15 13:49:05 +05:30
Ying Liu
77b2eb36a5 ignore FailedCheck result when skipAnalysis defined and be honor to skipAnalysi when internal error happens
Signed-off-by: Ying Liu <ying.liu.lying@gmail.com>
2022-03-17 10:49:30 +08:00
Ying Liu
ab84ac207a shorten the metric analysis cycle after confirmpromption gate is open and make the analysis check still works during waitingpromption status
Signed-off-by: Ying Liu <ying.liu.lying@gmail.com>
2022-03-17 10:32:01 +08:00
Olivier Michaelis
d7b878f980 style: rename CanaryWaitingPromotion to CanaryPhaseWaitingPromotion
Renames the CanaryPhase to be more consistent with the existing phases.

Signed-off-by: Olivier Michaelis <38879457+oliviermichaelis@users.noreply.github.com>
2021-05-01 00:21:13 +02:00
Jason Blackburn
f0bf5219d4 added WaitingPromotion phase and only generate one alert when transitioning into the phase
Signed-off-by: Jason Blackburn <jason.blackburn@outlook.com>
2021-03-19 08:04:18 -05:00
Mayank Shah
873141b9ca Add webhook confirm-traffic-increase for manually approving traffic increase
Signed-off-by: Mayank Shah <mayankshah1614@gmail.com>
2021-03-16 20:18:27 +05:30
Stefan Prodan
cd75c5fa25 Copyright Flux authors
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-21 19:44:52 +02:00
Stefan Prodan
90abb7ba5b Rename imports to fluxcd/flagger
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-21 19:02:23 +02:00
robq99
c53cbac22c fix: tests added, edge cases protection added 2020-11-18 12:20:42 +01:00
Robert Kwolek
1ea2e22734 fix: full weight => total weight 2020-11-17 16:30:45 +01:00
Robert Kwolek
2a0473fc9b fix: fullWeight removed, fullWeight => totalWeight 2020-11-17 09:00:21 +01:00
Robert Kwolek
67dca9c7ad Merge remote-tracking branch 'upstream/master' 2020-11-12 20:47:37 +01:00
Stefan Prodan
17237fbb3e Merge pull request #695 from worldtiki/skip_analysis
Do not promote when not ready on skip analysis
2020-09-29 08:48:43 +03:00
Daniel Albuquerque
2907526452 Do not promote when not ready on skip analysis 2020-09-14 19:46:35 +01:00
Forrest Thomas
f70f43bb3d use the existing labelSelector value instead of using the service name as the value 2020-09-02 12:46:02 -07:00
Robert Kwolek
a6a38c6a7a fix: go fixes 2020-08-25 12:22:57 +02:00
Robert Kwolek
0ccf97bec1 fix: max weight for steps fixed 2020-08-25 10:34:59 +02:00
Robert Kwolek
906103daa5 feat: weighted deployments 2020-08-20 20:56:10 +02:00
Sebastien Le Digabel
8c55bb222d Rephrasing Canary Progressing message
Fixes #606.

Also fixed the alert message to keep it consistent with the message,
along with the documentation.
2020-06-02 14:35:55 +01:00
stefanprodan
2e75dbb170 Add progressive promotion test 2020-05-18 10:44:23 +03:00
stefanprodan
eaa5b14be6 Implement progressive traffic shifting on promotion 2020-05-18 10:34:10 +03:00
mathetake
a17e8b4794 not return even if checkMetricProviderAvailability fails 2020-05-15 21:44:35 +09:00
mathetake
5d84596bc0 pkg/controller: check metrics server's availability during initalization 2020-05-15 19:35:40 +09:00
stefanprodan
6cfa432834 Retry canary initialization on conflict 2020-05-14 11:03:32 +03:00
stefanprodan
86939d9dce Register AppMesh VirtualNodes before Deployment init 2020-05-08 13:16:19 +03:00
Tariq Ibrahim
d41ed43ef9 fix issues reported by the linter 2020-04-17 11:45:44 -07:00
stefanprodan
84dd0006ca Add service metadata update unit test 2020-04-04 17:16:49 +03:00
sayboras
c0515fc6ff Upgrade to kube 1.18 2020-04-04 23:46:38 +11:00
stefanprodan
cbcd6ab03b pkg/controller: avoid status conflicts on initialization 2020-04-01 20:47:31 +03:00
mathetake
65d4b28b58 pkg/{canary,controller}: remove unused skipLivenessChecks 2020-03-28 18:13:00 +09:00
stefanprodan
d35290dd6e pkg/controller: Refactor scheduler
- move scheduler metrics and hooks to dedicate files
- remove weight params from shouldSkipAnalysis
2020-03-09 10:40:16 +02:00
mathetake
22f860a3a3 refactor pkg/controller 2020-03-08 16:06:53 +09:00
mathetake
64efd56ce9 pkg/metrics/observers: wrap errors 2020-03-08 10:56:35 +09:00
mathetake
2ec24bb17d pkg/metrics/providers: wrap ErrNoValuesFound and modify controller accordingly 2020-03-08 00:17:52 +09:00
mathetake
8e9b9a358f pkg/canary: refator error handlings and enhance messages 2020-03-07 23:10:07 +09:00
stefanprodan
287977c2b5 Deprecate spec.canaryAnalysis replaced by spec.analysis
- add analysis field to Canary spec
- deprecate canaryAnalysis filed (to be removed in the next API version)
- maintain backwards compatibility with v1alpha3 by using spec.canaryAnalysis if spec.analysis is nil
- set analysis threshold default value to 1
2020-02-28 11:24:38 +02:00
mathetake
a157824130 metrics/provider: add datadog metrics provider
implement metrics provider interface for datadog, tested against
the actual datadog account

resolves #284
2020-02-27 17:35:03 +09:00
mathetake
5af1665ef8 pkg/controller: add unit test for daemonset target 2020-02-23 13:39:11 +09:00
stefanprodan
1a87a9be45 Implement notifications based on alert providers and severity 2020-02-10 15:25:56 +02:00
stefanprodan
898edee67e Refactor Flagger APIs and tests
- add CrossNamespaceObjectReference type
- add informers collection to controller
- use the informer cache to query for metric templates
- rename mock to fixture
- regenerate clientset
2020-02-10 10:36:31 +02:00
stefanprodan
de03d49f55 Implement metric threshold range
- add CanaryThresholdRange type to Canary API
- add optional thresholdRange field to the analysis metric object
- implement min/max metric result validation
- thresholdRange takes precedence over threshold when both are specified
2020-02-08 15:04:03 +02:00
stefanprodan
448c210324 Release API version v1beta1
- bump Canary and MetricTemplate version to v1beta1
- regenerate clientset and CRD
2020-02-07 12:35:56 +02:00
stefanprodan
b17d84a39d Run the metric checks defined in templates 2020-02-06 15:07:53 +02:00
stefanprodan
d7d9d1eabe Migrate the builtin Prometheus checks to metric templates 2020-02-06 15:07:53 +02:00
Tanner Altares
fa950e1a48 support gated rollback 2020-01-30 15:11:59 -06:00
Michael Parker
8d61e6f893 rename 2020-01-09 14:26:53 -06:00
Michael Parker
91395ea1ab deepcopy canary for failed notification 2020-01-09 11:05:22 -06:00