rancher / convoy

A Docker volume plugin, managing persistent container volumes.
Apache License 2.0
1.31k stars 135 forks source link

Create ebs volume fails #206

Open jonathan-kosgei opened 7 years ago

jonathan-kosgei commented 7 years ago

I've started convoy with

/usr/local/bin/convoy -s "/var/run/convoy/convoy.sock" daemon --drivers ebs 2>> /var/log/convoy/stderr.log 1>> /var/log/convoy/stdout.log

On creating a volume:

root@ip-172-31-30-133:~# sudo convoy create vol1
ERRO[0016] Post http://%!F(MISSING)var%!F(MISSING)run%!F(MISSING)convoy%!F(MISSING)convoy.sock/v1/volumes/create: EOF 
{
    "Error": "Post http://%!F(MISSING)var%!F(MISSING)run%!F(MISSING)convoy%!F(MISSING)convoy.sock/v1/volumes/create: EOF"
}

I configured my creds with aws configure and the api keys in ~/.aws/credentials work

jonathan-kosgei commented 7 years ago

This is not an issue on 0.4.2, but it is on 0.5.0

piontec commented 7 years ago

+1, got the same output, simplest possible command and configuration

piontec commented 7 years ago

Debug log from daemon:

DEBU[0070] Calling: POST, /volumes/create, request: POST, /v1/volumes/create  pkg=daemon
DEBU[0070]                                               event=create object=volume opts=map[BackupURL: VolumeName:test_aws VolumeDriverID: VolumeType: VolumeIOPS:0 PrepareForVM:false Size:0] pkg=daemon reason=prepare volume=test_aws
DEBU[0077] Adding tags for vol-0966127571d2bd9d7, as map[Name:test_aws]  pkg=ebs
DEBU[0077] Created volume test_aws from EBS volume vol-0966127571d2bd9d7  pkg=ebs
DEBU[0077] Attaching vol-0966127571d2bd9d7 to i-0522cee73fc068d7f's /dev/sdf  pkg=ebs
DEBU[0083] Attached EBS volume vol-0966127571d2bd9d7 to /dev/xvdf  pkg=ebs
DEBU[0083] Created volume                                event=create object=volume pkg=daemon reason=complete volume=test_aws
2017/05/09 09:57:20 http: panic serving @: runtime error: invalid memory address or nil pointer dereference
goroutine 38 [running]:
net/http.(*conn).serve.func1(0xc8202aa900)
        /usr/local/go/src/net/http/server.go:1389 +0xc1
panic(0xb3fcc0, 0xc82000e100)
        /usr/local/go/src/runtime/panic.go:443 +0x4e9
github.com/rancher/convoy/ebs.(*Driver).GetVolumeInfo(0xc820017270, 0xc82044bbf0, 0x8, 0x0, 0x0, 0x0)
        /go/src/github.com/rancher/convoy/ebs/ebs.go:501 +0x898
github.com/rancher/convoy/daemon.(*daemon).getVolumeDriverInfo(0xc82007e500, 0xc820435de0, 0xc820435de0, 0x0, 0x0)
        /go/src/github.com/rancher/convoy/daemon/volume.go:303 +0xbb
github.com/rancher/convoy/daemon.(*daemon).doVolumeCreate(0xc82007e500, 0xc55960, 0x1, 0x7f7bf5c8ba70, 0xc82005cdd0, 0xc8202bc0e0, 0xc8203d04e0, 0x0, 0x0)
        /go/src/github.com/rancher/convoy/daemon/volume.go:157 +0x133
github.com/rancher/convoy/daemon.(*daemon).(github.com/rancher/convoy/daemon.doVolumeCreate)-fm(0xc55960, 0x1, 0x7f7bf5c8ba70, 0xc82005cdd0, 0xc8202bc0e0, 0xc8203d04e0, 0x0, 0x0)
        /go/src/github.com/rancher/convoy/daemon/daemon.go:76 +0x74
github.com/rancher/convoy/daemon.makeHandlerFunc.func1(0x7f7bf5c8ba70, 0xc82005cdd0, 0xc8202bc0e0)
        /go/src/github.com/rancher/convoy/daemon/daemon.go:142 +0x29d
net/http.HandlerFunc.ServeHTTP(0xc82038c1c0, 0x7f7bf5c8ba70, 0xc82005cdd0, 0xc8202bc0e0)
        /usr/local/go/src/net/http/server.go:1618 +0x3a
github.com/rancher/convoy/vendor/github.com/gorilla/mux.(*Router).ServeHTTP(0xc820448050, 0x7f7bf5c8ba70, 0xc82005cdd0, 0xc8202bc0e0)
        /go/src/github.com/rancher/convoy/vendor/github.com/gorilla/mux/mux.go:98 +0x29e
