Skip to content

Commit 90e4c5a

Browse files
authored
Merge pull request #399 from andyzhangx/no-cloud-provider
fix: controller could run well without cloud provider
2 parents 1725daf + df33a9b commit 90e4c5a

File tree

3 files changed

+25
-31
lines changed

3 files changed

+25
-31
lines changed

deploy/example/azure.json

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
{
2-
"cloud":"AzurePublicCloud", // mandatory
3-
"tenantId": "xxxx-xxxx-xxxx-xxxx-xxxx", // mandatory
4-
"subscriptionId": "xxxx-xxxx-xxxx-xxxx-xxxx", // mandatory
5-
"resourceGroup": "resource-group-name", // mandatory
6-
"location": "eastus2", // mandatory
7-
"aadClientId": "xxxx-xxxx-xxxx-xxxx-xxxx", // mandatory if using service principal
8-
"aadClientSecret": "xxxx-xxxx-xxxx-xxxx-xxxx", // mandatory if using service principal
9-
"useManagedIdentityExtension": false, // set true if using managed idenitty
10-
"userAssignedIdentityID": "", // mandatory if using managed idenitty
11-
"useInstanceMetadata": true, // optional
12-
"vmType": "standard", // optional
13-
"subnetName": "k8s-subnet", // optional
14-
"vnetName": "k8s-vnet-17181929", // optional
15-
"vnetResourceGroup": "", // optional
16-
"cloudProviderBackoff": true // optional
17-
}
2+
"cloud":"AzurePublicCloud",
3+
"tenantId": "xxxx-xxxx-xxxx-xxxx-xxxx",
4+
"subscriptionId": "xxxx-xxxx-xxxx-xxxx-xxxx",
5+
"resourceGroup": "resource-group-name",
6+
"location": "eastus2",
7+
"aadClientId": "xxxx-xxxx-xxxx-xxxx-xxxx",
8+
"aadClientSecret": "xxxx-xxxx-xxxx-xxxx-xxxx",
9+
"useManagedIdentityExtension": false,
10+
"userAssignedIdentityID": "",
11+
"useInstanceMetadata": true
12+
}

pkg/blob/azure.go

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -89,22 +89,21 @@ func getCloudProvider(kubeconfig, nodeID string) (*azureprovider.Cloud, error) {
8989
az.KubeClient = kubeClient
9090
}
9191

92+
if err != nil {
93+
klog.V(2).Infof("no cloud config provided, error: %v, driver will run without cloud config", err)
94+
}
95+
9296
isController := (nodeID == "")
9397
if isController {
94-
if err != nil {
95-
// controller depends on cloud config
96-
return az, err
98+
if err == nil {
99+
// Disable UseInstanceMetadata for controller to mitigate a timeout issue using IMDS
100+
// https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues/168
101+
klog.V(2).Infof("disable UseInstanceMetadata for controller server")
102+
az.Config.UseInstanceMetadata = false
97103
}
98-
// Disable UseInstanceMetadata for controller to mitigate a timeout issue using IMDS
99-
// https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues/168
100-
klog.V(2).Infof("disable UseInstanceMetadata for controller server")
101-
az.Config.UseInstanceMetadata = false
102-
klog.V(2).Infof("Starting controller server...")
104+
klog.V(2).Infof("starting controller server...")
103105
} else {
104-
if err != nil {
105-
klog.V(2).Infof("no cloud config provided, error: %v, node server will run without cloud config", err)
106-
}
107-
klog.V(2).Infof("Starting node server on node(%s)", nodeID)
106+
klog.V(2).Infof("starting node server on node(%s)", nodeID)
108107
}
109108

110109
return az, nil

pkg/blob/azure_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,13 @@ users:
8181
desc: "[failure] out of cluster, no kubeconfig, no credential file",
8282
kubeconfig: "",
8383
nodeID: "",
84-
expectedErr: fmt.Errorf("Failed to load config from file: %s, cloud not get azure cloud provider", DefaultCredFilePath),
84+
expectedErr: nil,
8585
},
8686
{
8787
desc: "[failure] out of cluster & in cluster, specify a non-exist kubeconfig, no credential file",
8888
kubeconfig: "/tmp/non-exist.json",
8989
nodeID: "",
90-
expectedErr: fmt.Errorf("Failed to load config from file: %s, cloud not get azure cloud provider", DefaultCredFilePath),
90+
expectedErr: nil,
9191
},
9292
{
9393
desc: "[failure] out of cluster & in cluster, specify a empty kubeconfig, no credential file",
@@ -99,7 +99,7 @@ users:
9999
desc: "[failure] out of cluster & in cluster, specify a fake kubeconfig, no credential file",
100100
kubeconfig: fakeKubeConfig,
101101
nodeID: "",
102-
expectedErr: fmt.Errorf("Failed to load config from file: %s, cloud not get azure cloud provider", DefaultCredFilePath),
102+
expectedErr: nil,
103103
},
104104
{
105105
desc: "[success] out of cluster & in cluster, no kubeconfig, a fake credential file",

0 commit comments

Comments
 (0)