kubernetes/kops · error
method metal.Cloud::DeleteGroup not implemented
Error message
method metal.Cloud::DeleteGroup not implemented
What it means
Stub-method error: metal.Cloud.DeleteGroup is unimplemented, so deleting an instance group (and its machines) is not supported by the metal provider. Fires when group deletion is requested, e.g. removing an instance group from the cluster.
Source
Thrown at upup/pkg/fi/cloudup/metal/cloud.go:67
// FindVPCInfo looks up the specified VPC by id, returning info if found, otherwise (nil, nil).
func (c *Cloud) FindVPCInfo(id string) (*fi.VPCInfo, error) {
return nil, fmt.Errorf("method metal.Cloud::FindVPCInfo not implemented")
}
// DeleteInstance deletes a cloud instance.
func (c *Cloud) DeleteInstance(instance *cloudinstances.CloudInstance) error {
return fmt.Errorf("method metal.Cloud::DeleteInstance not implemented")
}
// // DeregisterInstance drains a cloud instance and loadbalancers.
func (c *Cloud) DeregisterInstance(instance *cloudinstances.CloudInstance) error {
return fmt.Errorf("method metal.Cloud::DeregisterInstance not implemented")
}
// DeleteGroup deletes the cloud resources that make up a CloudInstanceGroup, including the instances.
func (c *Cloud) DeleteGroup(group *cloudinstances.CloudInstanceGroup) error {
return fmt.Errorf("method metal.Cloud::DeleteGroup not implemented")
}
// DetachInstance causes a cloud instance to no longer be counted against the group's size limits.
func (c *Cloud) DetachInstance(instance *cloudinstances.CloudInstance) error {
return fmt.Errorf("method metal.Cloud::DetachInstance not implemented")
}
// GetCloudGroups returns a map of cloud instances that back a kops cluster.
// Detached instances must be returned in the NeedUpdate slice.
func (c *Cloud) GetCloudGroups(cluster *kops.Cluster, instancegroups []*kops.InstanceGroup, warnUnmatched bool, nodes []v1.Node) (map[string]*cloudinstances.CloudInstanceGroup, error) {
groups := make(map[string]*cloudinstances.CloudInstanceGroup)
for _, ig := range instancegroups {
cloudInstanceGroup := &cloudinstances.CloudInstanceGroup{
InstanceGroup: ig,
}
groups[ig.ObjectMeta.Name] = cloudInstanceGroup
for _, node := range nodes {
isControlPlaneNode := falseView on GitHub (pinned to 4c8573c808)
Solutions
- Delete bare-metal machines out-of-band when removing an instance group
- Avoid group-deletion flows on the metal provider
- Implement DeleteGroup for managed group teardown
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/metal/cloud.go:67 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05).
Data as JSON: /api/errors/7e1252f76d71bf56.
Report an issue: GitHub.