cloud/bmaas/bmdb: Filter for machines based on provider
Currently the equinix shepherd tries to initialize our nodes from lumen,
which of course is not correct. This change adds another parameter to
the queries and prevents that.
Change-Id: Ib3f65e68403cb1b1282b80c1d494fb030a6d17b1
Reviewed-on: https://review.monogon.dev/c/monogon/+/2039
Reviewed-by: Serge Bazanski <serge@monogon.tech>
Tested-by: Jenkins CI
diff --git a/cloud/shepherd/equinix/manager/initializer.go b/cloud/shepherd/equinix/manager/initializer.go
index 2f1721b..272df20 100644
--- a/cloud/shepherd/equinix/manager/initializer.go
+++ b/cloud/shepherd/equinix/manager/initializer.go
@@ -20,6 +20,7 @@
"k8s.io/klog/v2"
apb "source.monogon.dev/cloud/agent/api"
+
"source.monogon.dev/cloud/bmaas/bmdb"
"source.monogon.dev/cloud/bmaas/bmdb/metrics"
"source.monogon.dev/cloud/bmaas/bmdb/model"
@@ -162,7 +163,10 @@
}
func (c *Initializer) getMachines(ctx context.Context, q *model.Queries, limit int32) ([]model.MachineProvided, error) {
- return q.GetMachinesForAgentStart(ctx, limit)
+ return q.GetMachinesForAgentStart(ctx, model.GetMachinesForAgentStartParams{
+ Limit: limit,
+ Provider: model.ProviderEquinix,
+ })
}
func (c *Initializer) processMachine(ctx context.Context, t *task) error {
diff --git a/cloud/shepherd/equinix/manager/initializer_test.go b/cloud/shepherd/equinix/manager/initializer_test.go
index 20c2f16..82e1f90 100644
--- a/cloud/shepherd/equinix/manager/initializer_test.go
+++ b/cloud/shepherd/equinix/manager/initializer_test.go
@@ -14,6 +14,7 @@
"google.golang.org/protobuf/proto"
apb "source.monogon.dev/cloud/agent/api"
+
"source.monogon.dev/cloud/bmaas/bmdb"
"source.monogon.dev/cloud/bmaas/bmdb/model"
"source.monogon.dev/cloud/lib/component"
@@ -193,7 +194,10 @@
var machines []model.MachineProvided
err = sess.Transact(ctx, func(q *model.Queries) error {
var err error
- machines, err = q.GetMachinesForAgentStart(ctx, 100)
+ machines, err = q.GetMachinesForAgentStart(ctx, model.GetMachinesForAgentStartParams{
+ Limit: 100,
+ Provider: model.ProviderEquinix,
+ })
return err
})
if err != nil {
diff --git a/cloud/shepherd/equinix/manager/recoverer.go b/cloud/shepherd/equinix/manager/recoverer.go
index 72b5588..3779b02 100644
--- a/cloud/shepherd/equinix/manager/recoverer.go
+++ b/cloud/shepherd/equinix/manager/recoverer.go
@@ -55,7 +55,10 @@
}
func (r *Recoverer) getMachines(ctx context.Context, q *model.Queries, limit int32) ([]model.MachineProvided, error) {
- return q.GetMachineForAgentRecovery(ctx, limit)
+ return q.GetMachineForAgentRecovery(ctx, model.GetMachineForAgentRecoveryParams{
+ Limit: limit,
+ Provider: model.ProviderEquinix,
+ })
}
func (r *Recoverer) processMachine(ctx context.Context, t *task) error {
diff --git a/cloud/shepherd/equinix/manager/recoverer_test.go b/cloud/shepherd/equinix/manager/recoverer_test.go
index 8583efd..63e244e 100644
--- a/cloud/shepherd/equinix/manager/recoverer_test.go
+++ b/cloud/shepherd/equinix/manager/recoverer_test.go
@@ -121,7 +121,10 @@
var machines []model.MachineProvided
err = sess.Transact(ctx, func(q *model.Queries) error {
var err error
- machines, err = q.GetMachineForAgentRecovery(ctx, 100)
+ machines, err = q.GetMachineForAgentRecovery(ctx, model.GetMachineForAgentRecoveryParams{
+ Limit: 100,
+ Provider: model.ProviderEquinix,
+ })
return err
})
if err != nil {
@@ -144,7 +147,10 @@
var machines []model.MachineProvided
err = sess.Transact(ctx, func(q *model.Queries) error {
var err error
- machines, err = q.GetMachinesForAgentStart(ctx, 100)
+ machines, err = q.GetMachinesForAgentStart(ctx, model.GetMachinesForAgentStartParams{
+ Limit: 100,
+ Provider: model.ProviderEquinix,
+ })
return err
})
if err != nil {