apache / apache/openwhisk-devtools

"make lean" make waits forever for controller which shows no logs with "docker logs"

Ouverte
#367 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
JavaScript
Étoiles
181
Forks
124
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Hello,

I am trying to run Openwhisk locally on a remote Ubuntu server for testing and avoid using the standalone setup which does not allow external connections.
There are other containers running which use some of the ports setup in the docker-compose-lean.yml, so I had to edit some of them. Here is the final docker-compose-lean.yml:

```yaml
version: '3'
services:
db:
image: apache/couchdb:2.3
ports:
- "5985:5984"
environment:
COUCHDB_USER: whisk_admin
COUCHDB_PASSWORD: some_passw0rd
volumes:
- ~/tmp/openwhisk/couchdb:/usr/local/var/lib/couchdb:rw

# WHISK CONTROLLER
controller:
image: ${DOCKER_IMAGE_PREFIX:-openwhisk}/controller:${DOCKER_IMAGE_TAG:-latest}
command: /bin/sh -c "exec /init.sh 0 >> /logs/controller-local_logs.log 2>&1"
privileged: true
pid: "host"
userns_mode: "host"
links:
- db:db.docker
depends_on:
- db
env_file:
- ./docker-whisk-controller.env # env vars shared
- ~/tmp/openwhisk/local.env # generated during make setup
environment:
COMPONENT_NAME: controller
PORT: 8888

CONFIG_whisk_couchdb_provider: CouchDB
CONFIG_whisk_couchdb_protocol: http
CONFIG_whisk_couchdb_port: 5985
CONFIG_whisk_couchdb_host: db.docker
CONFIG_whisk_couchdb_username: whisk_admin
CONFIG_whisk_couchdb_password: some_passw0rd

CONFIG_akka_actor_provider: local

LOADBALANCER_HOST: ${DOCKER_COMPOSE_HOST}
LOADBALANCER_HOST_PORT: 8081

#invoker env
EDGE_HOST: ${DOCKER_COMPOSE_HOST}
EDGE_HOST_APIPORT: 8081
CONFIG_whisk_containerFactory_containerArgs_network: openwhisk_default
WHISK_API_HOST_NAME: ${DOCKER_COMPOSE_HOST}

#required by lean controller
CONFIG_whisk_spi_MessagingProvider: org.apache.openwhisk.connector.lean.LeanMessagingProvider
CONFIG_whisk_spi_LoadBalancerProvider: org.apache.openwhisk.core.loadBalancer.LeanBalancer
volumes:
- ~/tmp/openwhisk/controller/logs:/logs
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/containers:/containers
- /sys/fs/cgroup:/sys/fs/cgroup
ports:
- "8888:8888"
- "9222:9222"

# The API Gateway is currently used to expose the Controller API
# see apigateway/conf/whisk-docker-compose.conf
# Minio is used to mock an object storage ( i.e. S3) that hosts the api-gateway configuration.
# Minio also exposes a web UI to browse the files: http://localhost:9001/minio/api-gateway/
minio:
image: minio/minio:RELEASE.2018-07-13T00-09-07Z
command:
- server
- /data
environment:
- MINIO_ACCESS_KEY=5VCTEQOQ0GR0NV1T67GN
- MINIO_SECRET_KEY=8MBK5aJTR330V1sohz4n1i7W5Wv/jzahARNHUzi3
volumes:
- ~/tmp/openwhisk/minio:/data:rw
ports:
- "9001:9000"
redis:
image: redis:2.8
ports:
- "6379:6379"
apigateway:
image: openwhisk/apigateway:nightly
links:
- controller:whisk.controller
- redis:redis.docker
- minio:minio.docker
environment:
- REDIS_HOST=${DOCKER_COMPOSE_HOST}
- REDIS_PORT=6379
- PUBLIC_MANAGEDURL_PORT=9090
- PUBLIC_MANAGEDURL_HOST=${DOCKER_COMPOSE_HOST}
- REMOTE_CONFIG=minio:api-gateway
depends_on:
- controller
- redis
- minio
volumes:
- ~/tmp/openwhisk/api-gateway-ssl:/etc/ssl:ro
- ~/tmp/openwhisk/api-gateway-config/api-gateway/generated-conf.d:/etc/api-gateway/generated-conf.d
- ~/tmp/openwhisk/rclone:/root/.config/rclone:rw
ports:
- "8080:80"
- "8081:443"
- "9000:9000"
- "9090:8080"
```

"make lean" waits forever:

`waiting for the Whisk controller to come up ...
.............................................................................................................................................................................................................`

No logs in the controller:

```
ubuntu@protcolqa:~/dev/openwhisk-devtools/docker-compose$ docker container logs openwhisk_controller_1
ubuntu@protcolqa:~/dev/openwhisk-devtools/docker-compose$
```

"docker ps" looks fine:

```
503d7b547d7b openwhisk/apigateway:nightly "/usr/bin/dumb-init …" 19 minutes ago Up 19 minutes 8423/tcp, 0.0.0.0:9000->9000/tcp, [::]:9000->9000/tcp, 0.0.0.0:8080->80/tcp, [::]:8080->80/tcp, 0.0.0.0:8081->443/tcp, [::]:8081->443/tcp, 0.0.0.0:9090->8080/tcp, [::]:9090->8080/tcp openwhisk_apigateway_1
c485ae69abd7 openwhisk/controller:nightly "/bin/sh -c 'exec /i…" 19 minutes ago Up 12 minutes 0.0.0.0:8888->8888/tcp, [::]:8888->8888/tcp, 8080/tcp, 0.0.0.0:9222->9222/tcp, [::]:9222->9222/tcp openwhisk_controller_1
a8725c88b0a1 apache/couchdb:2.3 "tini -- /docker-ent…" 19 minutes ago Up 19 minutes 4369/tcp, 9100/tcp, 0.0.0.0:5985->5984/tcp, [::]:5985->5984/tcp openwhisk_db_1
5759ec1ce7f8 redis:2.8 "docker-entrypoint.s…" 19 minutes ago Up 19 minutes 0.0.0.0:6379->6379/tcp, [::]:6379->6379/tcp openwhisk_redis_1
629679ea3dd9 minio/minio:RELEASE.2018-07-13T00-09-07Z "/usr/bin/docker-ent…" 20 minutes ago Up 20 minutes (healthy) 0.0.0.0:9001->9000/tcp, [::]:9001->9000/tcp openwhisk_minio_1
```

Would you know why the controller doesn't work? Thanks.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par docker-compose-lean.yml et la vérification de disponibilité du contrôleur effectuée par `make lean`. Inspectez la commande de démarrage du conteneur du contrôleur, l’emplacement monté de `/logs` et la sortie de `docker ps` et `docker logs` ; comparez-les à la configuration et aux valeurs d’environnement affichées. C’est terminé lorsque le contrôleur produit des logs utilisables et que `make lean` s’achève au lieu d’attendre indéfiniment.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
docker, docker-compose
Domaine
devops, infrastructure
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.