docker
as i stated in the previous post, the next step here was to setup databases. i spent time attempting to have sqlite work in this situation, but ran into issues with buildapi connecting to the sqlite databases. rather than chase that rabbithole, i doublechecked the configuration in production buildapi and was reminded by the configs that production is running mysql. so i went ahead and did so. this setup required adding the following to the dockerfile:
run apt-get install -y mysql-server
run chown mysql.mysql /var/run/mysqld/
run mysql_install_db # installs mysql database schemas
run /usr/bin/mysqld_safe &
after this, everything was peachy except for the sql schemas available in the current buildapi repo. those schemas are for sqlite, so i dumped my own mysql schemas for use here, and loaded them with the following commands:
mysql
mysql
i went ahead and submitted a patch to add the mysql specific schemas to the buildapi repo inbug 1007994, but for now i added the schemas in with the files in the buildapi-app directory.
i uploaded the current contents of the buildapi-app docker container and it launches with schemas all loaded and running well.
i am still having some issues verifying that selfserve-agent can execute commands from data sent to it over the amqp by buildapi. further testing is needed to fix this issue. i am currently getting 404 error with my tests, but that might be a peripheral problem rather than selfserve-agent not getting data from the amqp.
left to do on buildapi-app is to:
test that buildapi and selfserve-agent are truly connected and able to exchange over the amqptest the entire buildapi application by running similar procedures that should work in my local setuplinks i found useful for this:
http://ijonas.com/devops-2/building-a-docker-based-mysql-server/
