diff --git a/enterprise/coderd/coderd.go b/enterprise/coderd/coderd.go index 16ab9c77c7653..9583e14cd7fd3 100644 --- a/enterprise/coderd/coderd.go +++ b/enterprise/coderd/coderd.go @@ -830,7 +830,7 @@ func (api *API) updateEntitlements(ctx context.Context) error { } api.derpMesh.SetAddresses(addresses, false) } - _ = api.updateEntitlements(ctx) + _ = api.updateEntitlements(api.ctx) }) } else { coordinator = agpltailnet.NewCoordinator(api.Logger) @@ -840,7 +840,7 @@ func (api *API) updateEntitlements(ctx context.Context) error { api.replicaManager.SetCallback(func() { // If the amount of replicas change, so should our entitlements. // This is to display a warning in the UI if the user is unlicensed. - _ = api.updateEntitlements(ctx) + _ = api.updateEntitlements(api.ctx) }) } diff --git a/enterprise/coderd/license/license.go b/enterprise/coderd/license/license.go index 6b31daa72a3f8..bc5c174d9fc3a 100644 --- a/enterprise/coderd/license/license.go +++ b/enterprise/coderd/license/license.go @@ -432,10 +432,15 @@ func LicensesEntitlements( if featureArguments.ManagedAgentCountFn != nil { managedAgentCount, err = featureArguments.ManagedAgentCountFn(ctx, agentLimit.UsagePeriod.Start, agentLimit.UsagePeriod.End) } - if err != nil { + switch { + case xerrors.Is(err, context.Canceled) || xerrors.Is(err, context.DeadlineExceeded): + // If the context is canceled, we want to bail the entire + // LicensesEntitlements call. + return entitlements, xerrors.Errorf("get managed agent count: %w", err) + case err != nil: entitlements.Errors = append(entitlements.Errors, fmt.Sprintf("Error getting managed agent count: %s", err.Error())) - } else { + default: agentLimit.Actual = &managedAgentCount entitlements.AddFeature(codersdk.FeatureManagedAgentLimit, agentLimit)
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: