From b76a3c0fd665e6f89709f4a608541d008aed6795 Mon Sep 17 00:00:00 2001 From: linyouchong Date: Thu, 8 Feb 2018 16:24:54 +0800 Subject: [PATCH] fix incorrect logic in glusterfs.go#canSupport --- pkg/volume/glusterfs/glusterfs.go | 8 ++------ pkg/volume/glusterfs/glusterfs_test.go | 14 +++++++++++++- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/pkg/volume/glusterfs/glusterfs.go b/pkg/volume/glusterfs/glusterfs.go index 96f539f3359..b837ebc3db4 100644 --- a/pkg/volume/glusterfs/glusterfs.go +++ b/pkg/volume/glusterfs/glusterfs.go @@ -110,12 +110,8 @@ func (plugin *glusterfsPlugin) GetVolumeName(spec *volume.Spec) (string, error) } func (plugin *glusterfsPlugin) CanSupport(spec *volume.Spec) bool { - if (spec.PersistentVolume != nil && spec.PersistentVolume.Spec.Glusterfs == nil) || - (spec.Volume != nil && spec.Volume.Glusterfs == nil) { - return false - } - - return true + return (spec.PersistentVolume != nil && spec.PersistentVolume.Spec.Glusterfs != nil) || + (spec.Volume != nil && spec.Volume.Glusterfs != nil) } func (plugin *glusterfsPlugin) RequiresRemount() bool { diff --git a/pkg/volume/glusterfs/glusterfs_test.go b/pkg/volume/glusterfs/glusterfs_test.go index 716986acd27..8c25a07158d 100644 --- a/pkg/volume/glusterfs/glusterfs_test.go +++ b/pkg/volume/glusterfs/glusterfs_test.go @@ -51,12 +51,24 @@ func TestCanSupport(t *testing.T) { if plug.GetPluginName() != "kubernetes.io/glusterfs" { t.Errorf("Wrong name: %s", plug.GetPluginName()) } - if plug.CanSupport(&volume.Spec{PersistentVolume: &v1.PersistentVolume{Spec: v1.PersistentVolumeSpec{PersistentVolumeSource: v1.PersistentVolumeSource{}}}}) { + if plug.CanSupport(&volume.Spec{}) { t.Errorf("Expected false") } if plug.CanSupport(&volume.Spec{Volume: &v1.Volume{VolumeSource: v1.VolumeSource{}}}) { t.Errorf("Expected false") } + if !plug.CanSupport(&volume.Spec{Volume: &v1.Volume{VolumeSource: v1.VolumeSource{Glusterfs: &v1.GlusterfsVolumeSource{}}}}) { + t.Errorf("Expected true") + } + if plug.CanSupport(&volume.Spec{PersistentVolume: &v1.PersistentVolume{Spec: v1.PersistentVolumeSpec{}}}) { + t.Errorf("Expected false") + } + if plug.CanSupport(&volume.Spec{PersistentVolume: &v1.PersistentVolume{Spec: v1.PersistentVolumeSpec{PersistentVolumeSource: v1.PersistentVolumeSource{}}}}) { + t.Errorf("Expected false") + } + if !plug.CanSupport(&volume.Spec{PersistentVolume: &v1.PersistentVolume{Spec: v1.PersistentVolumeSpec{PersistentVolumeSource: v1.PersistentVolumeSource{Glusterfs: &v1.GlusterfsVolumeSource{}}}}}) { + t.Errorf("Expected true") + } } func TestGetAccessModes(t *testing.T) {