apache / openserverless

Apache OpenServerless
https://openserverless.apache.org
Apache License 2.0
21 stars 13 forks source link

setup devcluster fails when cockpit is enabled #47

Open d4rkstar opened 2 months ago

d4rkstar commented 2 months ago

Hello, today i tried the ops setup devcluster on a Ubuntu machine which has the cockpit serivce enabled.

The setup failed because the port 9090 (wanted by nuvolaris-worker) is used by default from cockpit service.

ops setup devcluster                                                                                                                                                                                                                                                            [7:33:33]
Creating cluster "nuvolaris" ...
 ✓ Ensuring node image (kindest/node:v1.25.3) 🖼
 ✗ Preparing nodes 📦 📦
ERROR: failed to create cluster: command "docker run --name nuvolaris-worker --hostname nuvolaris-worker --label io.x-k8s.kind.role=worker --privileged --security-opt seccomp=unconfined --security-opt apparmor=unconfined --tmpfs /tmp --tmpfs /run --volume /var --volume /lib/modules:/lib/modules:ro -e KIND_EXPERIMENTAL_CONTAINERD_SNAPSHOTTER --detach --tty --label io.x-k8s.kind.cluster=nuvolaris --net kind --restart=on-failure:1 --init=false --volume=/home/bruno/.ops/tmp/kind/data:/data --volume=/home/bruno/.ops/tmp/kind/openwhisk/standalone:/openwhisk/standalone --volume=/home/bruno/.ops/tmp/kind/openwhisk/invoker:/openwhisk/invoker --volume=/home/bruno/.ops/tmp/kind/openwhisk/controller:/openwhisk/controller --volume=/home/bruno/.ops/tmp/kind/couchdb:/couchdb --volume=/home/bruno/.ops/tmp/kind/mongodb:/mongodb --volume=/home/bruno/.ops/tmp/kind/redis:/redis --volume=/home/bruno/.ops/tmp/kind/zookeper/data:/zookeeper/data --volume=/home/bruno/.ops/tmp/kind/zookeeper/log:/zookeeper/log --volume=/home/bruno/.ops/tmp/kind/kafka:/kafka --publish=0.0.0.0:3232:30232/TCP --publish=0.0.0.0:3233:30233/TCP --publish=0.0.0.0:7896:30896/TCP --publish=0.0.0.0:5984:30984/TCP --publish=0.0.0.0:9092:30992/TCP --publish=0.0.0.0:9644:30644/TCP --publish=0.0.0.0:30379:6379/TCP --publish=0.0.0.0:32717:27017/TCP --publish=0.0.0.0:32817:28017/TCP --publish=0.0.0.0:27017:32717/TCP --publish=0.0.0.0:9000:32090/TCP --publish=0.0.0.0:9090:32091/TCP --publish=0.0.0.0:9080:9080/TCP --publish=0.0.0.0:9010:9010/TCP kindest/node:v1.25.3@sha256:f52781bc0d7a19fb6c405c2af83abfeb311f130707a0e219175677e366cc45d1" failed with error: exit status 125
Command Output: 711756c80920db2227f252f5af6487f3358f708af6009bc80ba3cc1a808cf9b4
docker: Error response from daemon: driver failed programming external connectivity on endpoint nuvolaris-worker (a44261ee5b618cabcaf250fc58ae8bab769d174ecce4d9c0dce4e83b996cb7d3): failed to bind port 0.0.0.0:9090/tcp: Error starting userland proxy: listen tcp4 0.0.0.0:9090: bind: address already in use.

What we should do: A) add some check before creating cluster? B) document this inside the docker setup page / troubleshooting page?

Notes:

sciabarracom commented 2 months ago

we should proably add more preflight tests like for example checking the ports