This repository contains script that will deploy OpenStack into Vagrant virtual machines. These scripts are based on the Official OpenStack Docmentation, havana release, except where otherwise noted..
See also Vagrant, Ansible and OpenStack on your laptop on SlideShare.
You'll need to install:
The simplest way to get started with Ansible is to install the prerequisites, grab the git repo and source the appropriate file to set your environment variables, no other installation is required:
sudo pip install paramiko PyYAML Jinja2 netaddr git clone git://github.com/ansible/ansible.git cd ./ansible source ./hacking/env-setup
Download a 64-bit Ubuntu Vagrant box:
vagrant box add precise64 http://files.vagrantup.com/precise64.box
This repository uses a submodule that contains some custom Ansible modules for OpenStack, so there's an extra command required after cloning the repo:
git clone http://github.com/openstack-ansible/openstack-ansible.git cd openstack-ansible git submodule update --init
This will boot three VMs (controller, network, storage, and a compute node), install OpenStack, and attempt to boot a test VM inside of OpenStack.
If everything works, you should be able to ssh to the instance from any of your vagrant hosts:
Note: You may get a "connection refused" when attempting to ssh to the instance. It can take several minutes for the ssh server to respond to requests, even though the cirros instance has booted and is pingable.
The hosts for the standard configuration are:
- 10.1.0.2 (our cloud controller)
- 10.1.0.3 (compute node #1)
- 10.1.0.4 (the quantum network host)
- 10.1.0.5 (the swift storage host)
You should be able to ssh to these VMs (username:
vagrant). You can also authenticate with the vagrant private key, which is
included here as the file
vagrant_private_key (NOTE: git does not manage file
permissions, these must be set to using "chmod 0600 vagrant_private_key" or ssh
and ansible will fail with an error).
You can interact with your cloud directly from your desktop, assuming that you have the python-novaclient installed.
Note that the openrc file will be created on the controller by default.