Running OpenStack in a container can be a useful workflow for developers. The primary benefits are faster performance and lower memory overhead while still providing a suitable level of isolation. The guide walks the user through procedure for configuring an LXC container and deploying OpenStack in it using devstack. It also discusses the limitations of this setup - particularly related to cinder. Change-Id: I2e0921fd118cfe98cef86ba110a94b3edccf9a29
6.8 KiB
DevStack - an OpenStack Community Production
overview configuration plugins plugin-registry faq changes hacking
Quick Start
Select a Linux Distribution
Only Ubuntu 14.04 (Trusty), Fedora 22 (or Fedora 23) and CentOS/RHEL 7 are documented here. OpenStack also runs and is packaged on other flavors of Linux such as OpenSUSE and Debian.
Install Selected OS
In order to correctly install all the dependencies, we assume a specific minimal version of the supported distributions to make it as easy as possible. We recommend using a minimal install of Ubuntu or Fedora server in a VM if this is your first time.
Download DevStack
git clone https://git.openstack.org/openstack-dev/devstack
The
devstack
repo contains a script that installs OpenStack and templates for configuration filesConfigure
We recommend at least a
minimal-configuration
be set up.Add Stack User
Devstack should be run as a non-root user with sudo enabled (standard logins to cloud images such as "ubuntu" or "cloud-user" are usually fine).
You can quickly create a separate stack user to run DevStack with
devstack/tools/create-stack-user.sh; su stack
Start the install
cd devstack; ./stack.sh
It takes a few minutes, we recommend reading the script while it is building.
Guides
Walk through various setups used by stackers
guides/single-vm guides/single-machine guides/lxc guides/multinode-lab guides/neutron guides/devstack-with-nested-kvm guides/nova guides/devstack-with-lbaas-v2
All-In-One Single VM
Run OpenStack in a VM <guides/single-vm>
. The VMs
launched in your cloud will be slow as they are running in QEMU
(emulation), but it is useful if you don't have spare hardware laying
around. [Read] <guides/single-vm>
All-In-One Single Machine
Run OpenStack on dedicated hardware <guides/single-machine>
This can include a server-class machine or a laptop at home. [Read] <guides/single-machine>
All-In-One LXC Container
Run OpenStack in a LXC container <guides/lxc>
.
Beneficial for intermediate and advanced users. The VMs launched in this
cloud will be fully accelerated but not all OpenStack features are
supported. [Read] <guides/lxc>
Multi-Node Lab
Setup a multi-node cluster <guides/multinode-lab>
with
dedicated VLANs for VMs & Management. [Read] <guides/multinode-lab>
DevStack with Neutron Networking
Building a DevStack cluster with Neutron Networking <guides/neutron>
. This guide
is meant for building lab environments with a dedicated control node and
multiple compute nodes.
DevStack with KVM-based Nested Virtualization
Procedure to setup DevStack with KVM-based Nested Virtualization
<guides/devstack-with-nested-kvm>
. With this setup, Nova
instances will be more performant than with plain QEMU emulation.
Nova and devstack
Guide to working with nova features Nova and devstack <guides/nova>
.
DevStack Documentation
Overview
An overview of DevStack goals and priorities <overview>
Configuration
Configuring and customizing the stack <configuration>
Plugins
Extending DevStack with new features <plugins>
Recent Changes
An incomplete summary of recent changes <changes>
FAQ
The DevStack FAQ <faq>
Contributing
Pitching in to make DevStack a better place <hacking>
Code
A look at the bits that make it all go
Scripts
- stack.sh - The main script
- functions - DevStack-specific functions
- functions-common - Functions shared with other projects
- lib/apache
- lib/ceph
- lib/cinder
- lib/database
- lib/dstat
- lib/glance
- lib/heat
- lib/horizon
- lib/infra
- lib/keystone
- lib/ldap
- lib/neutron-legacy
- lib/nova
- lib/oslo
- lib/rpc_backend
- lib/swift
- lib/tempest
- lib/tls
- lib/trove
- unstack.sh
- clean.sh
- run_tests.sh
- extras.d/60-ceph.sh
- extras.d/70-tuskar.sh
- extras.d/80-tempest.sh
- inc/ini-config
- inc/meta-config
- inc/python
- pkg/elasticsearch.sh
Configuration
local.conf stackrc openrc exerciserc eucarc
Tools
- tools/build_docs.sh
- tools/build_venv.sh
- tools/create-stack-user.sh
- tools/create_userrc.sh
- tools/fixup_stuff.sh
- tools/info.sh
- tools/install_pip.sh
- tools/install_prereqs.sh
- tools/make_cert.sh
- tools/upload_image.sh