Skip to content

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

@NautillusSs

Description

@NautillusSs

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:

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions