Git Product home page Git Product logo

azurefile-csi-driver's Introduction

Azure File CSI Driver for Kubernetes

linux build status windows build status Coverage Status FOSSA Status Artifact Hub

About

This driver allows Kubernetes to access Azure File volume using smb and nfs protocols, csi plugin name: file.csi.azure.com

Disclaimer: Deploying this driver manually is not an officially supported Microsoft product. For a fully managed and supported experience on Kubernetes, use AKS with the managed Azure file csi driver.

Project status: GA

Container Images & Kubernetes Compatibility:

Driver Version Image supported k8s version
master branch mcr.microsoft.com/k8s/csi/azurefile-csi:latest 1.21+
v1.30.0 mcr.microsoft.com/oss/kubernetes-csi/azurefile-csi:v1.30.0 1.21+
v1.29.2 mcr.microsoft.com/oss/kubernetes-csi/azurefile-csi:v1.29.2 1.21+
v1.28.7 mcr.microsoft.com/oss/kubernetes-csi/azurefile-csi:v1.28.7 1.21+

Driver parameters

Please refer to driver parameters

Prerequisite

Option#1: Provide cloud provider config with Azure credentials

  • This option depends on cloud provider config file (here is config example), config file path on different clusters:
  • specify a different config file path via configmap
    create configmap "azure-cred-file" before driver starts up
    kubectl create configmap azure-cred-file --from-literal=path="/etc/kubernetes/cloud.conf" --from-literal=path-windows="C:\\k\\cloud.conf" -n kube-system
  • Cloud provider config can also be specified via kubernetes secret, check details here
  • Make sure identity used by driver has Contributor role on node resource group and virtual network resource group

Option#2: Bring your own storage account (only for SMB protocol)

This option does not depend on cloud provider config file, supports cross subscription and on-premise cluster scenario. Refer to detailed steps.

Install driver on a Kubernetes cluster

Examples

Features

Troubleshooting

Support

Kubernetes Development

Please refer to development guide

View CI Results

Check testgrid provider-azure-azurefile-csi-driver dashboard.

Links

azurefile-csi-driver's People

Contributors

andyzhangx avatar animeshk08 avatar ashishranjan738 avatar boddumanohar avatar cvvz avatar cyril-corbon avatar danquah avatar dependabot[bot] avatar edwardsp avatar ialidzhikov avatar invidian avatar jchauncey avatar jiawei0227 avatar jsafrane avatar k8s-ci-robot avatar kkmsft avatar lizebang avatar martinforreal avatar masquerade0097 avatar mayankshah1607 avatar nearora-msft avatar nilo19 avatar nlamirault avatar renashahmsft avatar romanbednar avatar sakuralbj avatar spiffxp avatar umagnus avatar xmudrii avatar zeromagic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

azurefile-csi-driver's Issues

add mountOptions e2e test

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail

including

negative tests are done:

