remove the duplicate address of glusterfs

This commit is contained in:
fangyuhao 2017-08-10 23:51:18 +08:00
parent 17ec91c572
commit cade629d25
2 changed files with 7 additions and 3 deletions

View File

@ -33,6 +33,7 @@ go_library(
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_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/labels:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/types: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/client-go/kubernetes:go_default_library",
"//vendor/k8s.io/utils/exec:go_default_library", "//vendor/k8s.io/utils/exec:go_default_library",
], ],

View File

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