diff --git a/pkg/kubectl/describe.go b/pkg/kubectl/describe.go index b6a600ced11..555dca5efd3 100644 --- a/pkg/kubectl/describe.go +++ b/pkg/kubectl/describe.go @@ -614,6 +614,8 @@ func describeVolumes(volumes []api.Volume, out io.Writer, space string) { printAzureDiskVolumeSource(volume.VolumeSource.AzureDisk, out) case volume.VolumeSource.VsphereVolume != nil: printVsphereVolumeSource(volume.VolumeSource.VsphereVolume, out) + case volume.VolumeSource.Cinder != nil: + printCinderVolumeSource(volume.VolumeSource.Cinder, out) default: fmt.Fprintf(out, " \n") } @@ -748,6 +750,13 @@ func printVsphereVolumeSource(vsphere *api.VsphereVirtualDiskVolumeSource, out i " FSType:\t%v\n", vsphere.VolumePath, vsphere.FSType) } +func printCinderVolumeSource(cinder *api.CinderVolumeSource, out io.Writer) { + fmt.Fprintf(out, " Type:\tCinder (a Persistent Disk resource in OpenStack)\n"+ + " VolumeID:\t%v\n"+ + " FSType:\t%v\n"+ + " ReadOnly:\t%v\n", + cinder.VolumeID, cinder.FSType, cinder.ReadOnly) +} type PersistentVolumeDescriber struct { client.Interface @@ -802,6 +811,8 @@ func (d *PersistentVolumeDescriber) Describe(namespace, name string, describerSe printQuobyteVolumeSource(pv.Spec.Quobyte, out) case pv.Spec.VsphereVolume != nil: printVsphereVolumeSource(pv.Spec.VsphereVolume, out) + case pv.Spec.Cinder != nil: + printCinderVolumeSource(pv.Spec.Cinder, out) } if events != nil { diff --git a/pkg/kubectl/describe_test.go b/pkg/kubectl/describe_test.go index 73f02873206..8fe73be2b84 100644 --- a/pkg/kubectl/describe_test.go +++ b/pkg/kubectl/describe_test.go @@ -538,6 +538,13 @@ func TestPersistentVolumeDescriber(t *testing.T) { }, }, }, + "cinder": { + Spec: api.PersistentVolumeSpec{ + PersistentVolumeSource: api.PersistentVolumeSource{ + Cinder: &api.CinderVolumeSource{}, + }, + }, + }, } for name, pv := range tests {