mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-13 22:05:59 +00:00
Document assumption made by node-controller, and fix AWS to match
ExternalID must return "", cloudprovider.InstanceNotFound if the instance is not found, for nodecontroller to remove nodes corresponding to deleted instances.
This commit is contained in:
parent
19e574c170
commit
a77bc9cfc4
@ -588,13 +588,17 @@ func (aws *AWSCloud) NodeAddresses(name string) ([]api.NodeAddress, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ExternalID returns the cloud provider ID of the specified instance (deprecated).
|
// ExternalID returns the cloud provider ID of the specified instance (deprecated).
|
||||||
|
// Note that if the instance does not exist or is no longer running, we must return ("", cloudprovider.InstanceNotFound)
|
||||||
func (aws *AWSCloud) ExternalID(name string) (string, error) {
|
func (aws *AWSCloud) ExternalID(name string) (string, error) {
|
||||||
// TODO: Do we need to verify it exists, or can we just return name
|
// We must verify that the instance still exists
|
||||||
inst, err := aws.getInstanceById(name)
|
instance, err := aws.getInstanceById(name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
return orEmpty(inst.InstanceID), nil
|
if instance == nil || !isAlive(instance) {
|
||||||
|
return "", cloudprovider.InstanceNotFound
|
||||||
|
}
|
||||||
|
return orEmpty(instance.InstanceID), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// InstanceID returns the cloud provider ID of the specified instance.
|
// InstanceID returns the cloud provider ID of the specified instance.
|
||||||
|
@ -103,6 +103,7 @@ type Instances interface {
|
|||||||
// ExternalID returns the cloud provider ID of the specified instance (deprecated).
|
// ExternalID returns the cloud provider ID of the specified instance (deprecated).
|
||||||
ExternalID(name string) (string, error)
|
ExternalID(name string) (string, error)
|
||||||
// InstanceID returns the cloud provider ID of the specified instance.
|
// InstanceID returns the cloud provider ID of the specified instance.
|
||||||
|
// Note that if the instance does not exist or is no longer running, we must return ("", cloudprovider.InstanceNotFound)
|
||||||
InstanceID(name string) (string, error)
|
InstanceID(name string) (string, error)
|
||||||
// List lists instances that match 'filter' which is a regular expression which must match the entire instance name (fqdn)
|
// List lists instances that match 'filter' which is a regular expression which must match the entire instance name (fqdn)
|
||||||
List(filter string) ([]string, error)
|
List(filter string) ([]string, error)
|
||||||
|
Loading…
Reference in New Issue
Block a user