Addition of ScaleIO Kubernetes Volume Plugin

This commits implements the Kubernetes volume plugin allowing pods to seamlessly access and use data stored on ScaleIO volumes.
This commit is contained in:
Vladimir Vivien
2016-11-19 15:46:23 -05:00
parent a2c7eb2754
commit 915a54180d
96 changed files with 18739 additions and 3319 deletions

View File

@@ -1968,6 +1968,65 @@ func TestValidateVolumes(t *testing.T) {
errtype: field.ErrorTypeRequired,
errfield: "azureDisk.diskURI",
},
// ScaleIO
{
name: "valid scaleio volume",
vol: api.Volume{
Name: "scaleio-volume",
VolumeSource: api.VolumeSource{
ScaleIO: &api.ScaleIOVolumeSource{
Gateway: "http://abcd/efg",
System: "test-system",
VolumeName: "test-vol-1",
},
},
},
},
{
name: "ScaleIO with empty name",
vol: api.Volume{
Name: "scaleio-volume",
VolumeSource: api.VolumeSource{
ScaleIO: &api.ScaleIOVolumeSource{
Gateway: "http://abcd/efg",
System: "test-system",
VolumeName: "",
},
},
},
errtype: field.ErrorTypeRequired,
errfield: "scaleIO.volumeName",
},
{
name: "ScaleIO with empty gateway",
vol: api.Volume{
Name: "scaleio-volume",
VolumeSource: api.VolumeSource{
ScaleIO: &api.ScaleIOVolumeSource{
Gateway: "",
System: "test-system",
VolumeName: "test-vol-1",
},
},
},
errtype: field.ErrorTypeRequired,
errfield: "scaleIO.gateway",
},
{
name: "ScaleIO with empty system",
vol: api.Volume{
Name: "scaleio-volume",
VolumeSource: api.VolumeSource{
ScaleIO: &api.ScaleIOVolumeSource{
Gateway: "http://agc/efg/gateway",
System: "",
VolumeName: "test-vol-1",
},
},
},
errtype: field.ErrorTypeRequired,
errfield: "scaleIO.system",
},
}
for i, tc := range testCases {