ginkgo.It("should receive FailedMount event with invalid mount options [file.csi.azure.com] [disk]", func() {
skipIfUsingInTreeVolumePlugin()
skipIfTestingInWindowsCluster()
pods := []testsuites.PodDetails{
{
Cmd: "echo 'hello world' > /mnt/test-1/data && grep 'hello world' /mnt/test-1/data",
Volumes: []testsuites.VolumeDetails{
{
ClaimSize: "10Gi",
MountOptions: []string{
"invalid",
"mount",
"options",
},
VolumeMount: testsuites.VolumeMountDetails{
NameGenerate: "test-volume-",
MountPathGenerate: "/mnt/test-",
},
},
},
},
}
test := testsuites.DynamicallyProvisionedInvalidMountOptions{
CSIDriver: testDriver,
Pods: pods,
StorageClassParameters: map[string]string{"skuName": "Premium_LRS", "fsType": "ext4"},
}
test.Run(cs, ns)

Describe alternatives you've considered

Additional context

set e2e test CI

Is your feature request related to a problem?/Why is this needed

Setting environment variables from repository settings
$ export aadClientId=[secure]
$ export aadClientSecret=[secure]
$ export tenantId=[secure]
$ export subscriptionId=[secure]
$ export resourceGroup=[secure]
$ export nodeid=[secure]

Describe the solution you'd like in detail

suppose the testing environment is already ready

Run the test

go get -u github.com/onsi/ginkgo/ginkgo
export KUBECONFIG=$HOME/.kube/config
ginkgo -p -nodes=$NODES -v --focus="$FOCUS" tests/e2e
TEST_PASS=$?

Describe alternatives you've considered

Additional context

/assign @ashishranjan738

[management] change Issue and PR template

Is your feature request related to a problem?/Why is this needed
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like in detail
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Azure file driver test cases summary

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail

unit tests

tests to add:

note:
since azure disk csi driver and in-tree driver use the same azure cloud provider lib, unit tests could be applied to both csi and in-tree drivers.

e2e tests

Currently there are no e2e tests on in-tree azure disk & file drivers, we could leverage existing csi e2e tests and enable those e2e tests, run against on both csi driver and in-tree driver.

current test cases:

  • should create a volume on demand
  • should create a volume on demand and mount it as readOnly in a pod
  • should create multiple PV objects, bind to PVCs and attach all to different pods on the same node
  • should create a deployment object, write and read to it, delete the pod and write and read to it again
  • should delete PV with reclaimPolicy
  • should retain PV with reclaimPolicy

more cases to add:

Performance tests

Describe alternatives you've considered

Additional context

resize feature

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail

resize feature is not completed, there are a few work items:

  • add external-resizer in deployment
  • add doc for resize feature
  • add e2e test

Describe alternatives you've considered

Additional context

add restart driver e2e test

Is your feature request related to a problem? Please describe.

Describe the solution you'd like in detail

  1. mount a pod
  2. restart driver daemonset
  3. make sure original pod could still access volume

Describe alternatives you've considered

Additional context

add Pod Identity support

Is your feature request related to a problem? Please describe.

Describe the solution you'd like in detail

add support for Pod Identity to enable finer grain scope of identity as an alternative to using the clusterโ€™s identity. We do see cases where Azure resources are closely associated with the cluster. But we also see customers partitioning AKS clusters using namespaces, and in those cases itโ€™s more likely that RBAC grants to resources like storage/key vault would be to Managed Identities that were scoped to a Kubernetes namespace.

Describe alternatives you've considered

Additional context

Make sure this driver works on OpenShift

Is your feature request related to a problem? Please describe.

Describe the solution you'd like in detail

This driver requires k8s v1.13.x, so need to make sure OpenShift supports v1.13.x first.

Describe alternatives you've considered

Additional context

secret value should not be exposed in logs

What happened:
Currently secret value would be exposed in logs, while it should not

I0421 02:40:19.501807       1 utils.go:112] GRPC response: capabilities:<rpc:<> >
I0421 02:40:19.506657       1 utils.go:106] GRPC call: /csi.v1.Node/NodePublishVolume
I0421 02:40:19.506674       1 utils.go:107] GRPC request: volume_id:"arbitrary-volumeid" target_path:"/var/lib/kubelet/pods/cc9552fd-63de-11e9-8b22-000d3a004ffb/volumes/kubernetes.io~csi/pv-blobfuse/mount" volume_capability:<mount:<> access_mode:<mode:MULTI_NODE_MULTI_WRITER > > secrets:<key:"accountkey" value:"xxx" > secrets:<key:"accountname" value:"andyacidiag" > volume_context:<key:"containerName" value:"test" > volume_context:<key:"resourceGroup" value:"andy-aci" > volume_context:<key:"storageAccount" value:"andyacidiag" >

We could disable this logging easily, while I would like to filter out only the secret value, for the other request info, it's useful for debugging:

klog.V(5).Infof("GRPC request: %+v", req)

What you expected to happen:

How to reproduce it:

Anything else we need to know?:

Environment:

  • CSI Driver version: v0.2.0-alpha
  • Kubernetes version (use kubectl version):
  • OS (e.g. from /etc/os-release):
  • Kernel (e.g. uname -a):
  • Install tools:
  • Others:

enable sanity test

Is your feature request related to a problem? Please describe.

