Closed Bug 1512714 Opened 5 years ago Closed 5 years ago

lando-api Celery worker container dev deploy

Categories

(Cloud Services :: Operations: LandoAPI, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mars, Assigned: ckolos)

References

Details

When we configure the new lando-api Celery worker container to dev
the worker container and application server container on dev
are going to need some new settings.

My understanding is that the app server container runs the "uwsgi" command.
The worker container needs to run the "worker" command once the code for
the worker lands.

The worker container will require the following environment variables:

      VERSION_PATH=<take from app container config>
      ENV=<take from app container config>
      SENTRY_DSN=<take from app container config>
      # One of: critical, error, warning, info, debug
      WORKER_LOGLEVEL=info
      # See http://docs.celeryproject.org/en/stable/getting-started/brokers/redis.html#configuration
      # for the full URL format.
      CELERY_BROKER_URL=redis://<some redis hostname>
      # The OIDC_* values need to be set by all application instances even if they are
      # are empty.
      OIDC_IDENTIFIER=<leave empty for the worker container>
      OIDC_DOMAIN=<leave empty for the worker container>
      # See https://pythonhosted.org/Flask-Mail/#configuring-flask-mail
      MAIL_SERVER=<leave blank for now>
      MAIL_PORT=<leave blank for now>
      MAIL_USE_TLS=<leave blank for now>
      MAIL_USE_SSL=<leave blank for now>
      MAIL_USERNAME=<leave blank for now>
      MAIL_PASSWORD=<leave blank for now>
      # Set this flag to have the worker log a message instead of connecting
      # to the SMTP server.
      MAIL_SUPPRESS_SEND=
      # If set this will limit mail sending to the listed recipients. Mail to recipients
      # not on the list will be logged instead.
      MAIL_RECIPIENT_WHITELIST=


The application server container will require a new environment variable:

      # See http://docs.celeryproject.org/en/stable/getting-started/brokers/redis.html#configuration
      # for the full URL format.
      CELERY_BROKER_URL=redis://<some redis hostname>
Status: NEW → ASSIGNED
Component: Lando → Operations: LandoAPI
Product: Conduit → Cloud Services
Version: Development/Staging → unspecified

As discussed in the meeting today (2019/01/10), we're going to implement this with non-durable redis for now until migration for this service to GCE is complete

In order to unblock end-to-end testing of other Lando API features that are landing I have had to disable the code in Lando API that calls the Celery job system. (The Celery job code is in the code path the Transplant service uses to talk to Lando API. Busted Celery means busted Transplant API calls, which means busted end-to-end tests.)

I'm going to put the Celery job code behind a proper feature flag and land that before we switch the job system back on.

Depends on: 1520314
Depends on: 1523740

This is pretty much done, there was just some followup work around making the MAIL_* environment variables listed here work (Bug 1535759). There's also been other deploys since that are not tracked as part of this.

Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
See Also: → 1535759
You need to log in before you can comment on or make changes to this bug.