• Kubernetes Submit Queue's avatar
    Merge pull request #51252 from andyzhangx/azuredisk-windows · 39659ac1
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue
    
    Azuredisk mount on windows node
    
    **What this PR does / why we need it**:
    This PR will enable azure disk on windows node, customer could create a pod mounted with azure disk on windows node. 
    There are a few pending items still left:
    1) Current fstype would be forced as NTFS, will change if there is such requirement
    2) GetDeviceNameFromMount function is not implemented(empty) because in Linux, we could use "cat /proc/mounts" to read all mounting points in OS easily, but in Windows, there is no such place, I am still figuring out. The empty function would cause a few warning logging, but it will not affect the main logic now.
    
    **Special notes for your reviewer**:
    1. This PR depends on https://github.com/kubernetes/kubernetes/pull/51240, which allow windows mount path in config validation
    2. There is a bug in docker on windows(https://github.com/moby/moby/issues/34729), the ContainerPath could only be a drive letter now(e.g. D:), dir path would fail in the end.
    
    The example pod with mount path is like below:
    
    ```
    kind: Pod
    apiVersion: v1
    metadata:
      name: pod-uses-shared-hdd-5g
      labels:
        name: storage
    spec:
      containers:
      - image: microsoft/iis
        name: az-c-01
        volumeMounts:
        - name: blobdisk01
          mountPath: 'F:'
      nodeSelector:
        beta.kubernetes.io/os: windows
      volumes:
      - name: blobdisk01
        persistentVolumeClaim:
          claimName: pv-dd-shared-hdd-5
    ```
    
    **Release note**:
    
    ```release-note
    39659ac1
Name
Last commit
Last update
..
aws_ebs Loading commit data...
azure_dd Loading commit data...
azure_file Loading commit data...
cephfs Loading commit data...
cinder Loading commit data...
configmap Loading commit data...
downwardapi Loading commit data...
empty_dir Loading commit data...
fc Loading commit data...
flexvolume Loading commit data...
flocker Loading commit data...
gce_pd Loading commit data...
git_repo Loading commit data...
glusterfs Loading commit data...
host_path Loading commit data...
iscsi Loading commit data...
local Loading commit data...
nfs Loading commit data...
photon_pd Loading commit data...
portworx Loading commit data...
projected Loading commit data...
quobyte Loading commit data...
rbd Loading commit data...
scaleio Loading commit data...
secret Loading commit data...
storageos Loading commit data...
testing Loading commit data...
util Loading commit data...
validation Loading commit data...
vsphere_volume Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...
doc.go Loading commit data...
metrics_cached.go Loading commit data...
metrics_du.go Loading commit data...
metrics_du_test.go Loading commit data...
metrics_errors.go Loading commit data...
metrics_nil.go Loading commit data...
metrics_nil_test.go Loading commit data...
metrics_statfs.go Loading commit data...
metrics_statfs_test.go Loading commit data...
plugins.go Loading commit data...
plugins_test.go Loading commit data...
util.go Loading commit data...
util_test.go Loading commit data...
volume.go Loading commit data...
volume_linux.go Loading commit data...
volume_unsupported.go Loading commit data...