From 25a33fe58f278fe3013e43f909737cdb8f828155 Mon Sep 17 00:00:00 2001 From: Vidhart Bhatia Date: Tue, 26 Jul 2022 20:50:59 -0700 Subject: [PATCH 1/2] Update ScaledObject API to KEDA 2.7.1 Signed-off-by: Vidhart Bhatia Co-authored-by: Sanskar Jaiswal --- go.mod | 5 ++--- go.sum | 8 ++++++-- pkg/apis/keda/v1alpha1/scaledobject.go | 4 +++- pkg/apis/keda/v1alpha1/zz_generated.deepcopy.go | 10 +++++----- pkg/canary/scaler_reconciler_fixture_test.go | 3 ++- test/keda/test-scaledobject.sh | 1 + 6 files changed, 19 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index ccdd9419..a9f59cea 100644 --- a/go.mod +++ b/go.mod @@ -68,15 +68,14 @@ require ( go.opencensus.io v0.23.0 // indirect go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect - golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect + golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 // indirect golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 // indirect golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect - golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717 // indirect - golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df // indirect + golang.org/x/tools v0.1.11 // indirect google.golang.org/appengine v1.6.7 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index a24d7256..ea236fe4 100644 --- a/go.sum +++ b/go.sum @@ -26,6 +26,7 @@ cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+Y cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.2 h1:t9Iw5QH5v4XtlEQaCtUY7x6sCABps8sW0acw7e2WQ6Y= cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= @@ -87,6 +88,7 @@ github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+Ce github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= @@ -466,8 +468,9 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 h1:kQgndtyPBW/JIYERgdxfwMYh3AVStj88WQTlNDi2a+o= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -703,8 +706,9 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717 h1:hI3jKY4Hpf63ns040onEbB3dAkR/H/P83hw1TG8dD3Y= golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= +golang.org/x/tools v0.1.11 h1:loJ25fNOEhSXfHrpoGj91eCUThwdNX6u24rO1xnNteY= +golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/pkg/apis/keda/v1alpha1/scaledobject.go b/pkg/apis/keda/v1alpha1/scaledobject.go index 22604341..300b6392 100644 --- a/pkg/apis/keda/v1alpha1/scaledobject.go +++ b/pkg/apis/keda/v1alpha1/scaledobject.go @@ -127,7 +127,7 @@ type ScaleTriggers struct { // +optional AuthenticationRef *ScaledObjectAuthRef `json:"authenticationRef,omitempty"` // +optional - FallbackReplicas *int32 `json:"fallback,omitempty"` + MetricType autoscalingv2beta2.MetricTargetType `json:"metricType,omitempty"` } // +k8s:openapi-gen=true @@ -151,6 +151,8 @@ type ScaledObjectStatus struct { Conditions Conditions `json:"conditions,omitempty"` // +optional Health map[string]HealthStatus `json:"health,omitempty"` + // +optional + PausedReplicaCount *int32 `json:"pausedReplicaCount,omitempty"` } // +kubebuilder:object:root=true diff --git a/pkg/apis/keda/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/keda/v1alpha1/zz_generated.deepcopy.go index 7fb2a8f6..6b5311d5 100644 --- a/pkg/apis/keda/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/keda/v1alpha1/zz_generated.deepcopy.go @@ -188,11 +188,6 @@ func (in *ScaleTriggers) DeepCopyInto(out *ScaleTriggers) { *out = new(ScaledObjectAuthRef) **out = **in } - if in.FallbackReplicas != nil { - in, out := &in.FallbackReplicas, &out.FallbackReplicas - *out = new(int32) - **out = **in - } return } @@ -385,6 +380,11 @@ func (in *ScaledObjectStatus) DeepCopyInto(out *ScaledObjectStatus) { (*out)[key] = *val.DeepCopy() } } + if in.PausedReplicaCount != nil { + in, out := &in.PausedReplicaCount, &out.PausedReplicaCount + *out = new(int32) + **out = **in + } return } diff --git a/pkg/canary/scaler_reconciler_fixture_test.go b/pkg/canary/scaler_reconciler_fixture_test.go index d6277982..0ad58b3a 100644 --- a/pkg/canary/scaler_reconciler_fixture_test.go +++ b/pkg/canary/scaler_reconciler_fixture_test.go @@ -164,7 +164,8 @@ func newScaledObject() *keda.ScaledObject { MaxReplicaCount: int32p(4), Triggers: []keda.ScaleTriggers{ { - Type: "prometheus", + Type: "prometheus", + MetricType: "AverageValue", Metadata: map[string]string{ "serverAddress": "http://flagger-prometheus.projectcontour:9090", "metricName": "http_requests_total", diff --git a/test/keda/test-scaledobject.sh b/test/keda/test-scaledobject.sh index 5a28632d..1a3797b4 100755 --- a/test/keda/test-scaledobject.sh +++ b/test/keda/test-scaledobject.sh @@ -21,6 +21,7 @@ spec: maxReplicaCount: 3 triggers: - type: prometheus + metricType: AverageValue metadata: serverAddress: http://flagger-prometheus.flagger-system:9090 metricName: http_requests_total From f5c267144efa1a76f44858e7788ae7e15419659d Mon Sep 17 00:00:00 2001 From: Sanskar Jaiswal Date: Fri, 29 Jul 2022 16:03:07 +0530 Subject: [PATCH 2/2] fix KEDA version typo in tutorial Signed-off-by: Sanskar Jaiswal --- docs/gitbook/tutorials/keda-scaledobject.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/gitbook/tutorials/keda-scaledobject.md b/docs/gitbook/tutorials/keda-scaledobject.md index 4408df82..5a197e35 100644 --- a/docs/gitbook/tutorials/keda-scaledobject.md +++ b/docs/gitbook/tutorials/keda-scaledobject.md @@ -6,7 +6,7 @@ you can use any deployment strategy combined with any supported provider. ## Prerequisites -Flagger requires a Kubernetes cluster **v1.16** or newer. For this tutorial, we'll need KEDA **2.71** or newer. +Flagger requires a Kubernetes cluster **v1.16** or newer. For this tutorial, we'll need KEDA **2.7.1** or newer. Install KEDA: