Skip to content

Commit

Permalink
Merge pull request #29836 from rootfs/azuredd
Browse files Browse the repository at this point in the history
Automatic merge from submit-queue

support Azure data disk volume

This is a WIP of supporting azure data disk volume. Will add test and dynamic provisioning support once #29006 is merged

replace #25915
fix #23259

@kubernetes/sig-storage 
@colemickens @brendandburns
  • Loading branch information
Kubernetes Submit Queue authored Aug 24, 2016
2 parents cfab351 + dea4b02 commit 3544f8a
Show file tree
Hide file tree
Showing 36 changed files with 44,943 additions and 41,125 deletions.
38 changes: 38 additions & 0 deletions api/swagger-spec/apps_v1alpha1.json
Original file line number Diff line number Diff line change
Expand Up @@ -1425,6 +1425,10 @@
"quobyte": {
"$ref": "v1.QuobyteVolumeSource",
"description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime"
},
"azureDisk": {
"$ref": "v1.AzureDiskVolumeSource",
"description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod."
}
}
},
Expand Down Expand Up @@ -2023,6 +2027,40 @@
}
}
},
"v1.AzureDiskVolumeSource": {
"id": "v1.AzureDiskVolumeSource",
"description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.",
"required": [
"diskName",
"diskURI"
],
"properties": {
"diskName": {
"type": "string",
"description": "The Name of the data disk in the blob storage"
},
"diskURI": {
"type": "string",
"description": "The URI the data disk in the blob storage"
},
"cachingMode": {
"$ref": "v1.AzureDataDiskCachingMode",
"description": "Host Caching mode: None, Read Only, Read Write."
},
"fsType": {
"type": "string",
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified."
},
"readOnly": {
"type": "boolean",
"description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts."
}
}
},
"v1.AzureDataDiskCachingMode": {
"id": "v1.AzureDataDiskCachingMode",
"properties": {}
},
"v1.Container": {
"id": "v1.Container",
"description": "A single application container that you want to run within a pod.",
Expand Down
38 changes: 38 additions & 0 deletions api/swagger-spec/batch_v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -1430,6 +1430,10 @@
"quobyte": {
"$ref": "v1.QuobyteVolumeSource",
"description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime"
},
"azureDisk": {
"$ref": "v1.AzureDiskVolumeSource",
"description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod."
}
}
},
Expand Down Expand Up @@ -2028,6 +2032,40 @@
}
}
},
"v1.AzureDiskVolumeSource": {
"id": "v1.AzureDiskVolumeSource",
"description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.",
"required": [
"diskName",
"diskURI"
],
"properties": {
"diskName": {
"type": "string",
"description": "The Name of the data disk in the blob storage"
},
"diskURI": {
"type": "string",
"description": "The URI the data disk in the blob storage"
},
"cachingMode": {
"$ref": "v1.AzureDataDiskCachingMode",
"description": "Host Caching mode: None, Read Only, Read Write."
},
"fsType": {
"type": "string",
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified."
},
"readOnly": {
"type": "boolean",
"description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts."
}
}
},
"v1.AzureDataDiskCachingMode": {
"id": "v1.AzureDataDiskCachingMode",
"properties": {}
},
"v1.Container": {
"id": "v1.Container",
"description": "A single application container that you want to run within a pod.",
Expand Down
38 changes: 38 additions & 0 deletions api/swagger-spec/extensions_v1beta1.json
Original file line number Diff line number Diff line change
Expand Up @@ -8594,6 +8594,10 @@
"quobyte": {
"$ref": "v1.QuobyteVolumeSource",
"description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime"
},
"azureDisk": {
"$ref": "v1.AzureDiskVolumeSource",
"description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod."
}
}
},
Expand Down Expand Up @@ -9192,6 +9196,40 @@
}
}
},
"v1.AzureDiskVolumeSource": {
"id": "v1.AzureDiskVolumeSource",
"description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.",
"required": [
"diskName",
"diskURI"
],
"properties": {
"diskName": {
"type": "string",
"description": "The Name of the data disk in the blob storage"
},
"diskURI": {
"type": "string",
"description": "The URI the data disk in the blob storage"
},
"cachingMode": {
"$ref": "v1.AzureDataDiskCachingMode",
"description": "Host Caching mode: None, Read Only, Read Write."
},
"fsType": {
"type": "string",
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified."
},
"readOnly": {
"type": "boolean",
"description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts."
}
}
},
"v1.AzureDataDiskCachingMode": {
"id": "v1.AzureDataDiskCachingMode",
"properties": {}
},
"v1.Container": {
"id": "v1.Container",
"description": "A single application container that you want to run within a pod.",
Expand Down
42 changes: 42 additions & 0 deletions api/swagger-spec/v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -17317,6 +17317,10 @@
"$ref": "v1.QuobyteVolumeSource",
"description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime"
},
"azureDisk": {
"$ref": "v1.AzureDiskVolumeSource",
"description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod."
},
"accessModes": {
"type": "array",
"items": {
Expand Down Expand Up @@ -17732,6 +17736,40 @@
}
}
},
"v1.AzureDiskVolumeSource": {
"id": "v1.AzureDiskVolumeSource",
"description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.",
"required": [
"diskName",
"diskURI"
],
"properties": {
"diskName": {
"type": "string",
"description": "The Name of the data disk in the blob storage"
},
"diskURI": {
"type": "string",
"description": "The URI the data disk in the blob storage"
},
"cachingMode": {
"$ref": "v1.AzureDataDiskCachingMode",
"description": "Host Caching mode: None, Read Only, Read Write."
},
"fsType": {
"type": "string",
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified."
},
"readOnly": {
"type": "boolean",
"description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts."
}
}
},
"v1.AzureDataDiskCachingMode": {
"id": "v1.AzureDataDiskCachingMode",
"properties": {}
},
"v1.PersistentVolumeStatus": {
"id": "v1.PersistentVolumeStatus",
"description": "PersistentVolumeStatus is the current status of a persistent volume.",
Expand Down Expand Up @@ -17986,6 +18024,10 @@
"quobyte": {
"$ref": "v1.QuobyteVolumeSource",
"description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime"
},
"azureDisk": {
"$ref": "v1.AzureDiskVolumeSource",
"description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod."
}
}
},
Expand Down
2 changes: 2 additions & 0 deletions cmd/kube-controller-manager/app/plugins.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ import (
"k8s.io/kubernetes/pkg/util/io"
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume/aws_ebs"
"k8s.io/kubernetes/pkg/volume/azure_dd"
"k8s.io/kubernetes/pkg/volume/cinder"
"k8s.io/kubernetes/pkg/volume/flexvolume"
"k8s.io/kubernetes/pkg/volume/gce_pd"
Expand All @@ -60,6 +61,7 @@ func ProbeAttachableVolumePlugins(config componentconfig.VolumeConfiguration) []
allPlugins = append(allPlugins, cinder.ProbeVolumePlugins()...)
allPlugins = append(allPlugins, flexvolume.ProbeVolumePlugins(config.FlexVolumePluginDir)...)
allPlugins = append(allPlugins, vsphere_volume.ProbeVolumePlugins()...)
allPlugins = append(allPlugins, azure_dd.ProbeVolumePlugins()...)
return allPlugins
}

Expand Down
2 changes: 2 additions & 0 deletions cmd/kubelet/app/plugins.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import (
// Volume plugins
"k8s.io/kubernetes/pkg/volume"
"k8s.io/kubernetes/pkg/volume/aws_ebs"
"k8s.io/kubernetes/pkg/volume/azure_dd"
"k8s.io/kubernetes/pkg/volume/azure_file"
"k8s.io/kubernetes/pkg/volume/cephfs"
"k8s.io/kubernetes/pkg/volume/cinder"
Expand Down Expand Up @@ -84,6 +85,7 @@ func ProbeVolumePlugins(pluginDir string) []volume.VolumePlugin {
allPlugins = append(allPlugins, azure_file.ProbeVolumePlugins()...)
allPlugins = append(allPlugins, configmap.ProbeVolumePlugins()...)
allPlugins = append(allPlugins, vsphere_volume.ProbeVolumePlugins()...)
allPlugins = append(allPlugins, azure_dd.ProbeVolumePlugins()...)
return allPlugins
}

Expand Down
75 changes: 74 additions & 1 deletion docs/api-reference/batch/v1/definitions.html
Original file line number Diff line number Diff line change
Expand Up @@ -2963,6 +2963,68 @@ <h3 id="_v1_keytopath">v1.KeyToPath</h3>
</tbody>
</table>

</div>
<div class="sect2">
<h3 id="_v1_azurediskvolumesource">v1.AzureDiskVolumeSource</h3>
<div class="paragraph">
<p>AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.</p>
</div>
<table class="tableblock frame-all grid-all" style="width:100%; ">
<colgroup>
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Required</th>
<th class="tableblock halign-left valign-top">Schema</th>
<th class="tableblock halign-left valign-top">Default</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">diskName</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The Name of the data disk in the blob storage</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">diskURI</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The URI the data disk in the blob storage</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">cachingMode</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Host Caching mode: None, Read Only, Read Write.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_v1_azuredatadiskcachingmode">v1.AzureDataDiskCachingMode</a></p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">fsType</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">readOnly</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
</tr>
</tbody>
</table>

</div>
<div class="sect2">
<h3 id="_v1_vspherevirtualdiskvolumesource">v1.VsphereVirtualDiskVolumeSource</h3>
Expand Down Expand Up @@ -3313,6 +3375,13 @@ <h3 id="_v1_volume">v1.Volume</h3>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_v1_quobytevolumesource">v1.QuobyteVolumeSource</a></p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">azureDisk</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_v1_azurediskvolumesource">v1.AzureDiskVolumeSource</a></p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>

Expand Down Expand Up @@ -4119,6 +4188,10 @@ <h3 id="_v1_glusterfsvolumesource">v1.GlusterfsVolumeSource</h3>
</tbody>
</table>

</div>
<div class="sect2">
<h3 id="_v1_azuredatadiskcachingmode">v1.AzureDataDiskCachingMode</h3>

</div>
<div class="sect2">
<h3 id="_v1_rbdvolumesource">v1.RBDVolumeSource</h3>
Expand Down Expand Up @@ -4214,7 +4287,7 @@ <h3 id="_any">any</h3>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2016-08-23 04:34:09 UTC
Last updated 2016-08-23 13:11:42 UTC
</div>
</div>
</body>
Expand Down
Loading

0 comments on commit 3544f8a

Please sign in to comment.