From b91460bea612714064af500a93e6a33c0433d30a Mon Sep 17 00:00:00 2001 From: Daniel Oliveira Date: Wed, 20 Jan 2021 20:23:43 +0100 Subject: [PATCH] Remove passing argument and make gs ready --- cmd/q3/app/server/server.go | 6 ++++-- pkg/extensions/agones_extension.go | 12 +++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/cmd/q3/app/server/server.go b/cmd/q3/app/server/server.go index abd0bdb..63f5a8f 100644 --- a/cmd/q3/app/server/server.go +++ b/cmd/q3/app/server/server.go @@ -63,8 +63,10 @@ func NewCommand() *cobra.Command { } if opts.WithAgones { - agones := &extensions.Agones{} - if err := agones.Start(ctx, &s); err != nil { + agones := &extensions.Agones{ + Server: &s, + } + if err := agones.Start(ctx); err != nil { panic(err) } } else { diff --git a/pkg/extensions/agones_extension.go b/pkg/extensions/agones_extension.go index 91efc06..b6e1d40 100644 --- a/pkg/extensions/agones_extension.go +++ b/pkg/extensions/agones_extension.go @@ -15,16 +15,19 @@ type Agones struct { sdk *sdk.SDK } -func (a *Agones) Start(ctx context.Context, server *quakeserver.Server) error { +func (a *Agones) Start(ctx context.Context) error { if err := a.InitSdk(); err != nil { return err } - a.Server = server + + if err := a.sdk.Ready(); err != nil { + return err + } go a.StartHeathCheck(ctx) go a.TrackStatus(ctx) - if err := server.Start(ctx); err != nil { + if err := a.Server.Start(ctx); err != nil { return errors.Wrap(err, "failed to start server") } @@ -44,8 +47,10 @@ func (a *Agones) InitSdk() error { } func (a *Agones) StartHeathCheck(ctx context.Context) { + log.Print("[Agones] starting health check") tick := time.Tick(2 * time.Second) maxAttempts := 0 + for { if err := a.sdk.Health(); err != nil { if maxAttempts > 5 { @@ -53,6 +58,7 @@ func (a *Agones) StartHeathCheck(ctx context.Context) { } maxAttempts++ } else { + log.Print("[Agones] ping") maxAttempts = 0 }