Deploying OpenStack from source to scalable multi-node environments
by Corey Bryant on 17 June 2015
The Juju OpenStack charms now have support for deploying OpenStack from source!
This means that you can point the charms at the OpenStack git repositories/branches of your choice, whether they’re the well known upstream repos or your own modified repos, and deploy to your choice of substrate via Juju (to metal via MAAS, private/public cloud, KVM, Linux containers, and more).
Configuration
Deploying from source is configured with the openstack-origin-git option, which can be added to the charm configurations of any existing bundle. For example, the cinder charm in the OpenStack bundle can be updated by adding:
openstack-origin-git: include-file://cinder-juno.yaml
where cinder-juno.yaml minimally contains:
repositories: - {name: requirements, repository: 'git://github.com/openstack/requirements', branch: stable/juno} - {name: cinder, repository: 'git://github.com/openstack/cinder', branch: stable/juno}
We use the yaml config files located here for testing, which are minimal configs for the various stable releases and master. Note that these files are subject to change, in particular the master yaml files, so be sure to check back if you run into any issues.
Note that the specified git repositories are not limited to the requirements and core repositories. You can also specify the git repositories for any openstack dependencies that are listed at: http://git.openstack.org/cgit.
What’s supported?
Today the following OpenStack charms support deploying from source:
- cinder
- glance
- keystone
- neutron-api
- neutron-gateway
- neutron-openvswitch
- nova-cloud-controller
- nova-compute
- openstack-dashboard
The best way to access this support today is by using the “next” branches, which are the current development branches. As a reference, this bundle uses the next branches.
In terms of repositories supported, you can use the well known upstream git repositories, such as https://github.com/openstack/cinder.git or you can use your own version that is based on upstream.
In terms of branches supported, stable/icehouse, stable/juno, stable/kilo, and master are all supported.
When using master branches, keep in mind that the OpenStack charms are going to need updates as master evolves through each release. As issues arise with the charms, we will be providing fixes to the next branches.
It’s more than just deploying OpenStack from source!
Finally, it’s not just about deploying OpenStack. Juju and the OpenStack charms also provide dynamic life-cycle capabilities and the ability to scale out easily. I’ll provide some follow up posts to talk about some of the extended capabilities that are particularly relevant when deployed from source.
Related posts
Data Centre AI evolution: combining MAAS and NVIDIA smart NICs
It has been several years since Canonical committed to implementing support for NVIDIA smart NICs in our products. Among them, Canonical’s metal-as-a-service (MAAS) enables the management and control of smart NICs on top of bare-metal servers. NVIDIA BlueField smart NICs are very high data rate network interface cards providing advanced s […]
Canonical joins the Sylva project
Canonical is proud to announce that we have joined the Sylva project of Linux Foundation Europe as a General Member. We aim to bring our open source infrastructure solutions to Sylva and contribute to the project’s goal of providing a platform to validate cloud-native telco functions. Sylva was created to accelerate the cloudification of […]
A call for community
Introduction Open source projects are a testament to the possibilities of collective action. From small libraries to large-scale systems, these projects rely on the volunteer efforts of communities to evolve, improve, and sustain. The principles behind successful open source projects resonate deeply with the divide-and-conquer strategy, a […]