Describe the solution you'd like in detail

Describe alternatives you've considered

Additional context

add Pod Identity support

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail

add support for Pod Identity to enable finer grain scope of identity as an alternative to using the clusterโ€™s identity. We do see cases where Azure resources are closely associated with the cluster. But we also see customers partitioning AKS clusters using namespaces, and in those cases itโ€™s more likely that RBAC grants to resources like storage/key vault would be to Managed Identities that were scoped to a Kubernetes namespace.

Describe alternatives you've considered

Additional context

add UT for createDisk func

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail

add UT for createDisk func, at least negative cases

func createDisk(ctx context.Context, accountName, accountKey, storageEndpointSuffix, fileShareName, diskName string, diskSizeBytes int64) error {
vhdHeader := vhd.CreateFixedHeader(uint64(diskSizeBytes), &vhd.VHDOptions{})
buf := new(bytes.Buffer)
if err := binary.Write(buf, binary.BigEndian, vhdHeader); nil != err {
return fmt.Errorf("failed to write VHDHeader(%+v): %v", vhdHeader, err)
}
headerBytes := buf.Bytes()
start := diskSizeBytes - int64(len(headerBytes))
end := diskSizeBytes - 1
fileURL, err := getFileURL(accountName, accountKey, storageEndpointSuffix, fileShareName, diskName)
if err != nil {
return err
}
if fileURL == nil {
return fmt.Errorf("getFileURL(%s,%s,%s,%s) return empty fileURL", accountName, storageEndpointSuffix, fileShareName, diskName)
}
if _, err = fileURL.Create(ctx, diskSizeBytes, azfile.FileHTTPHeaders{}, azfile.Metadata{}); err != nil {
return err
}
if _, err = fileURL.UploadRange(ctx, end-start, bytes.NewReader(headerBytes[:vhd.VHD_HEADER_SIZE]), nil); err != nil {
return err
}
return nil

Describe alternatives you've considered

Additional context

Restore from SMB file share snapshot feature

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail

Currently azure file don't have a restore from snapshot SDK, need to implement that when it's available.
als see ref: https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure/issues/13#issuecomment-528861659

https://docs.microsoft.com/en-us/azure/backup/restore-afs
https://docs.microsoft.com/en-us/azure/backup/restore-azure-file-share-rest-api

Describe alternatives you've considered

Additional context

[code refactor] switch glog to klog

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail

Describe alternatives you've considered

Additional context

Create Helm chart for driver

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail

Describe alternatives you've considered

Additional context

support using existing azure file share in storage class

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail

scenario is like this:
https://github.com/csi-driver/blobfuse-csi-driver#option1-use-existing-credentials-in-k8s-cluster

Need to add a new parameter(shareName) in azure file storage class, and create an azure file if it does not exist:

retAccount, _, err := d.cloud.CreateFileShare(fileShareName, account, sku, accountKind, resourceGroup, location, requestGiB)

Describe alternatives you've considered

Additional context

/assign

add timeout for mount operation

What happened:
There could be little possibility that mount operation would hang some times, need to add timeout(10m) for mount operation:

err = d.mounter.Mount(source, targetPath, "cifs", mountOptions)

What you expected to happen:

How to reproduce it:

Anything else we need to know?:

Environment:

  • CSI Driver version:
  • Kubernetes version (use kubectl version):
  • OS (e.g. from /etc/os-release):
  • Kernel (e.g. uname -a):
  • Install tools:
  • Others:

[feature] add mountOptions support

Original built-in storage class has mountOptions, we also need to support that

---
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: azurefile
provisioner: kubernetes.io/azure-file
mountOptions:
  - dir_mode=0777
  - file_mode=0777
  - uid=1000
  - gid=1000
  - mfsymlinks
  - nobrl
  - cache=none
parameters:
  skuName: Standard_LRS

[feature] make azure file csi driver run on Windows

Is your feature request related to a problem? Please describe.

Currently CSI driver is linux based, cannot run on Windows. The main difficulty is design difference between Linux and Windows, all devices are files in Linux while it's not true for Windows.
Here is a issue link in moby talking about this issue: moby/moby#38479

Describe the solution you'd like in detail

We could make the attacher and azure file csi driver running as a standalone process on Windows, that could work. (could refer to kube-proxy and kubelet implementation in aks-engine: https://github.com/Azure/aks-engine/blob/master/parts/k8s/kuberneteswindowssetup.ps1#L129-L130)
For the provision part, it could still run on Linux(on master node?). That would make it a little easier to implement.

Describe alternatives you've considered

Additional context

volumeid in azurefile driver looks strange

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail

The volumeid in azurefile is composed of storageAccount#filesharename, it looks strange, need to figure out how to use a normal format.

I0417 05:17:09.259451       1 mount_linux.go:212] Unmounting /var/lib/kubelet/pods/d1536df6-60cd-11e9-9ad7-000d3a04b60e/volumes/kubernetes.io~csi/pvc-c700881f-60cd-11e9-9ad7-000d3a04b60e/mount
I0417 05:17:09.304526       1 nodeserver.go:180] azurefile: volume /var/lib/kubelet/pods/d1536df6-60cd-11e9-9ad7-000d3a04b60e/volumes/kubernetes.io~csi/pvc-c700881f-60cd-11e9-9ad7-000d3a04b60e/mount/#f6613a6b24ed011e9812400#pvc-file-dynamic-cab15d3f-60cd-11e9-ae8a-000d3a0e181c has been unmounted.

