mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-23 18:40:53 +00:00
Merge pull request #13807 from bodgit/glusterfs
Auto commit by PR queue bot
This commit is contained in:
commit
69b283bd27
@ -17,8 +17,8 @@ limitations under the License.
|
|||||||
package glusterfs
|
package glusterfs
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"math/rand"
|
|
||||||
"os"
|
"os"
|
||||||
|
"path"
|
||||||
|
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
@ -221,12 +221,23 @@ func (b *glusterfsBuilder) setUpAtInternal(dir string) error {
|
|||||||
options = append(options, "ro")
|
options = append(options, "ro")
|
||||||
}
|
}
|
||||||
|
|
||||||
l := len(b.hosts.Subsets)
|
p := path.Join(b.glusterfs.plugin.host.GetPluginDir(glusterfsPluginName), b.glusterfs.volName)
|
||||||
|
if err := os.MkdirAll(p, 0750); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
log := path.Join(p, "glusterfs.log")
|
||||||
|
options = append(options, "log-file="+log)
|
||||||
|
|
||||||
|
addr := make(map[string]struct{})
|
||||||
|
for _, s := range b.hosts.Subsets {
|
||||||
|
for _, a := range s.Addresses {
|
||||||
|
addr[a.IP] = struct{}{}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Avoid mount storm, pick a host randomly.
|
// Avoid mount storm, pick a host randomly.
|
||||||
start := rand.Int() % l
|
|
||||||
// Iterate all hosts until mount succeeds.
|
// Iterate all hosts until mount succeeds.
|
||||||
for i := start; i < start+l; i++ {
|
for hostIP := range addr {
|
||||||
hostIP := b.hosts.Subsets[i%l].Addresses[0].IP
|
|
||||||
errs = b.mounter.Mount(hostIP+":"+b.path, dir, "glusterfs", options)
|
errs = b.mounter.Mount(hostIP+":"+b.path, dir, "glusterfs", options)
|
||||||
if errs == nil {
|
if errs == nil {
|
||||||
return nil
|
return nil
|
||||||
|
Loading…
Reference in New Issue
Block a user