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/bmaas/bmdb/sessions_test.go b/cloud/bmaas/bmdb/sessions_test.go
index b8625a9..d3c80bd 100644
--- a/cloud/bmaas/bmdb/sessions_test.go
+++ b/cloud/bmaas/bmdb/sessions_test.go
@@ -202,7 +202,10 @@
t.Fatalf("Deadline expired")
}
work, err := session.Work(ctx, model.ProcessShepherdAgentStart, func(q *model.Queries) ([]uuid.UUID, error) {
- machines, err := q.GetMachinesForAgentStart(ctx, 1)
+ machines, err := q.GetMachinesForAgentStart(ctx, model.GetMachinesForAgentStartParams{
+ Limit: 1,
+ Provider: model.ProviderEquinix,
+ })
if err != nil {
return nil, err
}
@@ -238,7 +241,10 @@
var machines []model.MachineProvided
var err error
err = session.Transact(ctx, func(q *model.Queries) error {
- machines, err = q.GetMachinesForAgentStart(ctx, 1)
+ machines, err = q.GetMachinesForAgentStart(ctx, model.GetMachinesForAgentStartParams{
+ Limit: 1,
+ Provider: model.ProviderEquinix,
+ })
if err != nil {
return err
}
@@ -351,7 +357,10 @@
errC := make(chan error)
go func() {
work, err := session.Work(ctx, model.ProcessShepherdAgentStart, func(q *model.Queries) ([]uuid.UUID, error) {
- machines, err := q.GetMachinesForAgentStart(ctx, 1)
+ machines, err := q.GetMachinesForAgentStart(ctx, model.GetMachinesForAgentStartParams{
+ Limit: 1,
+ Provider: model.ProviderEquinix,
+ })
if err != nil {
return nil, err
}
@@ -390,7 +399,10 @@
// Mutual exclusion with AgentStart:
err = session.Transact(ctx, func(q *model.Queries) error {
- machines, err := q.GetMachinesForAgentStart(ctx, 1)
+ machines, err := q.GetMachinesForAgentStart(ctx, model.GetMachinesForAgentStartParams{
+ Limit: 1,
+ Provider: model.ProviderEquinix,
+ })
if err != nil {
return err
}
@@ -405,7 +417,10 @@
// Mutual exclusion with Recovery:
err = session.Transact(ctx, func(q *model.Queries) error {
- machines, err := q.GetMachineForAgentRecovery(ctx, 1)
+ machines, err := q.GetMachineForAgentRecovery(ctx, model.GetMachineForAgentRecoveryParams{
+ Limit: 1,
+ Provider: model.ProviderEquinix,
+ })
if err != nil {
return err
}
@@ -427,7 +442,10 @@
// That machine has its agent started, so we still expect no work to have to be
// done.
err = session.Transact(ctx, func(q *model.Queries) error {
- machines, err := q.GetMachinesForAgentStart(ctx, 1)
+ machines, err := q.GetMachinesForAgentStart(ctx, model.GetMachinesForAgentStartParams{
+ Limit: 1,
+ Provider: model.ProviderEquinix,
+ })
if err != nil {
return err
}
@@ -518,7 +536,10 @@
workOnce := func(ctx context.Context, workerID int, session *Session) error {
work, err := session.Work(ctx, model.ProcessShepherdAgentStart, func(q *model.Queries) ([]uuid.UUID, error) {
- machines, err := q.GetMachinesForAgentStart(ctx, 1)
+ machines, err := q.GetMachinesForAgentStart(ctx, model.GetMachinesForAgentStartParams{
+ Limit: 1,
+ Provider: model.ProviderEquinix,
+ })
if err != nil {
return nil, err
}