mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Cleanup node type checking for azure nodes
This commit is contained in:
parent
097d3f13d1
commit
2e9afe2c97
@ -139,14 +139,18 @@ func (ss *scaleSet) getVmssVMByInstanceID(scaleSetName, instanceID string) (vm c
|
|||||||
// It must return ("", cloudprovider.InstanceNotFound) if the instance does
|
// It must return ("", cloudprovider.InstanceNotFound) if the instance does
|
||||||
// not exist or is no longer running.
|
// not exist or is no longer running.
|
||||||
func (ss *scaleSet) GetInstanceIDByNodeName(name string) (string, error) {
|
func (ss *scaleSet) GetInstanceIDByNodeName(name string) (string, error) {
|
||||||
_, _, vm, err := ss.getVmssVM(name)
|
managedByAS, err := ss.isNodeManagedByAvailabilitySet(name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == ErrorNotVmssInstance {
|
glog.Errorf("Failed to check isNodeManagedByAvailabilitySet: %v", err)
|
||||||
glog.V(4).Infof("GetInstanceIDByNodeName: node %q is managed by availability set", name)
|
return "", err
|
||||||
// Retry with standard type because nodes are not managed by vmss.
|
}
|
||||||
|
if managedByAS {
|
||||||
|
// vm is managed by availability set.
|
||||||
return ss.availabilitySet.GetInstanceIDByNodeName(name)
|
return ss.availabilitySet.GetInstanceIDByNodeName(name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_, _, vm, err := ss.getVmssVM(name)
|
||||||
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -183,14 +187,18 @@ func (ss *scaleSet) GetNodeNameByProviderID(providerID string) (types.NodeName,
|
|||||||
|
|
||||||
// GetInstanceTypeByNodeName gets the instance type by node name.
|
// GetInstanceTypeByNodeName gets the instance type by node name.
|
||||||
func (ss *scaleSet) GetInstanceTypeByNodeName(name string) (string, error) {
|
func (ss *scaleSet) GetInstanceTypeByNodeName(name string) (string, error) {
|
||||||
_, _, vm, err := ss.getVmssVM(name)
|
managedByAS, err := ss.isNodeManagedByAvailabilitySet(name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == ErrorNotVmssInstance {
|
glog.Errorf("Failed to check isNodeManagedByAvailabilitySet: %v", err)
|
||||||
glog.V(4).Infof("GetInstanceTypeByNodeName: node %q is managed by availability set", name)
|
return "", err
|
||||||
// Retry with standard type because nodes are not managed by vmss.
|
}
|
||||||
|
if managedByAS {
|
||||||
|
// vm is managed by availability set.
|
||||||
return ss.availabilitySet.GetInstanceTypeByNodeName(name)
|
return ss.availabilitySet.GetInstanceTypeByNodeName(name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_, _, vm, err := ss.getVmssVM(name)
|
||||||
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -203,14 +211,18 @@ func (ss *scaleSet) GetInstanceTypeByNodeName(name string) (string, error) {
|
|||||||
|
|
||||||
// GetZoneByNodeName gets cloudprovider.Zone by node name.
|
// GetZoneByNodeName gets cloudprovider.Zone by node name.
|
||||||
func (ss *scaleSet) GetZoneByNodeName(name string) (cloudprovider.Zone, error) {
|
func (ss *scaleSet) GetZoneByNodeName(name string) (cloudprovider.Zone, error) {
|
||||||
_, _, vm, err := ss.getVmssVM(name)
|
managedByAS, err := ss.isNodeManagedByAvailabilitySet(name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == ErrorNotVmssInstance {
|
glog.Errorf("Failed to check isNodeManagedByAvailabilitySet: %v", err)
|
||||||
glog.V(4).Infof("GetZoneByNodeName: node %q is managed by availability set", name)
|
return cloudprovider.Zone{}, err
|
||||||
// Retry with standard type because nodes are not managed by vmss.
|
}
|
||||||
|
if managedByAS {
|
||||||
|
// vm is managed by availability set.
|
||||||
return ss.availabilitySet.GetZoneByNodeName(name)
|
return ss.availabilitySet.GetZoneByNodeName(name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_, _, vm, err := ss.getVmssVM(name)
|
||||||
|
if err != nil {
|
||||||
return cloudprovider.Zone{}, err
|
return cloudprovider.Zone{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -403,15 +415,19 @@ func (ss *scaleSet) GetVMSetNames(service *v1.Service, nodes []*v1.Node) (vmSetN
|
|||||||
|
|
||||||
// GetPrimaryInterface gets machine primary network interface by node name and vmSet.
|
// GetPrimaryInterface gets machine primary network interface by node name and vmSet.
|
||||||
func (ss *scaleSet) GetPrimaryInterface(nodeName, vmSetName string) (network.Interface, error) {
|
func (ss *scaleSet) GetPrimaryInterface(nodeName, vmSetName string) (network.Interface, error) {
|
||||||
ssName, instanceID, vm, err := ss.getVmssVM(nodeName)
|
managedByAS, err := ss.isNodeManagedByAvailabilitySet(nodeName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == ErrorNotVmssInstance {
|
glog.Errorf("Failed to check isNodeManagedByAvailabilitySet: %v", err)
|
||||||
glog.V(4).Infof("GetPrimaryInterface: node %q is managed by availability set", nodeName)
|
return network.Interface{}, err
|
||||||
// Retry with standard type because nodes are not managed by vmss.
|
}
|
||||||
|
if managedByAS {
|
||||||
|
// vm is managed by availability set.
|
||||||
return ss.availabilitySet.GetPrimaryInterface(nodeName, "")
|
return ss.availabilitySet.GetPrimaryInterface(nodeName, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
glog.Errorf("error: ss.GetPrimaryInterface(%s), ss.getCachedVirtualMachine(%s), err=%v", nodeName, nodeName, err)
|
ssName, instanceID, vm, err := ss.getVmssVM(nodeName)
|
||||||
|
if err != nil {
|
||||||
|
glog.Errorf("error: ss.GetPrimaryInterface(%s), ss.getVmssVM(%s), err=%v", nodeName, nodeName, err)
|
||||||
return network.Interface{}, err
|
return network.Interface{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user