{"record":{"id":"eb8b8b4b9cb360ca","repo":"kubernetes/kops","slug":"method-metal-cloud-deleteinstance-not-implemented","errorCode":null,"errorMessage":"method metal.Cloud::DeleteInstance not implemented","messagePattern":"method metal\\.Cloud::DeleteInstance not implemented","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/metal/cloud.go","lineNumber":57,"sourceCode":"\tcloud := &Cloud{}\n\treturn cloud, nil\n}\n\nfunc (c *Cloud) ProviderID() kops.CloudProviderID {\n\treturn kops.CloudProviderMetal\n}\nfunc (c *Cloud) DNS() (dnsprovider.Interface, error) {\n\treturn nil, fmt.Errorf(\"method metal.Cloud::DNS not implemented\")\n}\n\n// FindVPCInfo looks up the specified VPC by id, returning info if found, otherwise (nil, nil).\nfunc (c *Cloud) FindVPCInfo(id string) (*fi.VPCInfo, error) {\n\treturn nil, fmt.Errorf(\"method metal.Cloud::FindVPCInfo not implemented\")\n}\n\n// DeleteInstance deletes a cloud instance.\nfunc (c *Cloud) DeleteInstance(instance *cloudinstances.CloudInstance) error {\n\treturn fmt.Errorf(\"method metal.Cloud::DeleteInstance not implemented\")\n}\n\n// // DeregisterInstance drains a cloud instance and loadbalancers.\nfunc (c *Cloud) DeregisterInstance(instance *cloudinstances.CloudInstance) error {\n\treturn fmt.Errorf(\"method metal.Cloud::DeregisterInstance not implemented\")\n}\n\n// DeleteGroup deletes the cloud resources that make up a CloudInstanceGroup, including the instances.\nfunc (c *Cloud) DeleteGroup(group *cloudinstances.CloudInstanceGroup) error {\n\treturn fmt.Errorf(\"method metal.Cloud::DeleteGroup not implemented\")\n}\n\n// DetachInstance causes a cloud instance to no longer be counted against the group's size limits.\nfunc (c *Cloud) DetachInstance(instance *cloudinstances.CloudInstance) error {\n\treturn fmt.Errorf(\"method metal.Cloud::DetachInstance not implemented\")\n}\n\n// GetCloudGroups returns a map of cloud instances that back a kops cluster.","sourceCodeStart":39,"sourceCodeEnd":75,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/metal/cloud.go#L39-L75","documentation":"Stub-method error: metal.Cloud.DeleteInstance is unimplemented, so cloud-driven instance deletion (rolling updates, scale-down) cannot be performed by the metal provider. Fires when instance deletion is requested on bare metal.","triggerScenarios":"Thrown at upup/pkg/fi/cloudup/metal/cloud.go:57 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Delete bare-metal machines out-of-band (manually or via the metal provisioner)","Avoid flows that rely on cloud instance deletion with metal","Implement DeleteInstance if metal integration gains deletion support"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4c8573c808a73d578c5eadc86d410646ea0b0d73","analyzedAt":"2026-09-05T04:13:19.212Z","contentChangedAt":"2026-09-05T04:13:19.212Z","schemaVersion":2},"datasetVersion":"2026-09-12T07:17:12.445Z"}