diff --git a/database/sql/scalesets.go b/database/sql/scalesets.go index 930ae17d..65a51ca0 100644 --- a/database/sql/scalesets.go +++ b/database/sql/scalesets.go @@ -389,7 +389,7 @@ func (s *sqlDatabase) SetScaleSetLastMessageID(_ context.Context, scaleSetID uin } }() if err := s.conn.Transaction(func(tx *gorm.DB) error { - dbSet, err := s.getScaleSetByID(tx, scaleSetID) + dbSet, err := s.getScaleSetByID(tx, scaleSetID, "Instances", "Enterprise", "Organization", "Repository") if err != nil { return errors.Wrap(err, "fetching scale set") } @@ -416,7 +416,7 @@ func (s *sqlDatabase) SetScaleSetDesiredRunnerCount(_ context.Context, scaleSetI } }() if err := s.conn.Transaction(func(tx *gorm.DB) error { - dbSet, err := s.getScaleSetByID(tx, scaleSetID) + dbSet, err := s.getScaleSetByID(tx, scaleSetID, "Instances", "Enterprise", "Organization", "Repository") if err != nil { return errors.Wrap(err, "fetching scale set") } diff --git a/database/sql/util.go b/database/sql/util.go index d55e0174..2b2a1de8 100644 --- a/database/sql/util.go +++ b/database/sql/util.go @@ -362,12 +362,12 @@ func (s *sqlDatabase) sqlToCommonScaleSet(scaleSet ScaleSet) (params.ScaleSet, e } } - if scaleSet.OrgID != nil && scaleSet.Organization.Name != "" { + if scaleSet.OrgID != nil { ret.OrgID = scaleSet.OrgID.String() ret.OrgName = scaleSet.Organization.Name } - if scaleSet.EnterpriseID != nil && scaleSet.Enterprise.Name != "" { + if scaleSet.EnterpriseID != nil { ret.EnterpriseID = scaleSet.EnterpriseID.String() ret.EnterpriseName = scaleSet.Enterprise.Name } diff --git a/params/params.go b/params/params.go index 3a0e8435..6e1bc1aa 100644 --- a/params/params.go +++ b/params/params.go @@ -570,7 +570,7 @@ func (p ScaleSet) GetEntity() (ForgeEntity, error) { EntityType: ForgeEntityTypeEnterprise, }, nil } - return ForgeEntity{}, fmt.Errorf("pool has no associated entity") + return ForgeEntity{}, fmt.Errorf("scale set has no associated entity") } func (p *ScaleSet) ScaleSetType() ForgeEntityType { diff --git a/runner/pool/pool.go b/runner/pool/pool.go index 9f6d3c0e..c161e41d 100644 --- a/runner/pool/pool.go +++ b/runner/pool/pool.go @@ -68,7 +68,12 @@ const ( ) func NewEntityPoolManager(ctx context.Context, entity params.ForgeEntity, instanceTokenGetter auth.InstanceTokenGetter, providers map[string]common.Provider, store dbCommon.Store) (common.PoolManager, error) { - ctx = garmUtil.WithSlogContext(ctx, slog.Any("pool_mgr", entity.String()), slog.Any("pool_type", entity.EntityType)) + ctx = garmUtil.WithSlogContext( + ctx, + slog.Any("pool_mgr", entity.String()), + slog.Any("endpoint", entity.Credentials.Endpoint.Name), + slog.Any("pool_type", entity.EntityType), + ) ghc, err := ghClient.Client(ctx, entity) if err != nil { return nil, errors.Wrap(err, "getting github client") diff --git a/workers/cache/cache.go b/workers/cache/cache.go index 3f589edd..3b387f50 100644 --- a/workers/cache/cache.go +++ b/workers/cache/cache.go @@ -365,7 +365,7 @@ func (w *Worker) handleScaleSetEvent(event common.ChangePayload) { } entity, err := scaleSet.GetEntity() if err != nil { - slog.DebugContext(w.ctx, "getting entity from pool", "error", err) + slog.DebugContext(w.ctx, "getting entity from scale set", "error", err) return } diff --git a/workers/cache/gitea_tools.go b/workers/cache/gitea_tools.go index 5d09ccb3..43fd86ba 100644 --- a/workers/cache/gitea_tools.go +++ b/workers/cache/gitea_tools.go @@ -15,9 +15,11 @@ package cache import ( + "context" "encoding/json" "fmt" "io" + "log/slog" "net/http" "strings" "time" @@ -139,7 +141,7 @@ func (g GiteaEntityTools) MinimumVersion() (GiteaEntityTool, bool) { return GiteaEntityTool{}, false } -func getTools() ([]commonParams.RunnerApplicationDownload, error) { +func getTools(ctx context.Context) ([]commonParams.RunnerApplicationDownload, error) { resp, err := http.Get(GiteaRunnerReleasesURL) if err != nil { return nil, err @@ -170,11 +172,13 @@ func getTools() ([]commonParams.RunnerApplicationDownload, error) { for _, asset := range latest.Assets { arch, err := asset.GetArch() if err != nil { - return nil, fmt.Errorf("getting arch: %w", err) + slog.InfoContext(ctx, "ignoring unrecognized tools arch", "tool", asset.Name) + continue } os, err := asset.GetOS() if err != nil { - return nil, fmt.Errorf("getting os: %w", err) + slog.InfoContext(ctx, "ignoring unrecognized tools os", "tool", asset.Name) + continue } ret = append(ret, commonParams.RunnerApplicationDownload{ OS: os, diff --git a/workers/cache/tool_cache.go b/workers/cache/tool_cache.go index 6cbcc716..fcf66757 100644 --- a/workers/cache/tool_cache.go +++ b/workers/cache/tool_cache.go @@ -162,7 +162,7 @@ func (t *toolsUpdater) giteaUpdateLoop() { randInt = big.NewInt(0) } t.sleepWithCancel(time.Duration(randInt.Int64()) * time.Millisecond) - tools, err := getTools() + tools, err := getTools(t.ctx) if err != nil { t.addStatusEvent(fmt.Sprintf("failed to update gitea tools: %q", err), params.EventError) } else { @@ -181,7 +181,7 @@ func (t *toolsUpdater) giteaUpdateLoop() { case <-t.ctx.Done(): return case <-ticker.C: - tools, err := getTools() + tools, err := getTools(t.ctx) if err != nil { t.addStatusEvent(fmt.Sprintf("failed to update gitea tools: %q", err), params.EventError) slog.DebugContext(t.ctx, "failed to update gitea tools", "error", err)