MCPcopy Create free account
hub / github.com/cloudbase/garm / deleteInstanceFromProvider

Method deleteInstanceFromProvider

runner/pool/pool.go:1543–1576  ·  view source on GitHub ↗
(ctx context.Context, instance params.Instance)

Source from the content-addressed store, hash-verified

1541}
1542
1543func (r *basePoolManager) deleteInstanceFromProvider(ctx context.Context, instance params.Instance) error {
1544 pool, err := r.store.GetEntityPool(r.ctx, r.entity, instance.PoolID)
1545 if err != nil {
1546 return fmt.Errorf("error fetching pool: %w", err)
1547 }
1548
1549 provider, ok := r.providers[instance.ProviderName]
1550 if !ok {
1551 return fmt.Errorf("unknown provider %s for pool %s", instance.ProviderName, instance.PoolID)
1552 }
1553
1554 identifier := instance.ProviderID
1555 if identifier == "" {
1556 // provider did not return a provider ID?
1557 // try with name
1558 identifier = instance.Name
1559 }
1560
1561 slog.DebugContext(
1562 ctx, "calling delete instance on provider",
1563 "runner_name", instance.Name,
1564 "provider_id", identifier)
1565
1566 deleteInstanceParams := common.DeleteInstanceParams{
1567 DeleteInstanceV011: common.DeleteInstanceV011Params{
1568 ProviderBaseParams: r.getProviderBaseParams(pool),
1569 },
1570 }
1571 if err := provider.DeleteInstance(ctx, identifier, deleteInstanceParams); err != nil {
1572 return fmt.Errorf("error removing instance: %w", err)
1573 }
1574
1575 return nil
1576}
1577
1578func (r *basePoolManager) sleepWithCancel(sleepTime time.Duration) (canceled bool) {
1579 if sleepTime == 0 {

Callers 2

Calls 3

getProviderBaseParamsMethod · 0.95
GetEntityPoolMethod · 0.65
DeleteInstanceMethod · 0.65

Tested by

no test coverage detected