---
title: Deploying OpenStack from source to scalable multi-node environments
description: 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
  clo […]
url: https://canonical.com/blog/deploying-openstack-from-source-to-scalable-multi-node-environments?format=md
---

1. [Blog](https://canonical.com/blog)
2. Article

---

[Corey Bryant](https://canonical.com/blog/author/corey-bryant "More about Corey Bryant")

17 June 2015

# Deploying OpenStack from source to scalable multi-node environments

[cloud](https://canonical.com/blog/tag/cloud)
[containers](https://canonical.com/blog/tag/containers)
[Juju](https://canonical.com/blog/tag/juju)
[kvm](https://canonical.com/blog/tag/kvm)
[MAAS](https://canonical.com/blog/tag/maas)
[OpenStack](https://canonical.com/blog/tag/openstack)
[Virtual Machines](https://canonical.com/blog/tag/virtual-machines)

---

Share the article

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](https://jujucharms.com/) (to metal via [MAAS](https://maas.ubuntu.com/), 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](http://bazaar.launchpad.net/~ost-maintainers/openstack-charm-testing/trunk/files/head:/bundles/source) 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](http://bazaar.launchpad.net/~ost-maintainers/openstack-charm-testing/trunk/view/head:/bundles/source/next.yaml) 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.

## Sign up for our newsletter

Get the latest Canonical news and updates in your inbox.

Work email:

\*I agree to receive information about Canonical's
products and services.

By submitting this form, I confirm that I have read and agree to [Canonical's Privacy Policy](https://canonical.com/legal/dataprivacy).

Sign up

## Share on

---

## Related posts

[### Deploy your Spring Boot application to production](https://canonical.com/blog/deploy-spring-application-to-production)

In this article we walk through the steps required to deploy a Spring Boot application to production using Juju and Kubernetes. The goal is to showcase the integration of the...

[Javier de la Puente](https://canonical.com/blog/author/javierdelapuente)

13 January 2026

[### MAAS installation: bare metal provisioning is easier than ever](https://canonical.com/blog/maas-installation-bare-metal-provisioning-is-easier-than-ever)

MAAS brings cloud-like automation to physical servers. It helps teams discover, commission, deploy, and repurpose machines from a central control plane, turning bare metal into...

[David Beamonte](https://canonical.com/blog/author/dbeamonte)

14 July 2026

[### Managing Ubuntu on bare metal at scale](https://canonical.com/blog/managing-ubuntu-on-bare-metal-at-scale)

Modern infrastructure teams are expected to deliver cloud-like speed, consistency, and reliability, even when their workloads run on physical servers. Bare metal remains...

[David Beamonte](https://canonical.com/blog/author/dbeamonte)

9 July 2026

[### Ubuntu Server: a platform made for enterprise scale](https://canonical.com/blog/ubuntu-server-a-platform-made-for-enterprise-scale)

A platform is an environment that allows software to run smoothly across the infrastructure, runtime, and application layers. The key word there is “smoothly”: a good platform...

[Rhys Knipe](https://canonical.com/blog/author/rhysknipe)

7 July 2026
