diff --git a/pkg/volume/glusterfs/BUILD b/pkg/volume/glusterfs/BUILD index 081e5b6caf9..296eb0e5a10 100644 --- a/pkg/volume/glusterfs/BUILD +++ b/pkg/volume/glusterfs/BUILD @@ -33,6 +33,7 @@ go_library( "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//vendor/k8s.io/client-go/kubernetes:go_default_library", "//vendor/k8s.io/utils/exec:go_default_library", ], diff --git a/pkg/volume/glusterfs/glusterfs.go b/pkg/volume/glusterfs/glusterfs.go index d24b903f34d..0d9d2eba0ae 100644 --- a/pkg/volume/glusterfs/glusterfs.go +++ b/pkg/volume/glusterfs/glusterfs.go @@ -35,6 +35,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" clientset "k8s.io/client-go/kubernetes" v1helper "k8s.io/kubernetes/pkg/api/v1/helper" "k8s.io/kubernetes/pkg/util/mount" @@ -322,12 +323,14 @@ func (b *glusterfsMounter) setUpAtInternal(dir string) error { if b.hosts == nil { return fmt.Errorf("glusterfs: endpoint is nil") } - addr := make(map[string]struct{}) + addr := sets.String{} if b.hosts.Subsets != nil { for _, s := range b.hosts.Subsets { for _, a := range s.Addresses { - addr[a.IP] = struct{}{} - addrlist = append(addrlist, a.IP) + if !addr.Has(a.IP) { + addr.Insert(a.IP) + addrlist = append(addrlist, a.IP) + } } }