net/http.serverHandler.ServeHTTP(0xc820156480, 0x7f7bf5c8ba70, 0xc82005cdd0, 0xc8202bc0e0)
        /usr/local/go/src/net/http/server.go:2081 +0x19e
net/http.(*conn).serve(0xc8202aa900)
        /usr/local/go/src/net/http/server.go:1472 +0xf2e
created by net/http.(*Server).Serve
        /usr/local/go/src/net/http/server.go:2137 +0x44e
jonathan-kosgei commented 7 years ago

Use the Rexray plugin instead, it works out the box without any issues. convoy isn't aware of other volumes you create on other nodes i.e. you could create a mongo-1 volume on one node and expect to be able to mount a volume by that name on any other node, but unfortunately that's not how convoy works. This is however possible with rexray.

---- On Tue, 09 May 2017 13:01:21 +0300 Lukasz Piatkowski <notifications@github.com> wrote ----

Debug log from daemon:

DEBU[0070] Calling: POST, /volumes/create, request: POST, /v1/volumes/create pkg=daemon DEBU[0070] event=create object=volume opts=map[BackupURL: VolumeName:test_aws VolumeDriverID: VolumeType: VolumeIOPS:0 PrepareForVM:false Size:0] pkg=daemon reason=prepare volume=test_aws DEBU[0077] Adding tags for vol-0966127571d2bd9d7, as map[Name:test_aws] pkg=ebs DEBU[0077] Created volume test_aws from EBS volume vol-0966127571d2bd9d7 pkg=ebs DEBU[0077] Attaching vol-0966127571d2bd9d7 to i-0522cee73fc068d7f's /dev/sdf pkg=ebs DEBU[0083] Attached EBS volume vol-0966127571d2bd9d7 to /dev/xvdf pkg=ebs DEBU[0083] Created volume event=create object=volume pkg=daemon reason=complete volume=test_aws 2017/05/09 09:57:20 http: panic serving @: runtime error: invalid memory address or nil pointer dereference goroutine 38 [running]: net/http.(conn).serve.func1(0xc8202aa900) /usr/local/go/src/net/http/server.go:1389 +0xc1 panic(0xb3fcc0, 0xc82000e100) /usr/local/go/src/runtime/panic.go:443 +0x4e9 github.com/rancher/convoy/ebs.(Driver).GetVolumeInfo(0xc820017270, 0xc82044bbf0, 0x8, 0x0, 0x0, 0x0) /go/src/github.com/rancher/convoy/ebs/ebs.go:501 +0x898 github.com/rancher/convoy/daemon.(daemon).getVolumeDriverInfo(0xc82007e500, 0xc820435de0, 0xc820435de0, 0x0, 0x0) /go/src/github.com/rancher/convoy/daemon/volume.go:303 +0xbb github.com/rancher/convoy/daemon.(daemon).doVolumeCreate(0xc82007e500, 0xc55960, 0x1, 0x7f7bf5c8ba70, 0xc82005cdd0, 0xc8202bc0e0, 0xc8203d04e0, 0x0, 0x0) /go/src/github.com/rancher/convoy/daemon/volume.go:157 +0x133 github.com/rancher/convoy/daemon.(daemon).(github.com/rancher/convoy/daemon.doVolumeCreate)-fm(0xc55960, 0x1, 0x7f7bf5c8ba70, 0xc82005cdd0, 0xc8202bc0e0, 0xc8203d04e0, 0x0, 0x0) /go/src/github.com/rancher/convoy/daemon/daemon.go:76 +0x74 github.com/rancher/convoy/daemon.makeHandlerFunc.func1(0x7f7bf5c8ba70, 0xc82005cdd0, 0xc8202bc0e0) /go/src/github.com/rancher/convoy/daemon/daemon.go:142 +0x29d net/http.HandlerFunc.ServeHTTP(0xc82038c1c0, 0x7f7bf5c8ba70, 0xc82005cdd0, 0xc8202bc0e0) /usr/local/go/src/net/http/server.go:1618 +0x3a github.com/rancher/convoy/vendor/github.com/gorilla/mux.(Router).ServeHTTP(0xc820448050, 0x7f7bf5c8ba70, 0xc82005cdd0, 0xc8202bc0e0) /go/src/github.com/rancher/convoy/vendor/github.com/gorilla/mux/mux.go:98 +0x29e net/http.serverHandler.ServeHTTP(0xc820156480, 0x7f7bf5c8ba70, 0xc82005cdd0, 0xc8202bc0e0) /usr/local/go/src/net/http/server.go:2081 +0x19e net/http.(conn).serve(0xc8202aa900) /usr/local/go/src/net/http/server.go:1472 +0xf2e created by net/http.(Server).Serve /usr/local/go/src/net/http/server.go:2137 +0x44e — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.