cloud/shepherd/equinix: split out control loop logic
This is in preparation for implementing the recoverer/rebooter inside
the shepherd.
In the future this will likely be split away from from the shepherd and
end up as a generic bmdb library. But let's first wait for concrete
usages outside of the shepherd component.
Change-Id: I69b9a2e913dcefa2c6558e271b6853285c6120b3
Reviewed-on: https://review.monogon.dev/c/monogon/+/1559
Tested-by: Jenkins CI
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
diff --git a/cloud/shepherd/equinix/manager/server/main.go b/cloud/shepherd/equinix/manager/server/main.go
index 550eea3..e9b9289 100644
--- a/cloud/shepherd/equinix/manager/server/main.go
+++ b/cloud/shepherd/equinix/manager/server/main.go
@@ -22,7 +22,6 @@
BMDB bmdb.BMDB
SharedConfig manager.SharedConfig
- AgentConfig manager.AgentConfig
ProvisionerConfig manager.ProvisionerConfig
InitializerConfig manager.InitializerConfig
WebugConfig webug.Config
@@ -45,7 +44,6 @@
c.BMDB.Database.RegisterFlags("bmdb")
c.SharedConfig.RegisterFlags("")
- c.AgentConfig.RegisterFlags()
c.ProvisionerConfig.RegisterFlags()
c.InitializerConfig.RegisterFlags()
c.WebugConfig.RegisterFlags()
@@ -84,7 +82,7 @@
klog.Exitf("%v", err)
}
- initializer, err := c.InitializerConfig.New(api, &c.SharedConfig, &c.AgentConfig)
+ initializer, err := manager.NewInitializer(api, c.InitializerConfig, &c.SharedConfig)
if err != nil {
klog.Exitf("%v", err)
}
@@ -101,7 +99,7 @@
}
}()
go func() {
- err = initializer.Run(ctx, conn)
+ err = manager.RunControlLoop(ctx, conn, initializer)
if err != nil {
klog.Exit(err)
}