Commit Graph

59 Commits

Author SHA1 Message Date
Jirka Kremser 9047390737
migrate from v1.Endpoints to discoveryv1.EndpointSlices (#1298)
* Migration to EndpointSlices

Signed-off-by: Jirka Kremser <jiri.kremser@gmail.com>

* finish migration from v1.Endpoints to discoveryv1.EndpointSlices

Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>

* handle multiple EndpointSlices per service

Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>

* remove deletecollection rbac for endpoint slices

Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>

---------

Signed-off-by: Jirka Kremser <jiri.kremser@gmail.com>
Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>
Co-authored-by: Jan Wozniak <wozniak.jan@gmail.com>
2025-09-18 14:42:54 +02:00
Jorge Turrado Ferrero 9afe55b5fc
chore: Bump go version and deps (#1305)
* chore: Bump go version and deps

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* Bump golangci

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* Bump golangci

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

---------

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>
2025-07-25 11:34:31 +00:00
Jirka Kremser dc863c6fcd
Add a way to turn off the profiling for all three http add-on components (#1308)
* Add a way to turn off the profiling for all three http add-on components

Signed-off-by: Jirka Kremser <jiri.kremser@gmail.com>

* linter - The linter 'exportloopref' is deprecated (since v1.60.2) due to: Since Go1.22 (loopvar) this linter is no longer relevant. Replaced by copyloopvar.

Signed-off-by: Jirka Kremser <jiri.kremser@gmail.com>

---------

Signed-off-by: Jirka Kremser <jiri.kremser@gmail.com>
2025-06-17 13:32:02 +02:00
Zbynek Roubalik 6a6adfb7ac
scaler: allow using HSO and SO with different names (#1299)
Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com>
2025-05-21 19:12:36 +00:00
Zbynek Roubalik fe41713ec3
chore: get the correct HTTPScaledObject reference in the scaler (#1296)
Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com>
2025-05-20 08:00:21 +02:00
Zbynek Roubalik 17b2af021d
chore: reformat scaler code to match KEDA go style (#1295)
Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com>
2025-05-19 21:53:26 +02:00
Zbynek Roubalik 20478e7f2d
bump go to 1.23.6 (#1258)
Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com>
2025-02-20 18:37:28 +01:00
Jorge Turrado Ferrero 4bfcd9fc6d
chore: Bump deps (#1225)
* chore: Bump deps

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* bump go versions

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

---------

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>
2024-12-26 16:49:23 +01:00
Zbynek Roubalik 5d2e0add55
bump deps (#1135)
Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com>
2024-10-23 19:21:14 +00:00
Zbynek Roubalik b283195843
chore: bump `google.golang.org/grpc` to v1.64.0 (#1036)
Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com>
2024-05-23 14:47:01 +02:00
Jorge Turrado Ferrero 7feda00373
chore: bump go and deps (#991)
* chore: bump go and deps

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* bump linter

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* bumps deps

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* bumps deps

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* bump deps

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* update CIs

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* update manifests

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* .

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* fix kustomize

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* some updates

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* pin deps

Signed-off-by: Jorge Turrado <jorge.turrado@scrm.lidl>

* bump deps

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* bump deps

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

---------

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>
Signed-off-by: Jorge Turrado <jorge.turrado@scrm.lidl>
2024-04-30 21:17:04 +00:00
Jorge Turrado Ferrero a4f9f39ac5
feat: Support aggregation options (#961)
* feat: Support aggregation options

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* Updates

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* Updates

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* fix changelog

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* style & codegen

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* add mocks

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* update docs

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* fix e2e test

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* merge issues

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* update manifests

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

---------

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>
2024-04-10 21:41:18 +00:00
Jorge Turrado Ferrero 584b890935
chore: Remove not used var (#886)
Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>
2024-01-22 09:47:10 +01:00
Jorge Turrado Ferrero 1aea9bf659
fix: Improve Scaler reliability adding probes and 3 replicas (#872)
* fix: Improve Scaler reliability adding probes and 2 replicas

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* fix unit test

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* fix linting errores

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* fix race condition on e2e test

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* Update config/scaler/deployment.yaml

Signed-off-by: Jorge Turrado Ferrero <Jorge_turrado@hotmail.es>

---------

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>
Signed-off-by: Jorge Turrado Ferrero <Jorge_turrado@hotmail.es>
2024-01-20 21:29:49 +00:00
Jorge Turrado Ferrero e658582052
chore: Bump deps (#884)
* bump deps

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* update codegen

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* fix link

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* update linter

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* update keda and k8s versions

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

---------

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>
2024-01-19 17:00:54 +01:00
Andrew Garrett 7908755121
Fix issue where external scaler gets wedged in a bad state when queue count metric fetch fails (#876)
* Queue Pinger: Don't return error if fetchAndSaveCounts fails.

Returning the error here cancels the whole queuePinger.start loop, causing the server to (theoretically) crash.

Due to a separate bug, instead of crashing, the server can get wedged in an unhealthy state.

Fixes #870.

Signed-off-by: Andrew Garrett <andrewgarrett@google.com>

* Update CHANGELOG

Signed-off-by: Andrew Garrett <andrewgarrett@google.com>

* Update CHANGELOG.md

Signed-off-by: Jorge Turrado Ferrero <Jorge_turrado@hotmail.es>

* Update CHANGELOG.md

Signed-off-by: Jorge Turrado Ferrero <Jorge_turrado@hotmail.es>

---------

Signed-off-by: Andrew Garrett <andrewgarrett@google.com>
Signed-off-by: Jorge Turrado Ferrero <Jorge_turrado@hotmail.es>
Co-authored-by: Jorge Turrado Ferrero <Jorge_turrado@hotmail.es>
2024-01-15 08:20:49 +00:00
Jorge Turrado Ferrero 214431250a
feat: Add support for any resource which implementes `/scale` subresource (#852) 2023-12-13 16:33:28 +01:00
Jorge Turrado Ferrero bd556c794f
chore: bump deps (#853) 2023-12-10 14:49:04 +01:00
Jorge Turrado Ferrero 6c665af7bc
chore: Prepare release 0.6.0 (#809) 2023-10-05 15:25:59 +02:00
Jorge Turrado Ferrero d374cbecbf
chore: Add missing changes for the release (#806) 2023-10-05 08:47:42 +02:00
Tommy Chen 8ea0896621
Increase scaler stream interval to 200ms (#745) 2023-10-04 21:39:43 +02:00
Jorge Turrado Ferrero ee89db0759
chore: bump deps (#800) 2023-10-04 11:07:16 +02:00
Jorge Turrado Ferrero 04204c20bd
chore: bump deps (#700) 2023-08-22 14:10:09 +02:00
Pedro Tôrres a3039f6135
Fix Graceful Shutdown of Interceptor and Scaler (#732)
Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com>
2023-07-14 10:36:29 +02:00
Pedro Tôrres 6e7f15d54c
reimplement custom interceptor metrics (#720)
Co-authored-by: Jorge Turrado Ferrero <jorge.turrado@scrm.lidl>
2023-06-26 06:12:17 +00:00
Pedro Tôrres fb17e777c9
HTTPSO-based Routing Table (#669) 2023-06-15 00:33:59 +02:00
Jocelyn Thode e0e959657e
feat: Move http scaled object from single host to multi host system (#674)
Co-authored-by: Somesh Koli <somesh.koli@headout.com>
2023-05-26 17:28:51 +02:00
Pedro Tôrres 653ddb64d3
rbac: narrow permissions (#613)
* fix(rbac): narrow permissions

Signed-off-by: Pedro Tôrres <pedrotorres@microsoft.com>

* feat(rbac): generate manifests with kubebuilder

Signed-off-by: Pedro Tôrres <pedrotorres@microsoft.com>

---------

Signed-off-by: Pedro Tôrres <pedrotorres@microsoft.com>
Signed-off-by: Pedro Tôrres <t0rr3sp3dr0@gmail.com>
2023-03-02 08:36:55 +01:00
Jorge Turrado Ferrero b5c41c8c2a
chore: add golangci-lint (#584) 2023-01-27 08:52:15 +01:00
Jorge Turrado Ferrero 3f326b1b50
chore: bump deps (#581)
Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com>
2023-01-25 09:38:45 +00:00
Jorge Turrado Ferrero 4764c18c93
chore: Bump deps and go version (#572) 2023-01-13 20:07:49 +01:00
Jorge Turrado Ferrero 50e4958f79
feat: use make for scripting unifying the KEDA tools (#564)
* feat: use make for scripting

Signed-off-by: Jorge Turrado <jorge.turrado@scrm.lidl>

* Update CONTRIBUTING.md

Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com>
Signed-off-by: Jorge Turrado Ferrero <Jorge_turrado@hotmail.es>

* Update CONTRIBUTING.md

Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com>
Signed-off-by: Jorge Turrado Ferrero <Jorge_turrado@hotmail.es>

* Update config/interceptor/interceptor.yaml

Signed-off-by: Jorge Turrado Ferrero <Jorge_turrado@hotmail.es>

* apply feedback

Signed-off-by: Jorge Turrado <jorge.turrado@scrm.lidl>

Signed-off-by: Jorge Turrado <jorge.turrado@scrm.lidl>
Signed-off-by: Jorge Turrado Ferrero <Jorge_turrado@hotmail.es>
Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com>
2023-01-13 16:20:53 +01:00
Aaron Schlesinger bc165b7287
Upgrading to go 1.18 (#416)
* upgrading to go 1.18

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* Bump to 1.18.3

Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com>

Co-authored-by: Aaron Wislang <aaron.wislang@microsoft.com>
2022-06-20 22:37:30 +00:00
Aaron Schlesinger 2d35d0debf
fixing concurrent map access issue (#415)
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
Co-authored-by: Aaron Wislang <asw101@users.noreply.github.com>
2022-03-22 14:58:37 -04:00
Aaron Schlesinger 6526950f24
calling fetchAndSaveCounts in the scaler after any interceptor deployment events (#386)
* adding deployment cache to the scaler

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* more progress

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* fixing test

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
2022-02-17 15:41:52 -08:00
leska-j 7b8aaa96f1
Fix scaler crash (#399)
Signed-off-by: Jakub Leska <jakub@leska.me>

Co-authored-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
2022-02-15 19:17:01 +00:00
Aaron Wislang ce06b0d04c
Add TestStreamIsActive (#384)
* Return IsActive error vs log and continue

Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com>

* Add TestStreamIsActive

Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com>

* Bump github.com/onsi/gomega from 1.17.0 to 1.18.0 (#378)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com>

* Configure WhiteSource Bolt for GitHub (#379)

Co-authored-by: whitesource-bolt-for-github[bot] <42819689+whitesource-bolt-for-github[bot]@users.noreply.github.com>
Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com>
Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com>

* adding targetPendingRequests to the xkcd helm chart (#373)

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com>

* fixing targetPendingRequests in the HTTPScaledObject v0.2.0 documentation (#372)

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com>

* defer grpcServer.Stop()

Co-authored-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com>

* Don't check error for gprServer

Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: whitesource-bolt-for-github[bot] <42819689+whitesource-bolt-for-github[bot]@users.noreply.github.com>
Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com>
Co-authored-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
2022-01-27 14:22:51 -08:00
Aaron Wislang 08b0509400
Compile binaries and docker images with git SHA (#377)
* Compile binaries and docker images with git SHA

Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com>
Signed-off-by: Ubuntu <azureuser@vm1.dwkkbikwkshepl1jlyp52keone.bx.internal.cloudapp.net>

* Fix test

Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com>
Signed-off-by: Ubuntu <azureuser@vm1.dwkkbikwkshepl1jlyp52keone.bx.internal.cloudapp.net>

* Apply suggestions from @arschles

Co-authored-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
Signed-off-by: Ubuntu <azureuser@vm1.dwkkbikwkshepl1jlyp52keone.bx.internal.cloudapp.net>

Co-authored-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
2022-01-24 23:39:02 +00:00
Aaron Schlesinger eb4e1e9f42
Allowing cluster-global operation (#269)
* Allowing cluster-global operation

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* passing less unnecessary data in the operator

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* setting namespace

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* updating tests:

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* Updating deployment cache interfaces

To accommodate multi-namespace gets and watches

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* starting on deployment cache informer

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* switching over to informer-based deployment cache

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* fixing test compile errors and merging fake and in-memory deployment caches

Signed-off-by: Aaron <aaron@ecomaz.net>

* fixing tests

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* fixing more compile errs

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* improving logging, and several other small changes

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* go mod tidy

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* Adding config validation

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* improving ns and svc name var names to indicate interceptor

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* running go mod tidy

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* removing unused code

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* passing a function to transform target to in-cluster URL

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* not requiring namespace for operator

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* splitting namespace config for operator into watch and current

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* removing appInfo, passing current namespace everywhere in its place

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* using proper namespace when creating scaled object

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* allowing xkcd chart to set ingress namespace

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* printing namespace in error

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* using proper fully-qualified hostname of external scaler in scaledobject

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* adding note on cluster-global vs. namespaced mode

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* adding note about installing the xkcd chart in cluster-global mode

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* fixing hostname test

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* merging scaler queue counts with routing table hosts. removing merge functionality from interceptors

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* fix assumption in tests that queue has all hosts from routing table

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* adding test for MergeCountsWithRoutingTable

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* sleep for longer to wait for server to start

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* adding handler test for merging hosts

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* adding test to GetMetrics test cases for host not in queue pinger

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
2022-01-13 14:50:49 -08:00
Aaron Schlesinger c076979b19
Upgrading images to use Go 1.17.2 (#349) 2021-12-15 08:25:15 +01:00
laminar 201c7cb7bf
Add configMap informer (#326)
Signed-off-by: laminar <fangtian@kubesphere.io>
Signed-off-by: laminar <fangtian@kubesphere.io>

Co-authored-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
2021-12-14 10:06:27 -08:00
Aaron Schlesinger 3df5d09282
Refactoring concurrency in scaler's pending HTTP queue fetcher logic (#291)
* refactoring concurrency in scaler's queue pinger

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* refactoring concurrency in scaler's queue pinger

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* implementing test for queue.Counts.Aggregate()

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* adding test for fetchAndSaveCounts

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* moving background processing out of the newQueuePinger constructor

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* updating queue pinger test

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* adding documentation to the queue pinger

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* removing errant ticker.Stop() call

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* removing errant newlines

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* removing manual interceptor fakes in favor of startFakeQueueEndpointServer

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
2021-10-25 12:26:58 -07:00
Aaron Schlesinger 30fb204671
using ServeContext for all production HTTP servers (#292)
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
2021-10-25 12:10:02 -07:00
Aaron Schlesinger 5687d40217
Adding test for 'interceptor' as host in GetScalerMetrics (#294)
* adding test for 'interceptor' as host in GetScalerMetrics

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* running table-driven tests in parallel

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
2021-10-25 11:50:33 -07:00
Aaron Schlesinger a3aeb62a4d
Adding config endpoints on admin servers for scaler, interceptor and operator (#280)
* adding config endpoint to interceptor

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* adding documentation about configuration  endpointss

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* adding operator and scaler config endpoints

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* testing scaler and operator

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* serving operator and scaler admin servers on random ports for tests

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* implementing json.Marshaler for FakeDeploymentCache

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* implementing TestRunAdminServerDeploymentsEndpoint

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
2021-10-25 11:38:53 -07:00
Aaron Schlesinger ffa8042631
Consolidating the scaler GetMetricSpec tests into one table-driven test (#295)
* Consolidating the scaler GetMetricSpec tests into one table-driven tests

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* generalizing duplicated code

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
2021-10-25 11:32:43 -07:00
Ajanth c13c1d3aac
Handling host value of "interceptor" in GetMetricSpec (#273)
* Fixing issue #272

Signed-off-by: Ajanth <ajanth1997@gmail.com>

* Fixing scaler test

Signed-off-by: Ajanth <ajanth1997@gmail.com>

Co-authored-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
2021-10-08 08:54:07 -07:00
Aaron Schlesinger 4c61fae33f
removing double sleep in scaler handler test (#290)
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
2021-10-08 05:15:28 +00:00
Aaron Schlesinger 79c375d6d3
fixing typo in go comment (#288)
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
2021-10-07 13:50:45 -07:00
Aaron Schlesinger aa4e0a82b7
Specifying target in scaler for specific host (#242)
* multi-tenant interceptor and scaler

Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>

* specifying host in XKCD ingress

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* routing the xkcd chart to the interceptor properly

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* check host header first

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* sending true active response in stream

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* passing target pending requests through to the underlying ScaledObject (so the scaler can read it later)

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* removing broken target pending requests

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* using getHost in proxy handler

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* adding integration test

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* adding more tests to the integration test

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* splitting up integration tests

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* more checks

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* mark new test TODO

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* expanding interceptor integration tests

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* error messages

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* refactor test

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* more test improvements

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* rolling back target pending requests in ScaledObject

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* removing target metric error. it's not used anymore

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* improving waitFunc test

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* Refactoring the deployment cache to add better error handing and resilience.

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* adding doc comment

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* refactoring deploy cache and adding tests

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* Using interfaces for deployment watch & list

this makes tests easier

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* adding more deploy cache tests

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* Fixing up TestK8sDeploymentCacheRewatch

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* shutting down everything else when one thing errors, and adding a deployments cache endpoint

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* removing commented code

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* clarifying deployment cache JSON output, and simplifying deployment watch function

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* adding TODO tests

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* error logs and restoring the count middleware

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* using consistent net/http package name throughout main.go

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* Refactoring deployment cache deployment storage

Also, running go mod tidy and adding new TODO (i.e. failing) tests

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* using deployment.Status.ReadyReplicas, instead of just replicas

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* integration_tets ==> proxy_handlers_integration_test

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* adding some resilience to tests

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* adding deployment cache endpoint documentation

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* Specifying target size for specific host in scaler

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* sending targetPendingRequests to scalers via the routing table

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>

* using routing table reader interface in scaler

Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
2021-09-13 17:59:01 +00:00