cloud node-controller don't check instance existence in updateNodeAddress

This commit is contained in:
gongguan 2020-07-08 10:46:36 +08:00
parent 333b6976df
commit 153745c53c
2 changed files with 44 additions and 12 deletions

View File

@ -233,15 +233,6 @@ func (cnc *CloudNodeController) updateNodeAddress(ctx context.Context, node *v1.
if !ok {
return nil, fmt.Errorf("failed to get instances from cloud provider")
}
// Node that isn't present according to the cloud provider shouldn't have its address updated
exists, err := ensureNodeExistsByProviderID(ctx, instances, node)
if err != nil {
// Continue to update node address when not sure the node is not exists
klog.Errorf("%v", err)
} else if !exists {
klog.V(4).Infof("The node %s is no longer present according to the cloud provider, do not process.", node.Name)
return nil, fmt.Errorf("node %q not exist", node.Name)
}
nodeAddresses, err := getNodeAddressesByProviderIDOrName(ctx, instances, node.Spec.ProviderID, node.Name)
if err != nil {

View File

@ -217,7 +217,22 @@ func Test_AddCloudNode(t *testing.T) {
},
Spec: v1.NodeSpec{
ProviderID: "fake://12345",
Taints: []v1.Taint{},
},
Status: v1.NodeStatus{
Addresses: []v1.NodeAddress{
{
Type: v1.NodeHostName,
Address: "node0.cloud.internal",
},
{
Type: v1.NodeInternalIP,
Address: "10.0.0.1",
},
{
Type: v1.NodeExternalIP,
Address: "132.143.154.163",
},
},
},
},
},
@ -338,10 +353,23 @@ func Test_AddCloudNode(t *testing.T) {
LastTransitionTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
},
},
Addresses: []v1.NodeAddress{
{
Type: v1.NodeHostName,
Address: "node0.cloud.internal",
},
{
Type: v1.NodeInternalIP,
Address: "10.0.0.1",
},
{
Type: v1.NodeExternalIP,
Address: "132.143.154.163",
},
},
},
Spec: v1.NodeSpec{
ProviderID: "aws://12345",
Taints: []v1.Taint{},
},
},
},
@ -601,7 +629,6 @@ func Test_AddCloudNode(t *testing.T) {
ObjectMeta: metav1.ObjectMeta{
Name: "node0",
CreationTimestamp: metav1.Date(2012, 1, 1, 0, 0, 0, 0, time.UTC),
Labels: map[string]string{},
},
Status: v1.NodeStatus{
Conditions: []v1.NodeCondition{
@ -612,6 +639,20 @@ func Test_AddCloudNode(t *testing.T) {
LastTransitionTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
},
},
Addresses: []v1.NodeAddress{
{
Type: v1.NodeHostName,
Address: "node0.cloud.internal",
},
{
Type: v1.NodeInternalIP,
Address: "10.0.0.1",
},
{
Type: v1.NodeExternalIP,
Address: "132.143.154.163",
},
},
},
Spec: v1.NodeSpec{
ProviderID: "test-provider-id",