Convoy-EBS with Rancher


#1

Hi,

I am new to docker/Rancher. I am trying to explore how EBS volume can be attached to containers created in Rancher. I went through the below link

This discuss about installing convoy in EC2 instance, creating an EBS volume and attaching the volume docker container. Can you pls clarify the following

  1. Can I attach EBS volume to containers created in Rancher ? If so, do I need to install the convoy daemon in every single host or do I need to do the convoy setup in the Rancher Master Server ?

  2. Do we have a Convoy-EBS catalog something similar to Convoy-EFS ?

Thanks,
Ganesan


#2

In continuation of the above, I tried installing convoy on an EC2 instance. While creating a volume, it is throwing up the following error but the volume seems to be created and also got attached to the instance. Pls update if this is an issue or am I missing something here ?

I initially tried with Docker 1.10 version (default option in Rancher while launching AWS instance) and also with the ‘latest’ option (docker version). The following error are with the latest docker version

root@Convoy-EBS-VM2-LatestDocker:~# docker --version
Docker version 1.12.1, build 23cf638
root@Convoy-EBS-VM2-LatestDocker:~#

root@Convoy-EBS-VM2-LatestDocker:~# convoy create convoy-vol03
ERRO[0017] 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”
}

Also got the following error logs

time=“2016-09-27T20:43:38Z” level=debug msg=“Calling: POST, /volumes/create, request: POST, /v1/volumes/create” pkg=daemon
time=“2016-09-27T20:43:38Z” level=debug msg= event=create object=volume opts=map[BackupURL: VolumeName:convoy-vol03 VolumeDriverID: VolumeType: VolumeIOPS:0 PrepareForVM:false Size:0] pkg=daemon reason=prepare volume=convoy-vol03
time=“2016-09-27T20:43:44Z” level=debug msg=“Adding tags for vol-23d7e58f, as map[Name:convoy-vol03]” pkg=ebs
time=“2016-09-27T20:43:44Z” level=debug msg=“Created volume convoy-vol03 from EBS volume vol-23d7e58f” pkg=ebs
time=“2016-09-27T20:43:44Z” level=debug msg=“Attaching vol-23d7e58f to i-80bc5096’s /dev/sdf” pkg=ebs
time=“2016-09-27T20:43:50Z” level=debug msg=“Attached EBS volume vol-23d7e58f to /dev/xvdf” pkg=ebs
time=“2016-09-27T20:43:51Z” level=debug msg=“Created volume” event=create object=volume pkg=daemon reason=complete volume=convoy-vol03
2016/09/27 20:43:56 http: panic serving @: runtime error: invalid memory address or nil pointer dereference
goroutine 23 [running]:
net/http.(*conn).serve.func1(0xc820197000)
/usr/local/go/src/net/http/server.go:1389 +0xc1
panic(0xb3fcc0, 0xc820010130)
/usr/local/go/src/runtime/panic.go:443 +0x4e9
github.com/rancher/convoy/ebs.(*Driver).GetVolumeInfo(0xc82005b270, 0xc8201a9a50, 0xc, 0x0, 0x0, 0x0)
/go/src/github.com/rancher/convoy/ebs/ebs.go:501 +0x898
github.com/rancher/convoy/daemon.(*daemon).getVolumeDriverInfo(0xc820078500, 0xc820456d80, 0xc820456d80, 0x0, 0x0)
/go/src/github.com/rancher/convoy/daemon/volume.go:303 +0xbb
github.com/rancher/convoy/daemon.(*daemon).doVolumeCreate(0xc820078500, 0xc55960, 0x1, 0x7f7594b844b0, 0xc82013f450, 0xc8201bc1c0, 0xc820195a10, 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, 0x7f7594b844b0, 0xc82013f450, 0xc8201bc1c0, 0xc820195a10, 0x0, 0x0)
/go/src/github.com/rancher/convoy/daemon/daemon.go:76 +0x74
github.com/rancher/convoy/daemon.makeHandlerFunc.func1(0x7f7594b844b0, 0xc82013f450, 0xc8201bc1c0)
/go/src/github.com/rancher/convoy/daemon/daemon.go:142 +0x29d
net/http.HandlerFunc.ServeHTTP(0xc82015f8c0, 0x7f7594b844b0, 0xc82013f450, 0xc8201bc1c0)
/usr/local/go/src/net/http/server.go:1618 +0x3a
github.com/rancher/convoy/vendor/github.com/gorilla/mux.(*Router).ServeHTTP(0xc82005b2c0, 0x7f7594b844b0, 0xc82013f450, 0xc8201bc1c0)
/go/src/github.com/rancher/convoy/vendor/github.com/gorilla/mux/mux.go:98 +0x29e
net/http.serverHandler.ServeHTTP(0xc820196e80, 0x7f7594b844b0, 0xc82013f450, 0xc8201bc1c0)
/usr/local/go/src/net/http/server.go:2081 +0x19e
net/http.(*conn).serve(0xc820197000)
/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


#3

Not much help to offer, but I’m getting the exact same error when trying to create EBS volume, convoy 0.5.0 and docker 1.12.2


#4

it appears that you don’t have the convoy daemon started or a permission issue.

service convoy start
convoy list


#5

convoy daemon is running and the command was run as root user. Still getting the same error.

root@Convoy-EBS-VM2-LatestDocker:~# ps -aef | grep convoy
root 16633 10883 0 01:30 pts/5 00:00:00 convoy daemon --drivers ebs
root 16729 16715 0 01:31 pts/0 00:00:00 grep --color=auto convoy
root@Convoy-EBS-VM2-LatestDocker:~# convoy list
{}
root@Convoy-EBS-VM2-LatestDocker:~# convoy create convoy-newvol03
ERRO[0018] 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”
}
root@Convoy-EBS-VM2-LatestDocker:~#