cleanup, ensure haproxy is running and disallow writes to followers
This commit is contained in:
parent
0965f95ab0
commit
fef86deac8
9 changed files with 49 additions and 183 deletions
|
|
@ -31,11 +31,11 @@ func NewLBController(cfg *config.Config, srv *api.Server, log logr.Logger) (call
|
|||
log.Info("starting haproxy", "service", cfg.HAProxyService)
|
||||
err := ha.Start(ctx)
|
||||
if err != nil {
|
||||
log.Error(err, "error starting haproxy")
|
||||
log.Error(err, "error starting haproxy", "service", cfg.HAProxyService)
|
||||
cc.Fatal(err)
|
||||
return
|
||||
}
|
||||
err = srv.UpdateDB(db)
|
||||
err = srv.UpdateDB(db, true)
|
||||
if err != nil {
|
||||
log.Error(err, "error initialising api server as leader")
|
||||
cc.Fatal(err)
|
||||
|
|
@ -79,15 +79,24 @@ func NewLBController(cfg *config.Config, srv *api.Server, log logr.Logger) (call
|
|||
<-t.C
|
||||
continue
|
||||
}
|
||||
err = ha.IsRunning(ctx)
|
||||
if err != nil {
|
||||
log.Error(err, "error haproxy is not running", "service", cfg.HAProxyService)
|
||||
log.Info("starting haproxy", "service", cfg.HAProxyService)
|
||||
err = ha.Start(ctx)
|
||||
if err != nil {
|
||||
log.Error(err, "error starting haproxy", "service", cfg.HAProxyService)
|
||||
}
|
||||
}
|
||||
lbcfg, err := haproxy.NewConfig(lbs)
|
||||
if err != nil {
|
||||
log.Error(err, "error reading haproxy config")
|
||||
log.Error(err, "error decoding haproxy config")
|
||||
<-t.C
|
||||
continue
|
||||
}
|
||||
err = ha.UpdateConfig(ctx, lbcfg)
|
||||
if err != nil {
|
||||
log.Error(err, "error updating haproxy config")
|
||||
log.Error(err, "error updating haproxy config", "service", cfg.HAProxyService)
|
||||
<-t.C
|
||||
continue
|
||||
}
|
||||
|
|
@ -109,7 +118,7 @@ func NewLBController(cfg *config.Config, srv *api.Server, log logr.Logger) (call
|
|||
Follower: func(ctx context.Context, cc cluster.CallbackContext) {
|
||||
db := db.New(cc)
|
||||
log := cc.Logger()
|
||||
err := srv.UpdateDB(db)
|
||||
err := srv.UpdateDB(db, false)
|
||||
if err != nil {
|
||||
log.Error(err, "error initialising api server as follower")
|
||||
cc.Fatal(err)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue