Running VEDA in Devstack

I am currently working on getting VEDA to work in our devstack environment.  This page represents the current status of this effort.

I started by picking up the initial work that was done here:  https://github.com/edx/edx-video-pipeline/tree/master/docker.

Changes that I have made so far are being kept here https://github.com/edx/edx-video-pipeline/tree/azarembok/veda-devstack and here https://github.com/edx/configuration/tree/azarembok/veda-devstack.

Status as of 5/20/19:

Initially, when I downloaded the docker images, they all started successfully except for http, which wouldn't start due to some django issues with one or more of the INSTALLED_APPS not being present.  Rather than spending a lot of time debugging that problem, I decided to figure out how to rebuild the image myself (since the ones we have are over a year old).  As of right now I have the http image (now renamed to veda-web-frontend) built, and it runs, and I can connect to it via a web browser on my machine.  After running "manage.py migrate" manually, I can get the admin page to come up, but I can't log in yet because there are no users in the database.

Right now my strategy is to get the environment working well enough so that I can test out a veda-heal tool.  After that, I will clean up the environment and integrate it into devstack so that it can be useable by everyone.

Tasks Remaining To Do:

  • Run "manage.py migrate" as part of building base image. (do later as part of provision)
  • Need to set VIDEO_PIPELINE_CFG correctly (preferably in base image)
  • Build all images from scratch
  • Repeatable build process (Jenkins job)
  • Create superuser as part of building base image. (do later as part of provision)
  • Figure out how to store videos on local filesystem
  • Integrate into devstack environment (e.g. we can start with "make dev.veda.up" or similar from devstack)
  • Replace rabbitmq image with redis image, set appropriate environment variables to point at it
  • Provision database info for veda and lms (courses, videos, oauth, etc.)
  • Investigate any permissions issues for heal access.