From f174df662bf6a7dcc2c65921349418b428e04f6c Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Fri, 16 Apr 2021 09:59:01 -0400 Subject: [PATCH] 17529: Heed MaxCloudOpsPerSecond in Instances() and returned insts. Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- lib/dispatchcloud/driver.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/dispatchcloud/driver.go b/lib/dispatchcloud/driver.go index 462c3683f9..5fcc0903f5 100644 --- a/lib/dispatchcloud/driver.go +++ b/lib/dispatchcloud/driver.go @@ -55,6 +55,15 @@ type rateLimitedInstanceSet struct { ticker *time.Ticker } +func (is rateLimitedInstanceSet) Instances(tags cloud.InstanceTags) ([]cloud.Instance, error) { + <-is.ticker.C + insts, err := is.InstanceSet.Instances(tags) + for i, inst := range insts { + insts[i] = &rateLimitedInstance{inst, is.ticker} + } + return insts, err +} + func (is rateLimitedInstanceSet) Create(it arvados.InstanceType, image cloud.ImageID, tags cloud.InstanceTags, init cloud.InitCommand, pk ssh.PublicKey) (cloud.Instance, error) { <-is.ticker.C inst, err := is.InstanceSet.Create(it, image, tags, init, pk) -- 2.30.2