kolla-ansible/docs/vagrant.rst
Steven Dake bbcf22cc12 Prepare for MD to RST conversion
Sphinx and OpenStack documentation standards require the use of
RST formatted documentation.  In order to get out docs integrated
into docs.openstack.org, the following steps must be taken:

1. we need to first convert the documentation to RST
2. sphinx support must be added to the repository
3. project-config must be updated with a publish-docs job

The ability to pubish to docs.openstack.org is a privilege only
available to Big Tent projects.  As a result, we should be taking
advantage of this to help spread the word on our implementation.

Note the documentation was converted with a tool called pandoc
the syntax of which was:
pandoc -f markdown -t rst file.md > z
mv z file.rst

In order for git to preserve history the files have to be git mv'ed
in one commit followed by the pandoc operation in a separate commit.

Change-Id: Iba2a70b989e8305da03e8204a9b130d457b00cf0
2015-08-21 02:10:31 -07:00

2.9 KiB

Vagrant up!

This guide describes how to use [Vagrant][] to assist in developing for Kolla.

Vagrant is a tool to assist in scripted creation of virtual machines, it will take care of setting up a CentOS-based cluster of virtual machines, each with proper hardware like memory amount and number of network interfaces.

[Vagrant]: http://vagrantup.com

Getting Started

The vagrant setup will build a cluster with the following nodes:

  • 3 control nodes
  • 1 compute node
  • 1 operator node

Kolla runs from the operator node to deploy OpenStack on the other nodes.

All nodes are connected with each other on the secondary nic, the primary nic is behind a NAT interface for connecting with the internet. A third nic is connected without IP configuration to a public bridge interface. This may be used for Neutron/Nova to connect to instances.

Start with downloading and installing the Vagrant package for your distro of choice. Various downloads can be found [here][]. After we will install the hostmanager plugin so all hosts are recorded in /etc/hosts (inside each vm):

vagrant plugin install vagrant-hostmanager

Vagrant supports a wide range of virtualization technologies, of which we will use VirtualBox for now.

Find some place in your homedir and checkout the Kolla repo

git clone https://github.com/stackforge/kolla.git ~/dev/kolla

You can now tweak the Vagrantfile or start a CentOS7-based cluster right away:

cd ~/dev/kolla/vagrant && vagrant up

The command vagrant up will build your cluster, vagrant status will give you a quick overview once done.

[here]: https://www.vagrantup.com/downloads.html

Vagrant Up ---------

Once vagrant has completed deploying all nodes, we can focus on launching Kolla. First, connect with the _operator node:

vagrant ssh operator

Once connected you can run a simple Ansible-style ping to verify if the cluster is operable:

ansible -i kolla/ansible/inventory/multinode all -m ping -e ansible_ssh_user=root

Congratulations, your cluster is usable and you can start deploying OpenStack using Ansible!

To speed things up, there is a local registry running on the operator. All nodes are configured so they can use this insecure repo to pull from, and they will use it as mirror. Ansible may use this registry to pull images from.

All nodes have a local folder shared between the group and the hypervisor, and a folder shared between _all nodes and the hypervisor. This mapping is lost after reboots, so make sure you use the command vagrant reload <node> when reboots are required. Having this shared folder you have a method to supply a different docker binary to the cluster. The shared folder is also used to store the docker-registry files, so they are save from destructive operations like vagrant destroy.

Further Reading

All Vagrant documentation can be found on their [website][].

[website]: http://docs.vagrantup.com