From 0137fc8271b4e94cf8aec47a1b2065e1bb982c6f Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Fri, 15 Dec 2017 19:31:33 +0100 Subject: [PATCH 01/30] Improve integration testing --- gluster/integration/integration_test.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gluster/integration/integration_test.go b/gluster/integration/integration_test.go index ba2375a..14eb883 100644 --- a/gluster/integration/integration_test.go +++ b/gluster/integration/integration_test.go @@ -156,8 +156,8 @@ func TestIntegration(t *testing.T) { if err != nil { t.Errorf("Failed to write inside mounted volume : %v", err) } - out, err = cmd("docker", "run", "--rm", "-t", "-v", "replica:/mnt", "alpine", "/bin/cat", "/mnt/container") - log.Println(out) + outReplicaContainer, err := cmd("docker", "run", "--rm", "-t", "-v", "replica:/mnt", "alpine", "/bin/cat", "/mnt/container") + log.Println(outReplicaContainer) if err != nil { t.Errorf("Failed to read from mounted volume : %v", err) } @@ -173,8 +173,8 @@ func TestIntegration(t *testing.T) { if err != nil { t.Errorf("Failed to write inside mounted volume : %v", err) } - out, err = cmd("docker", "run", "--rm", "-t", "-v", "distributed:/mnt", "alpine", "/bin/cat", "/mnt/container") - log.Println(out) + outDistributedContainer, err := cmd("docker", "run", "--rm", "-t", "-v", "distributed:/mnt", "alpine", "/bin/cat", "/mnt/container") + log.Println(outDistributedContainer) if err != nil { t.Errorf("Failed to read from mounted volume : %v", err) } @@ -190,6 +190,10 @@ func TestIntegration(t *testing.T) { if err != nil { t.Errorf("Failed to read from mounted volume (with fallback) : %v", err) } + if outReplicaContainer != out { + t.Errorf("Content inside gluster replica volume in not the same : %s != %s", outReplicaContainer, out) + } + out, err = cmd("docker", "run", "--rm", "-t", "-v", "distributed-double-server:/mnt", "alpine", "/bin/ls", "/mnt") log.Println(out) if err != nil { @@ -200,6 +204,9 @@ func TestIntegration(t *testing.T) { if err != nil { t.Errorf("Failed to read from mounted volume (with fallback) : %v", err) } + if outDistributedContainer != out { + t.Errorf("Content inside gluster distributed volume in not the same : %s != %s", outDistributedContainer, out) + } //TODO check that container is same as before } From 0c833d4f6d38b5859e413b7d440cbe75e523e2a8 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Fri, 15 Dec 2017 20:13:09 +0100 Subject: [PATCH 02/30] Setup make test-coverage --- .travis.yml | 4 ++-- Makefile | 6 ++++++ gluster/integration/integration_test.go | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index f2cce9c..230fb3c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,8 +31,8 @@ script: # - sudo cat /var/log/glusterfs/* - ./docker-volume-gluster -after_success: - - bash <(curl -s https://codecov.io/bash) -f coverage.* +#after_success: +# - make test-coverage before_deploy: - make compress diff --git a/Makefile b/Makefile index d7c5852..a58f3ce 100644 --- a/Makefile +++ b/Makefile @@ -145,6 +145,12 @@ test-integration: dev-deps deps format @echo -e "$(OK_COLOR)==> Running integration tests...$(NO_COLOR)" go test -v -timeout 1h -race -coverprofile=coverage.inte.out -covermode=atomic -coverpkg ./gluster/driver ./gluster/integration +test-coverage: test + @echo -e "$(OK_COLOR)==> Uploading coverage ...$(NO_COLOR)" + curl -s https://codecov.io/bash | bash -s - -F unittests -f coverage.unit.out + curl -s https://codecov.io/bash | bash -s - -F integration -f coverage.inte.out +#Need CODECOV_TOKEN=:uuid + docs: @echo -e "$(OK_COLOR)==> Serving docs at http://localhost:$(DOC_PORT).$(NO_COLOR)" @godoc -http=:$(DOC_PORT) diff --git a/gluster/integration/integration_test.go b/gluster/integration/integration_test.go index 14eb883..9212253 100644 --- a/gluster/integration/integration_test.go +++ b/gluster/integration/integration_test.go @@ -207,6 +207,6 @@ func TestIntegration(t *testing.T) { if outDistributedContainer != out { t.Errorf("Content inside gluster distributed volume in not the same : %s != %s", outDistributedContainer, out) } - //TODO check that container is same as before + //TODO check persistence } From 85cfeb4b04ffaad0b6237fd1250fa8c2bfc7beea Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Wed, 13 Dec 2017 23:16:15 +0100 Subject: [PATCH 03/30] Adjust cmd error output level --- gluster/driver/tools.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gluster/driver/tools.go b/gluster/driver/tools.go index 78812ad..786fb5a 100644 --- a/gluster/driver/tools.go +++ b/gluster/driver/tools.go @@ -57,9 +57,9 @@ func (d *GlusterDriver) RunCmd(cmd string) error { log.Debugf(cmd) out, err := exec.Command("sh", "-c", cmd).CombinedOutput() if err != nil { - log.Debugf("Error: %v", err) + log.Warnf("Error: %s", err) } - log.Debugf("Output: %v", out) + log.Debugf("Output: %s", out) return err } From be91a13da26f2d71dca054e592d34c6cf4b949b0 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Thu, 14 Dec 2017 00:03:24 +0100 Subject: [PATCH 04/30] Remove un-necessary step --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 230fb3c..1f52fa7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,7 +35,6 @@ script: # - make test-coverage before_deploy: - - make compress - make release - docker --version - make docker-plugin @@ -48,7 +47,6 @@ deploy: secure: SAD6luuJhgzS7ZavymCxLaTlCbxp9VQax0uf4ozWByt0uwsLKtDM4Je4c9z9bx40PmEBKOpSoso4umL4AcY1yrQ2UTMJD+GxedmqDnge2ibfhHZMTxeDkLF3JLsACfQmibNzN/+b9nNdgyzQYnB4+OvKOmEvtHWwNP7qOuU+9QTNK/rNt5MBXk29aJFL1/t3oIvCfHl1D96pssE6uVURcXiPGkgNcSLBUewYwPwqjGqgG/xu/lgQEwpW6AE4OfwJLpdGMR/V1DUNMNs47Gt7Vh+PBRm/M7cZUYyc+CRuXuSM+PKr9xlH8mFHu6IrcM4n5Sy94A7ldB5dfn9HA+WLXEOhSej3NB06sFkjITnKSWCVCGVzzXuH5CMiwBDRKmhFLunFe9Wcz52W2wIumesaNuZOm9LbiBV47UicggeiZkhar1tvjQoFgw6R57+Wxdhdon7fwVO3euRSH7fm0RyEN1PgO92U5/gHgOO+Khlsl3GPqWNgyqeh0Ej4Ke9mFB0VjO+a8uNAQlrp+v94kQSWqpXUD30/fnZhu+sBURJ1pikH/WAhcnKEvYk7Kq5/kSuYqO0dxxEDrHh00Gwo/uHhhnOp3BNe/v1/TseSS4FOxaLrbTKCDRU+B38bsi8FoZ7J68xK9dT19TF+6ZXqka1LNIyV4ITCjkRenHMfCWWrF78= file_glob: true file: - - "./docker-volume-gluster" - build/*.tar.gz skip_cleanup: true on: From 953a3152d6637de1d14303b412e2b8de7c7a4531 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Thu, 14 Dec 2017 01:52:54 +0100 Subject: [PATCH 05/30] Setup log collector --- gluster/driver/driver.go | 12 ++++++++++-- gluster/driver/tools.go | 3 ++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gluster/driver/driver.go b/gluster/driver/driver.go index d1fbe44..574128e 100644 --- a/gluster/driver/driver.go +++ b/gluster/driver/driver.go @@ -2,7 +2,9 @@ package driver import ( "fmt" + "io" "os" + "os/exec" "path/filepath" "strings" "sync" @@ -24,8 +26,9 @@ var ( ) type GlusterMountpoint struct { - Path string `json:"path"` - Connections int `json:"connections"` + Path string `json:"path"` + Connections int `json:"connections"` + Process *exec.Cmd `json:"-"` } func (d *GlusterMountpoint) GetPath() string { @@ -76,6 +79,8 @@ type GlusterDriver struct { persitence *viper.Viper volumes map[string]*GlusterVolume mounts map[string]*GlusterMountpoint + logOut *io.PipeWriter + logErr *io.PipeWriter } func (d *GlusterDriver) GetVolumes() map[string]common.Volume { @@ -101,12 +106,15 @@ func (d *GlusterDriver) GetLock() *sync.RWMutex { //Init start all needed deps and serve response to API call func Init(root string, mountUniqName bool) *GlusterDriver { log.Debugf("Init gluster driver at %s, UniqName: %v", root, mountUniqName) + logger := log.New() d := &GlusterDriver{ root: root, mountUniqName: mountUniqName, persitence: viper.New(), volumes: make(map[string]*GlusterVolume), mounts: make(map[string]*GlusterMountpoint), + logOut: logger.WriterLevel(log.DebugLevel), + logErr: logger.WriterLevel(log.ErrorLevel), } d.persitence.SetDefault("volumes", map[string]*GlusterVolume{}) diff --git a/gluster/driver/tools.go b/gluster/driver/tools.go index 786fb5a..7d6c25e 100644 --- a/gluster/driver/tools.go +++ b/gluster/driver/tools.go @@ -7,7 +7,6 @@ import ( "io/ioutil" "net/url" "os" - "os/exec" "regexp" "strings" @@ -52,6 +51,7 @@ func (d *GlusterDriver) SaveConfig() error { return nil } +/* //RunCmd run deamon in context of this gvfs drive with custome env func (d *GlusterDriver) RunCmd(cmd string) error { log.Debugf(cmd) @@ -62,6 +62,7 @@ func (d *GlusterDriver) RunCmd(cmd string) error { log.Debugf("Output: %s", out) return err } +*/ func isValidURI(volURI string) bool { re := regexp.MustCompile(validHostnameRegex + ":.+") From 4126198670b4a295a824629d575633a075f74d52 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Thu, 14 Dec 2017 02:05:44 +0100 Subject: [PATCH 06/30] Migrate to non-blocking Start methode --- common/common_driver.go | 11 ++++++++--- gluster/driver/driver.go | 12 +++++++----- gluster/driver/tools.go | 17 +++++++---------- 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/common/common_driver.go b/common/common_driver.go index 9b245fc..5a821b7 100644 --- a/common/common_driver.go +++ b/common/common_driver.go @@ -3,6 +3,7 @@ package common import ( "fmt" "os" + "os/exec" "strings" "sync" @@ -17,7 +18,7 @@ type Driver interface { GetVolumes() map[string]Volume GetMounts() map[string]Mount SaveConfig() error - RunCmd(string) error + StartCmd(string) (*exec.Cmd, error) } //Volume needed interface for some commons interactions @@ -136,8 +137,12 @@ func Unmount(d Driver, vName string) error { } if m.GetConnections() <= 1 { - cmd := fmt.Sprintf("/usr/bin/umount %s", m.GetPath()) - if err := d.RunCmd(cmd); err != nil { + c, err := d.StartCmd(fmt.Sprintf("/usr/bin/umount %s", m.GetPath())) + if err != nil { + return err + } + err = c.Wait() + if err != nil { return err } SetN(0, m, v) diff --git a/gluster/driver/driver.go b/gluster/driver/driver.go index 574128e..0838a17 100644 --- a/gluster/driver/driver.go +++ b/gluster/driver/driver.go @@ -106,7 +106,7 @@ func (d *GlusterDriver) GetLock() *sync.RWMutex { //Init start all needed deps and serve response to API call func Init(root string, mountUniqName bool) *GlusterDriver { log.Debugf("Init gluster driver at %s, UniqName: %v", root, mountUniqName) - logger := log.New() + logger := log.New() //TODO defer close writer d := &GlusterDriver{ root: root, mountUniqName: mountUniqName, @@ -244,10 +244,12 @@ func (d *GlusterDriver) Mount(r *volume.MountRequest) (*volume.MountResponse, er d.GetLock().Lock() defer d.GetLock().Unlock() - cmd := fmt.Sprintf("glusterfs %s %s", parseVolURI(v.GetRemote()), m.GetPath()) - //cmd := fmt.Sprintf("/usr/bin/mount -t glusterfs %s %s", v.VolumeURI, m.Path) - //TODO fuseOpts /usr/bin/mount -t glusterfs v.VolumeURI -o fuseOpts v.Mountpoint - if err := d.RunCmd(cmd); err != nil { + c, err := d.StartCmd(fmt.Sprintf("glusterfs %s %s", parseVolURI(v.GetRemote()), m.GetPath())) + if err != nil { + return nil, err + } + err = c.Wait() //TODO start glusterfs in foreground wait a minimum of time of no failure + if err != nil { return nil, err } //time.Sleep(3 * time.Second) diff --git a/gluster/driver/tools.go b/gluster/driver/tools.go index 7d6c25e..a6d3c04 100644 --- a/gluster/driver/tools.go +++ b/gluster/driver/tools.go @@ -7,6 +7,7 @@ import ( "io/ioutil" "net/url" "os" + "os/exec" "regexp" "strings" @@ -51,18 +52,14 @@ func (d *GlusterDriver) SaveConfig() error { return nil } -/* -//RunCmd run deamon in context of this gvfs drive with custome env -func (d *GlusterDriver) RunCmd(cmd string) error { +//StartCmd start deamon in context of this gluster driver and keep it in backgroud +func (d *GlusterDriver) StartCmd(cmd string) (*exec.Cmd, error) { log.Debugf(cmd) - out, err := exec.Command("sh", "-c", cmd).CombinedOutput() - if err != nil { - log.Warnf("Error: %s", err) - } - log.Debugf("Output: %s", out) - return err + c := exec.Command(cmd) + c.Stdout = d.logOut + c.Stderr = d.logErr + return c, c.Start() } -*/ func isValidURI(volURI string) bool { re := regexp.MustCompile(validHostnameRegex + ":.+") From 1ded20e850290dbb7efbdbc3a914b8f7969d4985 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Fri, 15 Dec 2017 01:54:17 +0100 Subject: [PATCH 07/30] setup direct sub-process --- Makefile | 3 ++- common/common_driver.go | 6 ++++-- gluster/driver/driver.go | 30 ++++++++++++++++++++++++------ gluster/driver/tools.go | 15 ++++++++++----- gluster/driver/tools_test.go | 13 +++++++------ 5 files changed, 47 insertions(+), 20 deletions(-) diff --git a/Makefile b/Makefile index a58f3ce..aa5713b 100644 --- a/Makefile +++ b/Makefile @@ -143,7 +143,8 @@ test-unit: dev-deps deps format test-integration: dev-deps deps format @echo -e "$(OK_COLOR)==> Running integration tests...$(NO_COLOR)" - go test -v -timeout 1h -race -coverprofile=coverage.inte.out -covermode=atomic -coverpkg ./gluster/driver ./gluster/integration + go test -v -timeout 1h -coverprofile=coverage.inte.out -covermode=atomic -coverpkg ./gluster/driver ./gluster/integration +# go test -v -timeout 1h -race -coverprofile=coverage.inte.out -covermode=atomic -coverpkg ./gluster/driver ./gluster/integration test-coverage: test @echo -e "$(OK_COLOR)==> Uploading coverage ...$(NO_COLOR)" diff --git a/common/common_driver.go b/common/common_driver.go index 5a821b7..0deb3ce 100644 --- a/common/common_driver.go +++ b/common/common_driver.go @@ -18,7 +18,7 @@ type Driver interface { GetVolumes() map[string]Volume GetMounts() map[string]Mount SaveConfig() error - StartCmd(string) (*exec.Cmd, error) + StartCmd(name string, arg ...string) (*exec.Cmd, error) } //Volume needed interface for some commons interactions @@ -33,6 +33,8 @@ type Volume interface { type Mount interface { increasable GetPath() string + //GetProcess() *exec.Cmd + SetProcess(*exec.Cmd) } type increasable interface { @@ -137,7 +139,7 @@ func Unmount(d Driver, vName string) error { } if m.GetConnections() <= 1 { - c, err := d.StartCmd(fmt.Sprintf("/usr/bin/umount %s", m.GetPath())) + c, err := d.StartCmd("/usr/bin/umount", m.GetPath()) if err != nil { return err } diff --git a/gluster/driver/driver.go b/gluster/driver/driver.go index 0838a17..54959b3 100644 --- a/gluster/driver/driver.go +++ b/gluster/driver/driver.go @@ -8,6 +8,7 @@ import ( "path/filepath" "strings" "sync" + "time" "github.com/sapk/docker-volume-gluster/common" @@ -34,6 +35,9 @@ type GlusterMountpoint struct { func (d *GlusterMountpoint) GetPath() string { return d.Path } +func (d *GlusterMountpoint) SetProcess(c *exec.Cmd) { + d.Process = c +} func (d *GlusterMountpoint) GetConnections() int { return d.Connections @@ -75,6 +79,7 @@ func (v *GlusterVolume) GetStatus() map[string]interface{} { type GlusterDriver struct { lock sync.RWMutex root string + binary string mountUniqName bool persitence *viper.Viper volumes map[string]*GlusterVolume @@ -107,8 +112,14 @@ func (d *GlusterDriver) GetLock() *sync.RWMutex { func Init(root string, mountUniqName bool) *GlusterDriver { log.Debugf("Init gluster driver at %s, UniqName: %v", root, mountUniqName) logger := log.New() //TODO defer close writer + path, err := exec.LookPath("glusterfs") + if err != nil { + log.Fatal("glusterfs binary not found") + } + d := &GlusterDriver{ root: root, + binary: path, mountUniqName: mountUniqName, persitence: viper.New(), volumes: make(map[string]*GlusterVolume), @@ -244,17 +255,24 @@ func (d *GlusterDriver) Mount(r *volume.MountRequest) (*volume.MountResponse, er d.GetLock().Lock() defer d.GetLock().Unlock() - c, err := d.StartCmd(fmt.Sprintf("glusterfs %s %s", parseVolURI(v.GetRemote()), m.GetPath())) + c, err := d.StartCmd(d.binary, append(parseVolURI(v.GetRemote()), "--no-daemon", m.GetPath())...) // TODO --debug if err != nil { return nil, err } - err = c.Wait() //TODO start glusterfs in foreground wait a minimum of time of no failure - if err != nil { + + done := make(chan error, 1) + go func() { + done <- c.Wait() + }() + // Wait if failed for 15 seconds + select { + case err := <-done: return nil, err + case <-time.After(time.Second * 15): + m.SetProcess(c) + common.AddN(1, v, m) + return &volume.MountResponse{Mountpoint: m.GetPath()}, d.SaveConfig() } - //time.Sleep(3 * time.Second) - common.AddN(1, v, m) - return &volume.MountResponse{Mountpoint: m.GetPath()}, d.SaveConfig() } //Unmount unmount the requested volume diff --git a/gluster/driver/tools.go b/gluster/driver/tools.go index a6d3c04..8e985f3 100644 --- a/gluster/driver/tools.go +++ b/gluster/driver/tools.go @@ -53,9 +53,9 @@ func (d *GlusterDriver) SaveConfig() error { } //StartCmd start deamon in context of this gluster driver and keep it in backgroud -func (d *GlusterDriver) StartCmd(cmd string) (*exec.Cmd, error) { - log.Debugf(cmd) - c := exec.Command(cmd) +func (d *GlusterDriver) StartCmd(bin string, arg ...string) (*exec.Cmd, error) { + log.Debugf("%s %s", bin, strings.Join(arg, " ")) + c := exec.Command(bin, arg...) c.Stdout = d.logOut c.Stderr = d.logErr return c, c.Start() @@ -66,10 +66,15 @@ func isValidURI(volURI string) bool { return re.MatchString(volURI) } -func parseVolURI(volURI string) string { +func parseVolURI(volURI string) []string { volParts := strings.Split(volURI, ":") volServers := strings.Split(volParts[0], ",") - return fmt.Sprintf("--volfile-id='%s' -s '%s'", volParts[1], strings.Join(volServers, "' -s '")) + ret := make([]string, 1+len(volServers)) + ret[0] = fmt.Sprintf("--volfile-id=%s", volParts[1]) + for i, server := range volServers { + ret[i+1] = fmt.Sprintf("--volfile-server=%s", server) + } + return ret } func getMountName(d *GlusterDriver, r *volume.CreateRequest) string { diff --git a/gluster/driver/tools_test.go b/gluster/driver/tools_test.go index 3f8cdc9..be7cfe2 100644 --- a/gluster/driver/tools_test.go +++ b/gluster/driver/tools_test.go @@ -1,6 +1,7 @@ package driver import ( + "strings" "testing" "github.com/docker/go-plugins-helpers/volume" @@ -34,16 +35,16 @@ func TestParseVolURI(t *testing.T) { value string result string }{ - {"test:volume", "--volfile-id='volume' -s 'test'"}, - {"test,test2:volume", "--volfile-id='volume' -s 'test' -s 'test2'"}, - {"192.168.1.1:volume", "--volfile-id='volume' -s '192.168.1.1'"}, - {"192.168.1.1,10.8.0.1:volume", "--volfile-id='volume' -s '192.168.1.1' -s '10.8.0.1'"}, - {"192.168.1.1,test2:volume", "--volfile-id='volume' -s '192.168.1.1' -s 'test2'"}, + {"test:volume", "--volfile-id=volume --volfile-server=test"}, + {"test,test2:volume", "--volfile-id=volume --volfile-server=test --volfile-server=test2"}, + {"192.168.1.1:volume", "--volfile-id=volume --volfile-server=192.168.1.1"}, + {"192.168.1.1,10.8.0.1:volume", "--volfile-id=volume --volfile-server=192.168.1.1 --volfile-server=10.8.0.1"}, + {"192.168.1.1,test2:volume", "--volfile-id=volume --volfile-server=192.168.1.1 --volfile-server=test2"}, } for _, test := range tt { r := parseVolURI(test.value) - if test.result != r { + if test.result != strings.Join(r, " ") { t.Errorf("Expected to be '%v' , got '%v'", test.result, r) } } From ea4f305121fad60c0bba27e931c9350271ff2446 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Fri, 15 Dec 2017 23:34:09 +0100 Subject: [PATCH 08/30] Update deps --- .gitmodules | 9 +++------ Makefile | 2 +- common/common_driver.go | 2 +- gluster/driver/driver.go | 4 ++-- gluster/driver/tools.go | 2 +- gluster/gluster.go | 2 +- gluster/integration/integration_test.go | 2 +- vendor/github.com/Sirupsen/logrus | 1 - vendor/github.com/pelletier/go-buffruneio | 1 - vendor/github.com/sirupsen/logrus | 1 + vendor/github.com/spf13/cobra | 2 +- vendor/github.com/spf13/viper | 2 +- vendor/golang.org/x/net | 2 +- vendor/golang.org/x/sys | 2 +- vendor/golang.org/x/text | 2 +- 15 files changed, 16 insertions(+), 20 deletions(-) delete mode 160000 vendor/github.com/Sirupsen/logrus delete mode 160000 vendor/github.com/pelletier/go-buffruneio create mode 160000 vendor/github.com/sirupsen/logrus diff --git a/.gitmodules b/.gitmodules index 5a5384d..22e6b4e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ -[submodule "vendor/github.com/Sirupsen/logrus"] - path = vendor/github.com/Sirupsen/logrus - url = https://github.com/Sirupsen/logrus [submodule "vendor/github.com/docker/go-plugins-helpers"] path = vendor/github.com/docker/go-plugins-helpers url = https://github.com/docker/go-plugins-helpers @@ -40,9 +37,6 @@ [submodule "vendor/github.com/pelletier/go-toml"] path = vendor/github.com/pelletier/go-toml url = https://github.com/pelletier/go-toml -[submodule "vendor/github.com/pelletier/go-buffruneio"] - path = vendor/github.com/pelletier/go-buffruneio - url = https://github.com/pelletier/go-buffruneio [submodule "vendor/github.com/spf13/afero"] path = vendor/github.com/spf13/afero url = https://github.com/spf13/afero @@ -61,3 +55,6 @@ [submodule "vendor/golang.org/x/crypto"] path = vendor/golang.org/x/crypto url = https://go.googlesource.com/crypto +[submodule "vendor/github.com/sirupsen/logrus"] + path = vendor/github.com/sirupsen/logrus + url = https://github.com/sirupsen/logrus diff --git a/Makefile b/Makefile index aa5713b..2f26850 100644 --- a/Makefile +++ b/Makefile @@ -185,7 +185,7 @@ deps: update-deps: dev-deps @echo -e "$(OK_COLOR)==> Updating all dependencies ...$(NO_COLOR)" - $(GOPATH)/bin/vendetta -n $(APP_PACKAGE) -u + $(GOPATH)/bin/vendetta -n $(APP_PACKAGE) -u -p #@go get -d -v -u ./... diff --git a/common/common_driver.go b/common/common_driver.go index 0deb3ce..8efab6e 100644 --- a/common/common_driver.go +++ b/common/common_driver.go @@ -7,7 +7,7 @@ import ( "strings" "sync" - log "github.com/Sirupsen/logrus" + log "github.com/sirupsen/logrus" "github.com/docker/go-plugins-helpers/volume" ) diff --git a/gluster/driver/driver.go b/gluster/driver/driver.go index 54959b3..61fa492 100644 --- a/gluster/driver/driver.go +++ b/gluster/driver/driver.go @@ -12,8 +12,8 @@ import ( "github.com/sapk/docker-volume-gluster/common" - log "github.com/Sirupsen/logrus" "github.com/docker/go-plugins-helpers/volume" + log "github.com/sirupsen/logrus" "github.com/spf13/viper" ) @@ -268,7 +268,7 @@ func (d *GlusterDriver) Mount(r *volume.MountRequest) (*volume.MountResponse, er select { case err := <-done: return nil, err - case <-time.After(time.Second * 15): + case <-time.After(time.Second * 5): m.SetProcess(c) common.AddN(1, v, m) return &volume.MountResponse{Mountpoint: m.GetPath()}, d.SaveConfig() diff --git a/gluster/driver/tools.go b/gluster/driver/tools.go index 8e985f3..6ecf23b 100644 --- a/gluster/driver/tools.go +++ b/gluster/driver/tools.go @@ -11,8 +11,8 @@ import ( "regexp" "strings" - log "github.com/Sirupsen/logrus" "github.com/docker/go-plugins-helpers/volume" + log "github.com/sirupsen/logrus" ) const ( diff --git a/gluster/gluster.go b/gluster/gluster.go index a29a722..3da689c 100644 --- a/gluster/gluster.go +++ b/gluster/gluster.go @@ -5,9 +5,9 @@ import ( "os" "path/filepath" - log "github.com/Sirupsen/logrus" "github.com/docker/go-plugins-helpers/volume" "github.com/sapk/docker-volume-gluster/gluster/driver" + log "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) diff --git a/gluster/integration/integration_test.go b/gluster/integration/integration_test.go index 9212253..fd2f115 100644 --- a/gluster/integration/integration_test.go +++ b/gluster/integration/integration_test.go @@ -11,10 +11,10 @@ import ( "testing" "time" - log "github.com/Sirupsen/logrus" "github.com/docker/go-plugins-helpers/volume" "github.com/sapk/docker-volume-gluster/gluster" "github.com/sapk/docker-volume-gluster/gluster/driver" + log "github.com/sirupsen/logrus" ) const timeInterval = 2 * time.Second diff --git a/vendor/github.com/Sirupsen/logrus b/vendor/github.com/Sirupsen/logrus deleted file mode 160000 index 95cd2b9..0000000 --- a/vendor/github.com/Sirupsen/logrus +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 95cd2b9c79aa5e72ab0bc69b7ccc2be15bf850f6 diff --git a/vendor/github.com/pelletier/go-buffruneio b/vendor/github.com/pelletier/go-buffruneio deleted file mode 160000 index c37440a..0000000 --- a/vendor/github.com/pelletier/go-buffruneio +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c37440a7cf42ac63b919c752ca73a85067e05992 diff --git a/vendor/github.com/sirupsen/logrus b/vendor/github.com/sirupsen/logrus new file mode 160000 index 0000000..d682213 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus @@ -0,0 +1 @@ +Subproject commit d682213848ed68c0a260ca37d6dd5ace8423f5ba diff --git a/vendor/github.com/spf13/cobra b/vendor/github.com/spf13/cobra index 1be1d28..ccaecb1 160000 --- a/vendor/github.com/spf13/cobra +++ b/vendor/github.com/spf13/cobra @@ -1 +1 @@ -Subproject commit 1be1d2841c773c01bee8289f55f7463b6e2c2539 +Subproject commit ccaecb155a2177302cb56cae929251a256d0f646 diff --git a/vendor/github.com/spf13/viper b/vendor/github.com/spf13/viper index 4dddf7c..1a0c4a3 160000 --- a/vendor/github.com/spf13/viper +++ b/vendor/github.com/spf13/viper @@ -1 +1 @@ -Subproject commit 4dddf7c62e16bce5807744018f5b753bfe21bbd2 +Subproject commit 1a0c4a370c3e8286b835467d2dfcdaf636c3538b diff --git a/vendor/golang.org/x/net b/vendor/golang.org/x/net index a8b9294..d866cfc 160000 --- a/vendor/golang.org/x/net +++ b/vendor/golang.org/x/net @@ -1 +1 @@ -Subproject commit a8b9294777976932365dabb6640cf1468d95c70f +Subproject commit d866cfc389cec985d6fda2859936a575a55a3ab6 diff --git a/vendor/golang.org/x/sys b/vendor/golang.org/x/sys index 8b4580a..d5840ad 160000 --- a/vendor/golang.org/x/sys +++ b/vendor/golang.org/x/sys @@ -1 +1 @@ -Subproject commit 8b4580aae2a0dd0c231a45d3ccb8434ff533b840 +Subproject commit d5840adf789d732bc8b00f37b26ca956a7cc8e79 diff --git a/vendor/golang.org/x/text b/vendor/golang.org/x/text index 75cc3ca..d5a9226 160000 --- a/vendor/golang.org/x/text +++ b/vendor/golang.org/x/text @@ -1 +1 @@ -Subproject commit 75cc3cad82b5f47d3fb229ddda8c5167da14f294 +Subproject commit d5a9226ed7dd70cade6ccae9d37517fe14dd9fee From 1c0369bf30937fbd9e146c3914036332f68b5541 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Fri, 15 Dec 2017 23:52:50 +0100 Subject: [PATCH 09/30] re-test integrations inside travis --- .travis.yml | 3 ++- gluster/driver/driver.go | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1f52fa7..8d7b873 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,7 +25,8 @@ install: script: - make lint - make build - - make test-unit + - make test-coverage +# - make test-unit # - sudo -E bash -c 'eval "$(gimme $TRAVIS_GO_VERSION)" && make test' # - sudo ls -lah /var/log/glusterfs/ # - sudo cat /var/log/glusterfs/* diff --git a/gluster/driver/driver.go b/gluster/driver/driver.go index 61fa492..7746132 100644 --- a/gluster/driver/driver.go +++ b/gluster/driver/driver.go @@ -264,7 +264,7 @@ func (d *GlusterDriver) Mount(r *volume.MountRequest) (*volume.MountResponse, er go func() { done <- c.Wait() }() - // Wait if failed for 15 seconds + // Wait if failed for 5 seconds select { case err := <-done: return nil, err From 5ff01990a7acdc9c317b21c360e82e6abef21e20 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sat, 16 Dec 2017 21:04:29 +0100 Subject: [PATCH 10/30] Re-test with sudo --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8d7b873..8ad7a39 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,7 +25,7 @@ install: script: - make lint - make build - - make test-coverage + - sudo -E bash -c 'eval "$(gimme $TRAVIS_GO_VERSION)" && make test-coverage' # - make test-unit # - sudo -E bash -c 'eval "$(gimme $TRAVIS_GO_VERSION)" && make test' # - sudo ls -lah /var/log/glusterfs/ From 42ad8b8f2e8186a34084ac852a947745027025e3 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 13:43:52 +0100 Subject: [PATCH 11/30] Test other method --- .travis.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8d7b873..717749e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,13 +12,20 @@ go: - tip before_install: - - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - - - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" +# - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - +# - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" - sudo apt-get update - sudo apt-get install -qq pkg-config fuse - sudo modprobe fuse - sudo chmod 666 /dev/fuse - - sudo apt-get -y install docker-ce glusterfs-client +# - sudo apt-get -y install docker-ce glusterfs-client + - sudo apt-get -y install glusterfs-client + - sudo -E apt-get -q -y --purge remove docker-engine + - sudo -E apt-cache policy docker-engine + - curl -sSL https://get.docker.com/ | sh + - sudo -E stop docker + - sudo cat /etc/default/docker + - sudo -E start docker install: - make dev-deps From 0df45e5541b44ce2977a49538b35a7ec6ffdcaf6 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 15:33:16 +0100 Subject: [PATCH 12/30] Other travis tests --- .travis.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 57113f0..c15a28f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,10 +20,11 @@ before_install: - sudo chmod 666 /dev/fuse # - sudo apt-get -y install docker-ce glusterfs-client - sudo apt-get -y install glusterfs-client - - sudo -E apt-get -q -y --purge remove docker-engine - - sudo -E apt-cache policy docker-engine + - sudo -E apt-get -q -y --purge remove docker-ce + - sudo -E apt-cache policy docker-ce - curl -sSL https://get.docker.com/ | sh - sudo -E stop docker + - sudo usermod -aG docker travis - sudo cat /etc/default/docker - sudo -E start docker install: @@ -32,7 +33,8 @@ install: script: - make lint - make build - - sudo -E bash -c 'eval "$(gimme $TRAVIS_GO_VERSION)" && make test-coverage' + - make test-coverage +# - sudo -E bash -c 'eval "$(gimme $TRAVIS_GO_VERSION)" && make test-coverage' # - make test-unit # - sudo -E bash -c 'eval "$(gimme $TRAVIS_GO_VERSION)" && make test' # - sudo ls -lah /var/log/glusterfs/ From ed64ffb341038be9ae510b72faae414bc02bf3cb Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 15:41:17 +0100 Subject: [PATCH 13/30] run integration as root --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index c15a28f..05919ee 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,8 +33,8 @@ install: script: - make lint - make build - - make test-coverage -# - sudo -E bash -c 'eval "$(gimme $TRAVIS_GO_VERSION)" && make test-coverage' +# - make test-coverage + - sudo -E bash -c 'eval "$(gimme $TRAVIS_GO_VERSION)" && make test-coverage' # - make test-unit # - sudo -E bash -c 'eval "$(gimme $TRAVIS_GO_VERSION)" && make test' # - sudo ls -lah /var/log/glusterfs/ From 63c2c77629592425f618cb2a606c0a57012be018 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 17:11:06 +0100 Subject: [PATCH 14/30] ... --- gluster/integration/integration_test.go | 44 +++++++++++++++---------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/gluster/integration/integration_test.go b/gluster/integration/integration_test.go index fd2f115..cb9cced 100644 --- a/gluster/integration/integration_test.go +++ b/gluster/integration/integration_test.go @@ -56,29 +56,29 @@ func setupGlusterCluster() { for _, n := range nodes { time.Sleep(timeInterval) - log.Print(cmd("docker-compose", "-f", pwd+"/docker/gluster-cluster/docker-compose.yml", "exec", "-T", n, "mkdir", "-p", "/brick")) + execOnNode(pwd, n, "mkdir -p /brick") } time.Sleep(timeInterval) IPs := getGlusterClusterContainersIPs() for _, ip := range IPs[1:] { time.Sleep(timeInterval) - log.Print(cmd("docker-compose", "-f", pwd+"/docker/gluster-cluster/docker-compose.yml", "exec", "-T", "node-1", "gluster", "peer", "probe", ip)) + log.Print(execOnNode(pwd, "node-1", "gluster peer probe "+ip)) } time.Sleep(timeInterval) - log.Print(cmd("docker-compose", "-f", pwd+"/docker/gluster-cluster/docker-compose.yml", "exec", "-T", "node-1", "gluster", "pool", "list")) - log.Print(cmd("docker-compose", "-f", pwd+"/docker/gluster-cluster/docker-compose.yml", "exec", "-T", "node-1", "gluster", "peer", "status")) + log.Print(execOnNode(pwd, "node-1", "gluster pool list")) + log.Print(execOnNode(pwd, "node-1", "gluster peer status")) time.Sleep(timeInterval) - log.Print(cmd("docker-compose", "-f", pwd+"/docker/gluster-cluster/docker-compose.yml", "exec", "-T", "node-1", "gluster", "volume", "create", "test-replica", "replica", "3", IPs[0]+":/brick/replica", IPs[1]+":/brick/replica", IPs[2]+":/brick/replica")) + log.Print(execOnNode(pwd, "node-1", "gluster volume create test-replica replica 3 "+IPs[0]+":/brick/replica "+IPs[1]+":/brick/replica "+IPs[2]+":/brick/replica")) time.Sleep(timeInterval) - log.Print(cmd("docker-compose", "-f", pwd+"/docker/gluster-cluster/docker-compose.yml", "exec", "-T", "node-1", "gluster", "volume", "create", "test-distributed", IPs[0]+":/brick/distributed", IPs[1]+":/brick/distributed", IPs[2]+":/brick/distributed")) + log.Print(execOnNode(pwd, "node-1", "gluster volume create test-distributed "+IPs[0]+":/brick/distributed "+IPs[1]+":/brick/distributed "+IPs[2]+":/brick/distributed")) time.Sleep(timeInterval) - log.Print(cmd("docker-compose", "-f", pwd+"/docker/gluster-cluster/docker-compose.yml", "exec", "-T", "node-1", "gluster", "volume", "start", "test-replica")) + log.Print(execOnNode(pwd, "node-1", "gluster volume start test-replica")) time.Sleep(timeInterval) - log.Print(cmd("docker-compose", "-f", pwd+"/docker/gluster-cluster/docker-compose.yml", "exec", "-T", "node-1", "gluster", "volume", "start", "test-distributed")) + log.Print(execOnNode(pwd, "node-1", "gluster volume start test-distributed")) time.Sleep(timeInterval) } @@ -91,6 +91,14 @@ func cleanGlusterCluster() { //TODO log.Print(cmd("docker", "system", "prune", "-af")) } +func runWithVolume(volume, command string) (string, error) { + return cmd("docker", "run", "--rm", "-t", "-v", volume+":/mnt", "alpine", "/bin/sh", "-c", command) +} + +func execOnNode(pwd, node, command string) (string, error) { + return cmd("docker-compose", "-f", pwd+"/docker/gluster-cluster/docker-compose.yml", "exec", "-T", node, "/bin/sh", "-c", command) +} + func cmd(cmd string, arg ...string) (string, error) { fmt.Println("Executing: " + cmd + " " + strings.Join(arg, " ")) c := exec.Command(cmd, arg...) @@ -146,46 +154,46 @@ func TestIntegration(t *testing.T) { time.Sleep(3 * timeInterval) //TODO docker volume create --driver sapk/plugin-gluster --opt voluri=":" --name test - out, err := cmd("docker", "run", "--rm", "-t", "-v", "replica:/mnt", "alpine", "/bin/ls", "/mnt") + out, err := runWithVolume("replica", "/bin/ls /mnt") log.Println(out) if err != nil { t.Errorf("Failed to list mounted volume : %v", err) } - out, err = cmd("docker", "run", "--rm", "-t", "-v", "replica:/mnt", "alpine", "/bin/cp", "/etc/hostname", "/mnt/container") + out, err = runWithVolume("replica", "/bin/cp /etc/hostname /mnt/container") log.Println(out) if err != nil { t.Errorf("Failed to write inside mounted volume : %v", err) } - outReplicaContainer, err := cmd("docker", "run", "--rm", "-t", "-v", "replica:/mnt", "alpine", "/bin/cat", "/mnt/container") + outReplicaContainer, err := runWithVolume("replica", "/bin/cat /mnt/container") log.Println(outReplicaContainer) if err != nil { t.Errorf("Failed to read from mounted volume : %v", err) } time.Sleep(3 * timeInterval) - out, err = cmd("docker", "run", "--rm", "-t", "-v", "distributed:/mnt", "alpine", "/bin/ls", "/mnt") + out, err = runWithVolume("distributed", "/bin/ls /mnt") log.Println(out) if err != nil { t.Errorf("Failed to list mounted volume : %v", err) } - out, err = cmd("docker", "run", "--rm", "-t", "-v", "distributed:/mnt", "alpine", "/bin/cp", "/etc/hostname", "/mnt/container") + out, err = runWithVolume("distributed", "/bin/cp /etc/hostname /mnt/container") log.Println(out) if err != nil { t.Errorf("Failed to write inside mounted volume : %v", err) } - outDistributedContainer, err := cmd("docker", "run", "--rm", "-t", "-v", "distributed:/mnt", "alpine", "/bin/cat", "/mnt/container") + outDistributedContainer, err := runWithVolume("distributed", "/bin/cat /mnt/container") log.Println(outDistributedContainer) if err != nil { t.Errorf("Failed to read from mounted volume : %v", err) } time.Sleep(3 * timeInterval) - out, err = cmd("docker", "run", "--rm", "-t", "-v", "replica-double-server:/mnt", "alpine", "/bin/ls", "/mnt") + out, err = runWithVolume("replica-double-server", "/bin/ls /mnt") log.Println(out) if err != nil { t.Errorf("Failed to list mounted volume (with fallback) : %v", err) } - out, err = cmd("docker", "run", "--rm", "-t", "-v", "replica-double-server:/mnt", "alpine", "/bin/cat", "/mnt/container") + out, err = runWithVolume("replica-double-server", "/bin/cat /mnt/container") log.Println(out) if err != nil { t.Errorf("Failed to read from mounted volume (with fallback) : %v", err) @@ -194,12 +202,12 @@ func TestIntegration(t *testing.T) { t.Errorf("Content inside gluster replica volume in not the same : %s != %s", outReplicaContainer, out) } - out, err = cmd("docker", "run", "--rm", "-t", "-v", "distributed-double-server:/mnt", "alpine", "/bin/ls", "/mnt") + out, err = runWithVolume("distributed-double-server", "/bin/ls /mnt") log.Println(out) if err != nil { t.Errorf("Failed to list mounted volume (with fallback) : %v", err) } - out, err = cmd("docker", "run", "--rm", "-t", "-v", "distributed-double-server:/mnt", "alpine", "/bin/cat", "/mnt/container") + out, err = runWithVolume("distributed-double-server", "/bin/cat /mnt/container") log.Println(out) if err != nil { t.Errorf("Failed to read from mounted volume (with fallback) : %v", err) From 94a98049a96777f342bd1c31db3315313f73a55f Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 17:22:48 +0100 Subject: [PATCH 15/30] Add debug log --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 05919ee..41dcfe5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,8 +37,8 @@ script: - sudo -E bash -c 'eval "$(gimme $TRAVIS_GO_VERSION)" && make test-coverage' # - make test-unit # - sudo -E bash -c 'eval "$(gimme $TRAVIS_GO_VERSION)" && make test' -# - sudo ls -lah /var/log/glusterfs/ -# - sudo cat /var/log/glusterfs/* + - sudo ls -lah /var/log/glusterfs/ + - sudo cat /var/log/glusterfs/* - ./docker-volume-gluster #after_success: From f0c40ab93c2be2787891cfa5ec7dd67362c4fd48 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 17:35:35 +0100 Subject: [PATCH 16/30] ... --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 41dcfe5..cec74b6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,8 @@ before_install: - sudo apt-get update - sudo apt-get install -qq pkg-config fuse - sudo modprobe fuse - - sudo chmod 666 /dev/fuse + - sudo mknod -m 666 /dev/fuse c 10 229 +# - sudo chmod 666 /dev/fuse # - sudo apt-get -y install docker-ce glusterfs-client - sudo apt-get -y install glusterfs-client - sudo -E apt-get -q -y --purge remove docker-ce From 0d5f727b13b14e60fcee9e45f637a8251397ae7e Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 17:42:56 +0100 Subject: [PATCH 17/30] Update gluster --- .travis.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index cec74b6..ebebce6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,13 +12,15 @@ go: - tip before_install: +# - curl -fsSL https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | apt-key add - + - sudo add-apt-repository ppa:gluster/glusterfs-3.12 # - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" - sudo apt-get update - sudo apt-get install -qq pkg-config fuse - sudo modprobe fuse - - sudo mknod -m 666 /dev/fuse c 10 229 -# - sudo chmod 666 /dev/fuse +# - sudo mknod -m 666 /dev/fuse c 10 229 + - sudo chmod 666 /dev/fuse # - sudo apt-get -y install docker-ce glusterfs-client - sudo apt-get -y install glusterfs-client - sudo -E apt-get -q -y --purge remove docker-ce From 18094470bb6ea0b8c7749b58b8a12f4fbd170359 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 17:45:34 +0100 Subject: [PATCH 18/30] Add gluster key --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ebebce6..4eae979 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ go: - tip before_install: -# - curl -fsSL https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | apt-key add - + - curl -fsSL https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | apt-key add - - sudo add-apt-repository ppa:gluster/glusterfs-3.12 # - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" From 0a5c16ed4fe32e16e29d7b25e7745d789daf4c04 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 17:58:08 +0100 Subject: [PATCH 19/30] Fix travis add key + more log output --- .travis.yml | 2 +- gluster/driver/driver.go | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4eae979..de96ebc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ go: - tip before_install: - - curl -fsSL https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | apt-key add - + - curl -fsSL https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | sudo apt-key add - - sudo add-apt-repository ppa:gluster/glusterfs-3.12 # - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" diff --git a/gluster/driver/driver.go b/gluster/driver/driver.go index 7746132..1ed287d 100644 --- a/gluster/driver/driver.go +++ b/gluster/driver/driver.go @@ -255,7 +255,8 @@ func (d *GlusterDriver) Mount(r *volume.MountRequest) (*volume.MountResponse, er d.GetLock().Lock() defer d.GetLock().Unlock() - c, err := d.StartCmd(d.binary, append(parseVolURI(v.GetRemote()), "--no-daemon", m.GetPath())...) // TODO --debug + c, err := d.StartCmd(d.binary, append(parseVolURI(v.GetRemote()), "--log-level", "INFO", "--log-file", "/dev/stdout", "--no-daemon", m.GetPath())...) // TODO --debug + if err != nil { return nil, err } From 8b47897b90b944ab7f9d91c43b20984297367f2a Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 18:43:04 +0100 Subject: [PATCH 20/30] ... --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index de96ebc..f15cc59 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,7 @@ go: before_install: - curl -fsSL https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | sudo apt-key add - - - sudo add-apt-repository ppa:gluster/glusterfs-3.12 + - sudo add-apt-repository -y ppa:gluster/glusterfs-3.12 # - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" - sudo apt-get update From e204fc2f32977b0f5007d6a87c709cd677f4cae9 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 19:02:40 +0100 Subject: [PATCH 21/30] Updgrade manually --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index f15cc59..1fcddb3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,9 @@ go: before_install: - curl -fsSL https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | sudo apt-key add - - - sudo add-apt-repository -y ppa:gluster/glusterfs-3.12 + - sudo dpkg -i <(curl -fsSL https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb) + - sudo dpkg -i <(curl -fsSL https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb) +# - sudo add-apt-repository -y ppa:gluster/glusterfs-3.12 # - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" - sudo apt-get update From 4416b8d29ab87b9f11e773eace72052fb4496757 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 19:06:15 +0100 Subject: [PATCH 22/30] Updgrade manually --- .travis.yml | 7 +++++-- gluster/driver/driver.go | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1fcddb3..adca3c6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,8 +13,11 @@ go: before_install: - curl -fsSL https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | sudo apt-key add - - - sudo dpkg -i <(curl -fsSL https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb) - - sudo dpkg -i <(curl -fsSL https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb) + - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb + - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb + - sudo dpkg -i glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb + - sudo dpkg -i glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb + - rm *.deb # - sudo add-apt-repository -y ppa:gluster/glusterfs-3.12 # - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" diff --git a/gluster/driver/driver.go b/gluster/driver/driver.go index 1ed287d..ca7775f 100644 --- a/gluster/driver/driver.go +++ b/gluster/driver/driver.go @@ -255,7 +255,8 @@ func (d *GlusterDriver) Mount(r *volume.MountRequest) (*volume.MountResponse, er d.GetLock().Lock() defer d.GetLock().Unlock() - c, err := d.StartCmd(d.binary, append(parseVolURI(v.GetRemote()), "--log-level", "INFO", "--log-file", "/dev/stdout", "--no-daemon", m.GetPath())...) // TODO --debug + //c, err := d.StartCmd(d.binary, append(parseVolURI(v.GetRemote()), "--log-level", "INFO", "--log-file", "/dev/stdout", "--no-daemon", m.GetPath())...) // TODO --debug + c, err := d.StartCmd(d.binary, append(parseVolURI(v.GetRemote()), "--no-daemon", m.GetPath())...) // TODO --debug if err != nil { return nil, err From e26ab89b49def73e99940445f72226a6e8c5fdb8 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 19:10:43 +0100 Subject: [PATCH 23/30] ... --- .travis.yml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index adca3c6..67ce1fc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,22 +12,23 @@ go: - tip before_install: - - curl -fsSL https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | sudo apt-key add - - - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb - - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb - - sudo dpkg -i glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb - - sudo dpkg -i glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb - - rm *.deb # - sudo add-apt-repository -y ppa:gluster/glusterfs-3.12 # - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" - sudo apt-get update - sudo apt-get install -qq pkg-config fuse - sudo modprobe fuse -# - sudo mknod -m 666 /dev/fuse c 10 229 - sudo chmod 666 /dev/fuse -# - sudo apt-get -y install docker-ce glusterfs-client - - sudo apt-get -y install glusterfs-client +# - sudo mknod -m 666 /dev/fuse c 10 229 + - curl -fsSL https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | sudo apt-key add - + - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb + - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb + - sudo apt-get -y install libibverbs1 liblvm2app2.2 librdmacm1 liburcu4 attr python-jwt + - sudo dpkg -i glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb + - sudo dpkg -i glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb + - rm *.deb +# - sudo apt-get -y install glusterfs-client +# - sudo apt-get -y install docker-ce - sudo -E apt-get -q -y --purge remove docker-ce - sudo -E apt-cache policy docker-ce - curl -sSL https://get.docker.com/ | sh From 86ac3337cb5bc29f4cf83105cda630eacdcfb664 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 19:19:37 +0100 Subject: [PATCH 24/30] ... --- .travis.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 67ce1fc..91fac06 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,9 +21,13 @@ before_install: - sudo chmod 666 /dev/fuse # - sudo mknod -m 666 /dev/fuse c 10 229 - curl -fsSL https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | sudo apt-key add - + - wget http://fr.archive.ubuntu.com/ubuntu/pool/universe/libu/liburcu/liburcu4_0.9.1-3_amd64.deb + - wget http://security.ubuntu.com/ubuntu/pool/main/p/pyjwt/python-jwt_1.3.0-1ubuntu0.1_all.deb - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb - - sudo apt-get -y install libibverbs1 liblvm2app2.2 librdmacm1 liburcu4 attr python-jwt + - sudo apt-get -y install libibverbs1 liblvm2app2.2 librdmacm1 attr + - sudo dpkg -i liburcu4_0.9.1-3_amd64.deb + - sudo dpkg -i python-jwt_1.3.0-1ubuntu0.1_all.deb - sudo dpkg -i glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb - sudo dpkg -i glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb - rm *.deb From 64ebad722a09c6234647fea99766397d9c696576 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 19:25:58 +0100 Subject: [PATCH 25/30] ... --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 91fac06..df42e2d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,11 +23,13 @@ before_install: - curl -fsSL https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | sudo apt-key add - - wget http://fr.archive.ubuntu.com/ubuntu/pool/universe/libu/liburcu/liburcu4_0.9.1-3_amd64.deb - wget http://security.ubuntu.com/ubuntu/pool/main/p/pyjwt/python-jwt_1.3.0-1ubuntu0.1_all.deb + - wget http://fr.archive.ubuntu.com/ubuntu/pool/main/l/lvm2/liblvm2app2.2_2.02.133-1ubuntu10_amd64.deb - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb - sudo apt-get -y install libibverbs1 liblvm2app2.2 librdmacm1 attr - sudo dpkg -i liburcu4_0.9.1-3_amd64.deb - sudo dpkg -i python-jwt_1.3.0-1ubuntu0.1_all.deb + - sudo dpkg -i liblvm2app2.2_2.02.133-1ubuntu10_amd64.deb - sudo dpkg -i glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb - sudo dpkg -i glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb - rm *.deb From 8905d8c9b9fb2234ecb99129ba2e0fa7f94f5da3 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 19:35:08 +0100 Subject: [PATCH 26/30] ... --- .travis.yml | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index df42e2d..0cf3229 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,7 @@ go: - tip before_install: + - curl https://repogen.simplylinux.ch/txt/xenial/sources_4a205a2731f617800bd74e748bc6f343aa6369d6.txt | sudo tee /etc/apt/sources.list # - sudo add-apt-repository -y ppa:gluster/glusterfs-3.12 # - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" @@ -20,28 +21,32 @@ before_install: - sudo modprobe fuse - sudo chmod 666 /dev/fuse # - sudo mknod -m 666 /dev/fuse c 10 229 - - curl -fsSL https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | sudo apt-key add - - - wget http://fr.archive.ubuntu.com/ubuntu/pool/universe/libu/liburcu/liburcu4_0.9.1-3_amd64.deb - - wget http://security.ubuntu.com/ubuntu/pool/main/p/pyjwt/python-jwt_1.3.0-1ubuntu0.1_all.deb - - wget http://fr.archive.ubuntu.com/ubuntu/pool/main/l/lvm2/liblvm2app2.2_2.02.133-1ubuntu10_amd64.deb +# - curl -fsSL https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | sudo apt-key add - +# - wget http://fr.archive.ubuntu.com/ubuntu/pool/universe/libu/liburcu/liburcu4_0.9.1-3_amd64.deb# +# - wget http://security.ubuntu.com/ubuntu/pool/main/p/pyjwt/python-jwt_1.3.0-1ubuntu0.1_all.deb +# - wget http://fr.archive.ubuntu.com/ubuntu/pool/main/l/lvm2/liblvm2app2.2_2.02.133-1ubuntu10_amd64.deb +# - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb +# - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb +# - sudo apt-get -y install libibverbs1 liblvm2app2.2 librdmacm1 attr +# - sudo dpkg -i liburcu4_0.9.1-3_amd64.deb +# - sudo dpkg -i python-jwt_1.3.0-1ubuntu0.1_all.deb +# - sudo dpkg -i liblvm2app2.2_2.02.133-1ubuntu10_amd64.deb +# - sudo dpkg -i glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb +# - sudo dpkg -i glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb +# - rm *.deb + - sudo apt-get -y install glusterfs-client + - sudo apt-get -y install docker-ce - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb - - sudo apt-get -y install libibverbs1 liblvm2app2.2 librdmacm1 attr - - sudo dpkg -i liburcu4_0.9.1-3_amd64.deb - - sudo dpkg -i python-jwt_1.3.0-1ubuntu0.1_all.deb - - sudo dpkg -i liblvm2app2.2_2.02.133-1ubuntu10_amd64.deb - sudo dpkg -i glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb - sudo dpkg -i glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb - - rm *.deb -# - sudo apt-get -y install glusterfs-client -# - sudo apt-get -y install docker-ce - - sudo -E apt-get -q -y --purge remove docker-ce - - sudo -E apt-cache policy docker-ce - - curl -sSL https://get.docker.com/ | sh - - sudo -E stop docker +# - sudo -E apt-get -q -y --purge remove docker-ce +# - sudo -E apt-cache policy docker-ce +# - curl -sSL https://get.docker.com/ | sh +# - sudo -E stop docker - sudo usermod -aG docker travis - - sudo cat /etc/default/docker - - sudo -E start docker +# - sudo cat /etc/default/docker +# - sudo -E start docker install: - make dev-deps From 1df6ce004dbde9661a6fddbb6d0257514ac16251 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 19:41:44 +0100 Subject: [PATCH 27/30] ... --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 0cf3229..c6f597e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,6 +36,7 @@ before_install: # - rm *.deb - sudo apt-get -y install glusterfs-client - sudo apt-get -y install docker-ce + - sudo apt-get -y install attr python-jwt - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb - sudo dpkg -i glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb From a2029be02a31abb5fc9cb60d3fccb0b8ce78c45a Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 19:53:00 +0100 Subject: [PATCH 28/30] Clean --- .travis.yml | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/.travis.yml b/.travis.yml index c6f597e..1a5e7bb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,33 +7,17 @@ addons: packages: - upx-ucl go: - - 1.8 - 1.9 - tip before_install: - curl https://repogen.simplylinux.ch/txt/xenial/sources_4a205a2731f617800bd74e748bc6f343aa6369d6.txt | sudo tee /etc/apt/sources.list -# - sudo add-apt-repository -y ppa:gluster/glusterfs-3.12 -# - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - -# - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" + - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - + - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" - sudo apt-get update - sudo apt-get install -qq pkg-config fuse - sudo modprobe fuse - sudo chmod 666 /dev/fuse -# - sudo mknod -m 666 /dev/fuse c 10 229 -# - curl -fsSL https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | sudo apt-key add - -# - wget http://fr.archive.ubuntu.com/ubuntu/pool/universe/libu/liburcu/liburcu4_0.9.1-3_amd64.deb# -# - wget http://security.ubuntu.com/ubuntu/pool/main/p/pyjwt/python-jwt_1.3.0-1ubuntu0.1_all.deb -# - wget http://fr.archive.ubuntu.com/ubuntu/pool/main/l/lvm2/liblvm2app2.2_2.02.133-1ubuntu10_amd64.deb -# - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb -# - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb -# - sudo apt-get -y install libibverbs1 liblvm2app2.2 librdmacm1 attr -# - sudo dpkg -i liburcu4_0.9.1-3_amd64.deb -# - sudo dpkg -i python-jwt_1.3.0-1ubuntu0.1_all.deb -# - sudo dpkg -i liblvm2app2.2_2.02.133-1ubuntu10_amd64.deb -# - sudo dpkg -i glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb -# - sudo dpkg -i glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb -# - rm *.deb - sudo apt-get -y install glusterfs-client - sudo apt-get -y install docker-ce - sudo apt-get -y install attr python-jwt @@ -41,6 +25,7 @@ before_install: - wget https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.12/+files/glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb - sudo dpkg -i glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb - sudo dpkg -i glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb + - rm *.deb # - sudo -E apt-get -q -y --purge remove docker-ce # - sudo -E apt-cache policy docker-ce # - curl -sSL https://get.docker.com/ | sh From 984809c15601c6763060fdd7945bd74ee9289e1c Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 20:01:40 +0100 Subject: [PATCH 29/30] ... --- gluster/integration/integration_test.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gluster/integration/integration_test.go b/gluster/integration/integration_test.go index cb9cced..347b5a5 100644 --- a/gluster/integration/integration_test.go +++ b/gluster/integration/integration_test.go @@ -154,16 +154,19 @@ func TestIntegration(t *testing.T) { time.Sleep(3 * timeInterval) //TODO docker volume create --driver sapk/plugin-gluster --opt voluri=":" --name test + time.Sleep(timeInterval) out, err := runWithVolume("replica", "/bin/ls /mnt") log.Println(out) if err != nil { t.Errorf("Failed to list mounted volume : %v", err) } + time.Sleep(timeInterval) out, err = runWithVolume("replica", "/bin/cp /etc/hostname /mnt/container") log.Println(out) if err != nil { t.Errorf("Failed to write inside mounted volume : %v", err) } + time.Sleep(timeInterval) outReplicaContainer, err := runWithVolume("replica", "/bin/cat /mnt/container") log.Println(outReplicaContainer) if err != nil { @@ -176,11 +179,13 @@ func TestIntegration(t *testing.T) { if err != nil { t.Errorf("Failed to list mounted volume : %v", err) } + time.Sleep(timeInterval) out, err = runWithVolume("distributed", "/bin/cp /etc/hostname /mnt/container") log.Println(out) if err != nil { t.Errorf("Failed to write inside mounted volume : %v", err) } + time.Sleep(timeInterval) outDistributedContainer, err := runWithVolume("distributed", "/bin/cat /mnt/container") log.Println(outDistributedContainer) if err != nil { @@ -193,6 +198,7 @@ func TestIntegration(t *testing.T) { if err != nil { t.Errorf("Failed to list mounted volume (with fallback) : %v", err) } + time.Sleep(timeInterval) out, err = runWithVolume("replica-double-server", "/bin/cat /mnt/container") log.Println(out) if err != nil { @@ -202,11 +208,13 @@ func TestIntegration(t *testing.T) { t.Errorf("Content inside gluster replica volume in not the same : %s != %s", outReplicaContainer, out) } + time.Sleep(timeInterval) out, err = runWithVolume("distributed-double-server", "/bin/ls /mnt") log.Println(out) if err != nil { t.Errorf("Failed to list mounted volume (with fallback) : %v", err) } + time.Sleep(timeInterval) out, err = runWithVolume("distributed-double-server", "/bin/cat /mnt/container") log.Println(out) if err != nil { From f2687855a5c3ce2315d5dfac5d2d4965f9f5f6bd Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Sun, 17 Dec 2017 20:19:36 +0100 Subject: [PATCH 30/30] ... --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 1a5e7bb..6be1d89 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,6 +26,8 @@ before_install: - sudo dpkg -i glusterfs-common_3.12.4-ubuntu1~xenial1_amd64.deb - sudo dpkg -i glusterfs-client_3.12.4-ubuntu1~xenial1_amd64.deb - rm *.deb + - sudo cat /etc/mtab + - sudo cat /etc/fstab # - sudo -E apt-get -q -y --purge remove docker-ce # - sudo -E apt-cache policy docker-ce # - curl -sSL https://get.docker.com/ | sh