hypriot / rpi-cluster-lab-demos

Demos for the Hypriot Cluster Lab
http://clusterlab.hypriot.com/
MIT License
18 stars 7 forks source link

Issue with traefik demo - ERROR: for traefik Unable to find a node that satisfies the following conditions [port 8080 (Bridge mode) port 80 (Bridge mode)] #2

Closed nsteinmetz closed 8 years ago

nsteinmetz commented 8 years ago

Hi,

Testing your traefik demo based on blog post:

$ docker-compose up -d
Creating network "traefik_default" with the default driver
Pulling traefik (hypriot/rpi-traefik:latest)...
pico-worker3: Pulling hypriot/rpi-traefik:latest...
pico-worker1: Pulling hypriot/rpi-traefik:latest...
pico-worker3: Pulling hypriot/rpi-traefik:latest... : downloaded
pico-worker1: Pulling hypriot/rpi-traefik:latest... : downloaded
pico-master: Pulling hypriot/rpi-traefik:latest... : downloaded
pico-worker2: Pulling hypriot/rpi-traefik:latest... : downloaded
Pulling whoami (hypriot/rpi-whoami:latest)...
pico-worker3: Pulling hypriot/rpi-whoami:latest... : downloaded
pico-master: Pulling hypriot/rpi-whoami:latest... : downloaded
pico-worker2: Pulling hypriot/rpi-whoami:latest... : downloaded
pico-worker1: Pulling hypriot/rpi-whoami:latest... : downloaded
Creating traefik_traefik_1

ERROR: for traefik  Unable to find a node that satisfies the following conditions 
[port 8080 (Bridge mode) port 80 (Bridge mode)]
[available container slots]
[hypriot.hierarchy==leader]
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "compose/cli/main.py", line 63, in main
AttributeError: 'ProjectError' object has no attribute 'msg'
docker-compose returned -1

Here's what I have:

$ docker network ls
NETWORK ID          NAME                          DRIVER
e3e27937cdfc        nsttraefik_default            overlay             
f27f5e3dd111        pico-master/bridge            bridge              
add0f5da0fee        pico-master/docker_gwbridge   bridge              
2382555a1b28        pico-master/host              host                
aa5581fbf732        pico-master/none              null                
d034015d481c        pico-worker1/bridge           bridge              
008ea37e47f4        pico-worker1/host             host                
85c4bc920313        pico-worker1/none             null                
9e508a58f584        pico-worker2/bridge           bridge              
5dfa11eee949        pico-worker2/host             host                
db78c38a9881        pico-worker2/none             null                
ef094109865d        pico-worker3/bridge           bridge              
a06c065e67d6        pico-worker3/host             host                
8190a4a0f3b9        pico-worker3/none             null                
9345cae36199        traefik_default               overlay             

and:

$ echo $DOCKER_HOST
192.168.200.1:2378

and:

$ sudo cluster-lab health 

Internet Connection
  [PASS]   eth0 exists
  [PASS]   eth0 has an ip address
  [PASS]   Internet is reachable
  [PASS]   DNS works

Networking
  [PASS]   eth0.200 exists
  [PASS]   eth0.200 has correct IP from vlan network
  [PASS]   Cluster leader is reachable
  [PASS]   eth0.200 has exactly one IP
  [PASS]   eth0.200 has no local link address
  [PASS]   Avahi process exists
  [PASS]   Avahi is using eth0.200
  [PASS]   Avahi cluster-leader.service file exists

DNSmasq
  [PASS]   dnsmasq process exists
  [PASS]   /etc/dnsmasq.conf backup file exists

Docker
  [PASS]   Docker is running
  [PASS]   Docker is configured to use Consul as key-value store
  [PASS]   Docker is configured to listen via tcp at port 2375
  [PASS]   Docker listens on 192.168.200.1 via tcp at port 2375 (Docker-Engine)

Consul
  [PASS]   Consul Docker image exists
  [PASS]   Consul Docker container is running
  [PASS]   Consul is listening on port 8300
  [PASS]   Consul is listening on port 8301
  [PASS]   Consul is listening on port 8302
  [PASS]   Consul is listening on port 8400
  [PASS]   Consul is listening on port 8500
  [PASS]   Consul is listening on port 8600
  [PASS]   Consul API works
  [PASS]   Cluster-Node is pingable with IP 192.168.200.1
  [PASS]   Cluster-Node is pingable with IP 192.168.200.27
  [PASS]   Cluster-Node is pingable with IP 192.168.200.26
  [PASS]   Cluster-Node is pingable with IP 192.168.200.36
  [FAIL]   Cluster-Node is pingable with IP 192.168.200.49
  [FAIL]   No Cluster-Node is in status 'failed'
  [PASS]   Consul is able to talk to Docker-Engine on port 7946 (Serf)

Swarm
  [PASS]   Swarm-Join Docker container is running
  [PASS]   Swarm-Manage Docker container is running
  [PASS]   Number of Swarm and Consul nodes is equal which means our cluster is healthy

If you need something else, let me know !

I'll also check why my 4th node is out.

nsteinmetz commented 8 years ago

And I have cluster lab 0.2.14

Even with my 4th node back on my picosluter, same resulta as we could expect.

Govinda-Fichtner commented 8 years ago

@nsteinmetz I had a similar error message when I had a container on my cluster lab leader that occupied port 80. It seems not to make a difference if that container is running or not. Compose will complain until you remove that container.

nsteinmetz commented 8 years ago

@Govinda-Fichtner, you're right indeed. Funny or not, it was my previous image of traefik :-P

Thanks !