OpenStack is a free, open source cloud infrastructure management project written in Python and released under Apache-2.0. It has 6,034 GitHub stars, 1,625 forks and 1 open issues, and was last pushed 3 hours ago. On this registry it ranks #21 of 43 tracked projects in Cloud Infrastructure Management, with 5 head-to-head comparisons available. It gained 8 stars over the last 6 tracked days.

What is OpenStack?

What it is

OpenStack is a collection of interoperable components that can be deployed together to provide computing, networking and storage resources. Those infrastructure resources are then exposed to end users through programmable APIs, so that capacity can be requested and managed by software rather than by hand. The project lives in the Python ecosystem and is released under the Apache-2.0 license, with development coordinated at opendev.org and documentation hosted at openstack.org.

The concrete problem it solves is coordination across a large set of independently developed components. Each OpenStack component has its own repository, and a single commit in one project does not by itself tell an operator which commits in the other projects were tested alongside it. OpenStack's continuous integration system, Zuul, gates all of the contained projects on an effective single timeline, producing a sequence of combinations that have been explicitly tested together. Gerrit's submodule tracking feature then updates a super project whenever a subproject changes, so that tested sequence is captured in the super project's commits.

Key capabilities

  • Provides computing, networking and storage resources as deployable infrastructure components.
  • Exposes those resources to end users through programmable APIs.
  • Tracks every OpenStack repository as a git submodule in one super project.
  • Records, through Zuul gating, combinations of component commits that were explicitly tested with each other.
  • Uses Gerrit submodule tracking to update the super project each time a subproject is updated.
  • Maps any single commit in the super project to the set of component commits tested with it.

Who uses it and how

  • Operators and integrators who need a known-tested combination of component commits rather than an arbitrary mix.
  • CI and release engineers who want to trace from one super project commit back to the exact component revisions Zuul validated.
  • Contributors who follow the contributor portal to work on individual components rather than this repository.
  • Readers of the governance site who need to understand how the project is governed.

Getting started

This repository is intended to be used in a read-only manner and is a collection of git submodules rather than a runnable deployment. Individual component repositories are found at opendev.org/openstack, and component documentation is at openstack.org/software.

When to use it — and when not to

Use this repository when the tested-together commit sequence matters, since that mapping is the whole point of the super project. Do not treat it as an installable distribution: it contains no deployment tooling of its own, and the README directs users to the individual component repositories and to openstack.org for software and contribution details. The facts given list no database, storage or mail requirements, so no operational footprint can be stated here.

project readme (upstream, from github) — read inline

OpenStack

OpenStack is a collection of interoperable components that can be deployed to provide computing, networking and storage resources. Those infrastructure resources can then be accessed by end users through programmable APIs.

This repository just represents OpenStack as a collection of git submodules. You can find the repositories for individual components at: https://opendev.org/openstack

You can learn more about the various components in OpenStack at: https://openstack.org/software

To learn more about how to contribute to OpenStack, please head to our Contributor portal: https://www.openstack.org/community/

To learn more about how OpenStack is governed, you can visit: https://governance.openstack.org/

Why this repository ?

Our continuous integration system, Zuul, gates all of the contained projects in an effective single timeline. This means that OpenStack, across all of the projects, does already have a sequence of combinations that have been explicitly tested, but it's non-trivial to go from a single commit of a particular project to the commits that were tested with it.

Gerrit's submodule tracking feature will update a super project every time a subproject is updated, so the specific sequence created by zuul will be captured by the super project commits.

This repo is intended to be used in a read-only manner. Any commit in this repo will get a collection of commits in the other repos that have explicitly been tested with each other, if that sort of thing is important to you.

Frequently asked questions

Is OpenStack free to use?

OpenStack is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does OpenStack do?

Open source cloud infrastructure trusted at massive scale

What is OpenStack written in?

OpenStack is primarily written in Python. Its source is publicly available at https://github.com/openstack/openstack, and it has 6,034 GitHub stars.