Describe alternatives you've considered

Additional context

/assign

Not able to dynamically provision a share file from a provided storage class

Hello,

I mainly followed this link:
https://kubernetes.io/docs/concepts/storage/storage-classes/#azure-file

In order to create a azure-file storage class. We wanted to mention a specific storageaccount in order to prevent AKS from creating a new one.
In attachment (filesc - Copy.txt) , you will find the definition of the storage class that I used (I removed the values of our storage account name)
filesc - Copy.txt

as you can notice, I'm requesting to use secret a specific secret and which is located in namespace technical (and which contains the storage account key to access the storage account). The purpose being that whenever a developer would like to dynamycally create a file share, he can just refer to this storage class and the file share will be created in the right storage account.

Then I tried to create the private volume claim (pvc) (please check the pvc definition in the attachment)

Problem: pvc stuck in pending
and I see an error
'invalid option 'secretName' for volume plugin kubernetes.io/azure-file'

Is this a bug or is the official documentation of kubernetes wrong?

thank you very much for your help

Add node selector for linux node only

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail

Since this driver is not working no windows node now, need to add node selector for the following deployment file:
https://github.com/kubernetes-sigs/azurefile-csi-driver/blob/master/deploy/csi-azurefile-controller.yaml
https://github.com/kubernetes-sigs/azurefile-csi-driver/blob/master/deploy/csi-azurefile-node.yaml

Describe alternatives you've considered

Additional context

Create the first azure file may cost 4min

What happened:
If create an azure file on a new k8s cluster without a storage account, create the first azure file would cost a lot more time since it would create an azure storage account first and then create azure file, below are the error logs:

Events:
  Type       Reason                Age               From                                                                                              Message
  ----       ------                ----              ----                                                                                              -------
  Normal     Provisioning          8s (x3 over 73s)  file.csi.azure.com_csi-azurefile-controller-6b4775bfd-xkmfm_7e7076e3-a705-11e9-9437-ae978b7a0a75  External provisioner is provisioning volume for claim "azurefile-1803/pvc-tzf5s"
  Warning    ProvisioningFailed    8s (x3 over 53s)  file.csi.azure.com_csi-azurefile-controller-6b4775bfd-xkmfm_7e7076e3-a705-11e9-9437-ae978b7a0a75  failed to provision volume with StorageClass "azurefile-1803-file.csi.azure.com-dynamic-sc-zrlw5": rpc error: code = Unknown desc = failed to create file share(pvc-7065a3e1-a705-11e9-9ad7-da3c35cee84f) on account() type(Standard_LRS) rg() location() size(10), error: could not get storage key for storage account : could not get storage key for storage account f7ebe9d24a70511e9acf3ae: storage.AccountsClient#ListKeys: Failure sending request: StatusCode=409 -- Original Error: autorest/azure: Service returned an error. Status=<nil> Code="StorageAccountIsNotProvisioned" Message="The storage account provisioning state must be 'Succeeded' before executing the operation."
  Normal     ExternalProvisioning  5s (x7 over 95s)  persistentvolume-controller                                                                       waiting for a volume to be created, either by external provisioner "file.csi.azure.com" or manually created by system administrator
