Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

consul.yml consul-haproxy infrastructure doesn't seem to work with consul-template 0.18.1 #5

Open
mariusneo opened this issue Mar 12, 2017 · 0 comments

Comments

@mariusneo
Copy link

I've made some experiments locally based on this demo project (branch master) and while trying to do some experiments I've noticed that not the latest consul-template is being used

 docker-consul-demo git:(master) sudo docker-compose -f consul.yml  up -d
Creating consul
Creating registrator
Creating load-balancer
➜  docker-consul-demo git:(master) sudo docker ps
CONTAINER ID        IMAGE                              COMMAND                  CREATED             STATUS              PORTS                                                              NAMES
a635bed7d44f        camptocamp/haproxy-consul:latest   "/launch.sh"             6 seconds ago       Up 5 seconds        0.0.0.0:80->80/tcp, 0.0.0.0:32772->8080/tcp                        load-balancer
f20d742a31f3        gliderlabs/registrator:latest      "/bin/registrator -in"   6 seconds ago       Up 5 seconds                                                                           registrator
66c5aafe998c        progrium/consul:latest             "/bin/start -server -"   7 seconds ago       Up 6 seconds        53/tcp, 53/udp, 8300-8302/tcp, 8400/tcp, 8500/tcp, 8301-8302/udp   consul
➜  docker-consul-demo git:(master) sudo docker exec -ti load-balancer /bin/bash
root@a635bed7d44f:/# consul-template -v                                                                                                                                                                      
consul-template v0.13.0
root@a635bed7d44f:/# haproxy -v
HA-Proxy version 1.7.2-1 2017/01/13
Copyright 2000-2017 Willy Tarreau <willy@haproxy.org>

I had a look on
https://github.com/camptocamp/docker-haproxy-consul/blob/master/Dockerfile

and seen that the latest version of consul template is used

ENV CONSUL_TEMPLATE_VERSION=0.18.1

Can it be that the latest version of camptocamp/haproxy-consul:latest is not quite up-to-date?

I've build the docker-haproxy-consul locally and referenced it in consul.yml file and got the following error while executing docker-compose -f consul.yml up

load-balancer  | 2017/03/12 14:47:48.714156 [INFO] (runner) executing command "/usr/sbin/haproxy -D -f /etc/haproxy/haproxy.cfg -sf $(pidof haproxy)" from "/etc/consul-template/template.d/haproxy.tmpl" => "/etc/haproxy/haproxy.cfg"
load-balancer  | 2017/03/12 14:47:48.714234 [INFO] (child) spawning: /usr/sbin/haproxy -D -f /etc/haproxy/haproxy.cfg -sf $(pidof haproxy)
load-balancer  | Usage : haproxy [-f <cfgfile|cfgdir>]* [ -vdVD ] [ -n <maxconn> ] [ -N <maxpconn> ]
load-balancer  |         [ -p <pidfile> ] [ -m <max megs> ] [ -C <dir> ] [-- <cfgfile>*]
load-balancer  |         -v displays version ; -vv shows known build options.
load-balancer  |         -d enters debug mode ; -db only disables background mode.
load-balancer  |         -dM[<byte>] poisons memory with <byte> (defaults to 0x50)
load-balancer  |         -V enters verbose mode (disables quiet mode)
load-balancer  |         -D goes daemon ; -C changes to <dir> before loading files.
load-balancer  |         -q quiet mode : don't display messages
load-balancer  |         -c check mode : only check config files and exit
load-balancer  |         -n sets the maximum total # of connections (2000)
load-balancer  |         -m limits the usable amount of memory (in MB)
load-balancer  |         -N sets the default, per-proxy maximum # of connections (2000)
load-balancer  |         -L set local peer name (default to hostname)
load-balancer  |         -p writes pids of all children to this file
load-balancer  |         -de disables epoll() usage even when available
load-balancer  |         -dp disables poll() usage even when available
load-balancer  |         -dS disables splice usage (broken on old kernels)
load-balancer  |         -dR disables SO_REUSEPORT usage
load-balancer  |         -dr ignores server address resolution failures
load-balancer  |         -dV disables SSL verify on servers side
load-balancer  |         -sf/-st [pid ]* finishes/terminates old pids.
load-balancer  | 
load-balancer  | HA-Proxy version 1.7.3-1 2017/03/01
load-balancer  | Copyright 2000-2017 Willy Tarreau <willy@haproxy.org>
load-balancer  | 
load-balancer  | 2017/03/12 14:47:48.738839 [DEBUG] (cli) receiving signal "child exited"
load-balancer  | Consul Template returned errors:
load-balancer  | 1 error occurred:
load-balancer  | 
load-balancer  | * failed to execute command "/usr/sbin/haproxy -D -f /etc/haproxy/haproxy.cfg -sf $(pidof haproxy)" from "/etc/consul-template/template.d/haproxy.tmpl" => "/etc/haproxy/haproxy.cfg": child: command exited with a non-zero exit status:
load-balancer  | 
load-balancer  |     /usr/sbin/haproxy -D -f /etc/haproxy/haproxy.cfg -sf $(pidof haproxy)
load-balancer  | 
load-balancer  | This is assumed to be a failure. Please ensure the command
load-balancer  | exits with a zero exit status.

load-balancer exited with code 14

Any ideas why this happens?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant