Life Without DevStack: Upstream Development With OSA - OpenStack Summit Tokyo 2015
In this talk I share my experience doing upstream OpenStack development using the OpenStack-Ansible distribution (OSA) instead of the traditional DevStack as my development platform.
possible to modify or reinstall individual services • All packages are installed for development, not just the one you need. • Services run in a shared environment • Dependencies are shared
OpenStack • Deploys production-ready clouds from a handful of nodes to hundreds or even thousands • Services are deployed from the git repositories • No vendor-specific patches or add-ons • Services are isolated from each other in LXC containers
development, testing and gating • Can be deployed on a cloud server or virtual machine • Requirements ◦ 16GB RAM ◦ 80GB disk space ◦ Ubuntu 14.04 • Redundant services are supported ◦ Easy to do when services are isolated in containers! ◦ HAProxy is installed on the host to load balance
3. Stop the target service 4. Clone development version 5. Update dependencies 6. Sync database 7. Make changes to the original config files, if necessary 8. Run manually, or install and run as a service Development Workflow
accessible in the host at /var/lib/lxc/<container-name>/rootfs • Logs are in the host at /openstack/log/<container-name> • Each container has its virtual environments in /openstack/venvs • HAProxy is running on the host ◦ The service configuration files are in /etc/haproxy/conf.d/*
cheese shop ◦ openstack-ansible creates its own private package repository ◦ To enable access to external packages, disable option no-index in ~/. pip/pip.conf • Using debuggers ◦ Terminal based debuggers work great inside containers (pudb, pdb) ◦ Remote debugging from host to container works too (pycharm, pydev)
(keystone and horizon only) ◦ To run the service from the home directory, add home=/root/<project> to the WSGI setup in the apache site configuration file • Database migrations don’t have downgrade ◦ Backup and restore the database if you need to downgrade ◦ Or delete the database, and let the playbooks create a new one • Galera restarts are tricky ◦ See documentation for restart instructions
this time ◦ nova, neutron, keystone, glance, cinder, swift, heat, ceilometer, horizon ◦ We welcome contributions with open arms! • Strongly opinionated networking ◦ Linux Bridge or bust!
MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM ONE FANATICAL PLACE | SAN ANTONIO, TX 78218 US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM Thank You (Read my blog post: http://bit.ly/osa-devel)