Mounted By:  <none>

What you expected to happen:

How to reproduce it:

Anything else we need to know?:

Environment:

  • CSI Driver version: v0.3.0
  • Kubernetes version (use kubectl version):
  • OS (e.g. from /etc/os-release):
  • Kernel (e.g. uname -a):
  • Install tools:
  • Others:

/assign

fix sanity test failures

What happened:

Summarizing 5 Failures:

[Fail] Controller Service CreateVolume [It] should not fail when requesting to create a volume with already existing name and same capacity. 
/home/priyanshu/work/src/github.com/csi-driver/azurefile-csi-driver/vendor/github.com/kubernetes-csi/csi-test/pkg/sanity/controller.go:371

[Fail] Controller Service CreateVolume [It] should fail when requesting to create a volume with already existing name and different capacity. 
/home/priyanshu/work/src/github.com/csi-driver/azurefile-csi-driver/vendor/github.com/kubernetes-csi/csi-test/pkg/sanity/controller.go:442

[Fail] Controller Service ValidateVolumeCapabilities [It] should fail when the requested volume does not exist 
/home/priyanshu/work/src/github.com/csi-driver/azurefile-csi-driver/vendor/github.com/kubernetes-csi/csi-test/pkg/sanity/controller.go:705

[Fail] Node Service [It] should work 
/home/priyanshu/work/src/github.com/csi-driver/azurefile-csi-driver/vendor/github.com/kubernetes-csi/csi-test/pkg/sanity/node.go:464

Ran 26 of 57 Specs in 77.639 seconds
FAIL! -- 21 Passed | 5 Failed | 0 Pending | 31 Skipped

following issue has been fixed:

[Fail] Controller Service DeleteVolume [It] should succeed when an invalid volume id is used 
/home/priyanshu/work/src/github.com/csi-driver/azurefile-csi-driver/vendor/github.com/kubernetes-csi/csi-test/pkg/sanity/controller.go:543

What you expected to happen:

How to reproduce it:
run sanity test: https://github.com/kubernetes-sigs/azurefile-csi-driver/tree/master/test/sanity

Anything else we need to know?:

Environment:

  • CSI Driver version:
  • Kubernetes version (use kubectl version):
  • OS (e.g. from /etc/os-release):
  • Kernel (e.g. uname -a):
  • Install tools:
  • Others:

integrate e2e test with kubernetes/test-infra

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail

could refer to:
https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes/cloud-provider-azure/cloud-provider-azure-config.yaml
https://github.com/kubernetes/test-infra/tree/master/config/jobs/kubernetes-sigs

WIP PR: kubernetes/test-infra#12386
Describe alternatives you've considered

Additional context

/assign @ashishranjan738

switch azure cloud provider to 1.14

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail

Describe alternatives you've considered

Additional context

/assign

Set priority class to system critical

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail

add priorityClassName: system-cluster-critical and priorityClassName: system-node-critical to controller and node YAMLs respectively

Make the driver high priority and less likely to be evicted

Describe alternatives you've considered

Additional context

handle ShareBeingDeleted error when DeleteVolume

What happened:

We should handle below ShareBeingDeleted in DeleteVolume function, need to retry:

