Version française : https://lucasvidelaine.wordpress.com/installation-de-devstack/

What is OpenStack ?

OpenStack is a group of open source software for deploying cloud computing infrastructures.
This technology has a modular architecture composed of several correlated projects (Nova, Swift, Glance, Neutron, Horizon …) which allow to control the different resources of the virtual machines.

openstack.png

DevStack is a compilation of scripts used to quickly set up a complete OpenStack environment. DevStack is based on the latest versions of the OpenStack modules. He’s used as a development environment and is the basis for functional testing of the OpenStack project.

Link of the project : https://git.openstack.org/cgit/openstack-dev/devstack
Sources and documentations : https://docs.openstack.org/developer/devstack/

warning1


Quick Start

Install Linux :

Start with a clean and minimal installation of a Linux system. Devstack supports Ubuntu 16.04 / 17.04, Fedora 24/25, CentOS / RHEL 7, OpenSUSE and Debian.

If you do not have a preference, Ubuntu 16.04 is the most tested and recommended.

System Requirements:

# Update repositories
$ sudo apt-get --yes update

# Basic tools used by DevStack
$ sudo apt-get install --yes sudo vim vim-nox lynx zip binutils wget
$ sudo apt-get install --yes openssl ssl-cert ssh

# Delete "apparmor"
$ sudo service apparmor stop
$ sudo update-rc.d -f apparmor remove
$ sudo apt-get remove --yes apparmor apparmor-utils
$ sudo apt-get purge --yes apparmor apparmor-utils

# Install NTP
$ sudo apt-get install --yes ntp

# Requirements for the DevStack script
$ sudo apt-get install bridge-utils
$ sudo apt-get install --yes git
$ sudo apt-get install --yes python-pip
$ sudo pip install --upgrade pip
$ sudo pip install -U os-testr

Creating the User :

DevStack must be run by a non-root user but with sudo permissions.

It is therefore necessary to create a user, called here « stack ».

$ sudo groupadd stack
$ sudo useradd -s /bin/bash -d /opt/stack -m stack

As the user executes DevStack and DevStack makes major changes to the system, it must be given sudo permissions. Execute these commands as root for more convenience.

$ cd /etc/sudoers.d
$ umask 226 && echo "stack ALL=(ALL) NOPASSWD:ALL" > etc/sudoers.d/50_stack_sh

Downloading DevStack :

So, we will download the DevStack files containing the installation script.

$ su stack
$ cd
$ git clone https://git.openstack.org/openstack-dev/devstack
$ cd devstack
$ git checkout stable/ocata

Creating the local.conf configuration file :

It will be necessary to create in the devstack file the local.conf file which will contain the minimum configuration to be able to launch the script.

[[local|localrc]]
ADMIN_PASSWORD=openstack
DATABASE_PASSWORD=openstack
RABBIT_PASSWORD=openstack
SERVICE_PASSWORD=openstack
GIT_BASE=https://git.openstack.org

The file will therefore define the passwords for the various DevStack modules.

If you want to install additional modules, you can add the following lines in the file local.conf :

enable_plugin heat https://git.openstack.org/openstack/heat stable/ocata
enable_plugin murano https://git.openstack.org/openstack/murano stable/ocata

Adapt the modules to your needs.

Starting the installation :

To start the installation, you must start the script located in the devstack/

./stack.sh

The script will take between 15 and 20 minutes to fully install DevStack, everything will depend on the power of your machine and your internet connection since many files and packages will be installed during the process.
If an error occurs, run this script, and try again:

./clean.sh

Enjoy!

You now have a working DevStack environment.

Normally your DevStack will have installed the Keystone, Nova, Cinder, Neutron, and Horizon modules by itself.

warning2

You have access to Horizon from the web interface to manage your instances, networks, volumes, and images.
Obviously you can also use the OpenStack commands from the console of your DevStack server.

Since DevStack and OpenStack are free and community you can expose your changes within the code and have them validated from this page.

Go further :

Consolidate your system configuration research to set up your DevStack according to your needs. Also complete your knowledge about the DevStack network.