BuildAPI, Buildbot, RabbitMQ and MySQL containers are all up_MySQL
程序员文章站
2022-04-05 23:22:41
...
BuildAPI, Buildbot, RabbitMQ and MySQL containers are all up now! To run pull http://hg.mozilla.org/users/jozeller_mozilla.com/vagrant-docker-setup and run 'vagrant up' from the vagrant-docker-setup/ directory.
The vagrant up command will take several minutes to run the first time because it needs to pull the docker images from the Docker Index at docker.io. More to come tomorrow on this. NOTE: Buildbot seems to be running, but I have not been able to test *full* functionality just yet. However, the buildapi-app, rabbitmq-app and orchardup/mysql containers run together just fine.
To view
- BuildAPI: localhost:8888
- RabbitMQ: localhost:15672
- Buildbot: localhost:8501 – NOT YET
Keep checking back!
New
- Added specific app users to mysql with passwords
- Added version row with value 6 to schedulerdb
- Showed that an added job from buildapi will show up in mysql on buildbot
- The malformed url error was caused by the fact that the URL was not importing the environment variable
- Once the env var was imported, I was still getting the malformed url, but this time it was because I had not created a password for the user. I remember when I was setting up my local buildbot instance that I ran into this same problem. There is a regex that is checking to see that the url is not malformed and it does not take kindly to the absense of passwords, regardless of the fact that mysql is okay with not having a password for a user at all.
- Uploaded images for johnlzeller/rabbitmq, johnlzeller/buildapi and johnlzeller/buildbot to Docker Index
- Verified that entire setup can be run in Vagrant
What's next?
- Create repo on hg.mozilla.org/build for holidng Vagrantfile and Dockerfiles for images and update the new hg.m.o/build repo with Vagrantfile and Dockerfiles for images
- Troubleshoot why the buildbot web interface is not showing up on localhost:8501
- Publish setup to blog
After initial release
- Have 1 of 2 things should happen:
- Have mysql-app setup to load its own schemas and users
- Have individual apps only load schemas and users if they do not already exist… this ensures persistence of the databases
- Look into using the VOLUME docker command to setup an easy way to share a host directory for editing purposes. The goal here is to make it easy to make changes to the running dev setup and to test that setup. Currently, the docker setup just runs the tip of each repository for buildapi and buildbot
Questions
- Why/how does schedulerdb.version get propogated with a version number int like 6. Buildbot-app was failing on the fact that there was no row in version. I just added 6 into it, since that is what my local schedulerdb dump had, but is there a more appropriate way to do this? Does this check need to be changed? The assert can be found on line 35 of /usr/local/lib/python2.7/dist-packages/buildbot-0.8.2_hg_f6d9311d9246_production_0.8-py2.7.egg/buildbot/db/schema/manager.py