I0912 23:15:06.139324   12105 utils.go:111] GRPC call: /csi.v1.Controller/DeleteVolume
I0912 23:15:06.139355   12105 utils.go:112] GRPC request: volume_id:"#blobfuseci#sanity-node-full-8b4579a6-63d6317e" 
E0912 23:15:06.298687   12105 utils.go:116] GRPC error: rpc error: code = Internal desc = DeleteFileShare sanity-node-full-8b4579a6-63d6317e under blobfuseci failed with error: -> github.com/Azure/azure-storage-file-go/azfile.newStorageError, /home/travis/gopath/pkg/mod/github.com/!azure/[email protected]/azfile/zc_storage_error.go:42
===== RESPONSE ERROR (ServiceCode=ShareBeingDeleted) =====
Description=The specified share is being deleted. Try operation later.
RequestId:58c3b74a-f01a-0185-5fbf-69ba2e000000
Time:2019-09-12T23:15:06.2888953Z, Details: 
   Code: ShareBeingDeleted
   DELETE https://blobfuseci.file.core.windows.net/sanity-node-full-8b4579a6-63d6317e?restype=share&timeout=61
   Authorization: REDACTED
   User-Agent: [Azure-Storage/0.5.0 (go1.12.1; linux)]
   X-Ms-Client-Request-Id: [e1117938-be6a-44eb-4ea5-290f123e9650]
   X-Ms-Date: [Thu, 12 Sep 2019 23:15:06 GMT]
   X-Ms-Delete-Snapshots: [include]
   X-Ms-Version: [2018-03-28]
   --------------------------------------------------------------------------------
   RESPONSE Status: 409 The specified share is being deleted. Try operation later.
   Content-Length: [244]
   Content-Type: [application/xml]
   Date: [Thu, 12 Sep 2019 23:15:06 GMT]
   Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0]
   X-Ms-Error-Code: [ShareBeingDeleted]
   X-Ms-Request-Id: [58c3b74a-f01a-0185-5fbf-69ba2e000000]
   X-Ms-Version: [2018-03-28]
cleanup: error: DeleteVolume: rpc error: code = Internal desc = DeleteFileShare sanity-node-full-8b4579a6-63d6317e under blobfuseci failed with error: -> github.com/Azure/azure-storage-file-go/azfile.newStorageError, /home/travis/gopath/pkg/mod/github.com/!azure/[email protected]/azfile/zc_storage_error.go:42
===== RESPONSE ERROR (ServiceCode=ShareBeingDeleted) =====
Description=The specified share is being deleted. Try operation later.
RequestId:58c3b74a-f01a-0185-5fbf-69ba2e000000
Time:2019-09-12T23:15:06.2888953Z, Details: 
   Code: ShareBeingDeleted
   DELETE https://blobfuseci.file.core.windows.net/sanity-node-full-8b4579a6-63d6317e?restype=share&timeout=61
   Authorization: REDACTED
   User-Agent: [Azure-Storage/0.5.0 (go1.12.1; linux)]
   X-Ms-Client-Request-Id: [e1117938-be6a-44eb-4ea5-290f123e9650]
   X-Ms-Date: [Thu, 12 Sep 2019 23:15:06 GMT]
   X-Ms-Delete-Snapshots: [include]
   X-Ms-Version: [2018-03-28]
   --------------------------------------------------------------------------------
   RESPONSE Status: 409 The specified share is being deleted. Try operation later.
   Content-Length: [244]
   Content-Type: [application/xml]
   Date: [Thu, 12 Sep 2019 23:15:06 GMT]
   Server: [Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0]
   X-Ms-Error-Code: [ShareBeingDeleted]
   X-Ms-Request-Id: [58c3b74a-f01a-0185-5fbf-69ba2e000000]
   X-Ms-Version: [2018-03-28]

What you expected to happen:

How to reproduce it:

Anything else we need to know?:

Environment:

  • CSI Driver version: v0.3.0
  • Kubernetes version (use kubectl version):
  • OS (e.g. from /etc/os-release):
  • Kernel (e.g. uname -a):
  • Install tools:
  • Others:

/assign @ZeroMagic

update outdated helm installation doc

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail

The deployment scripts under https://github.com/kubernetes-sigs/azurefile-csi-driver/tree/master/charts/azurefile-csi-driver/templates is outdated, now all deployment are using master/agent mode, need to update

If you have already installed Helm, you can also use it to install azurefile CSI driver. Please see [Installation with Helm](../charts/README.md).

Describe alternatives you've considered

Additional context

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.