[[!toc levels=99]] ## Installing OpenStack via Vagrant on Fedora 17 using https://github.com/lorin/openstack-ansible The great thing about this repo is that it "just works" from Fedora 17 and quite possibly other platforms. You'll be creating VMs within VMs, but don't worry about that. At the end of `make all` you'll have the following systems: - **controller**: an Ubuntu box running the following OpenStack components - Nova: https://github.com/lorin/openstack-ansible/blob/master/playbooks/nova/controller.yaml - Glance: https://github.com/lorin/openstack-ansible/blob/master/playbooks/glance/setup.yaml - Keystone: https://github.com/lorin/openstack-ansible/blob/master/playbooks/keystone/setup.yaml - **compute1**: an Ubuntu box running the following OpenStack components - Nova: https://github.com/lorin/openstack-ansible/blob/master/playbooks/nova/compute-host.yaml - **instance-00000001**: a [CirrOS][] VM running on the **compute1** host [CirrOS]: https://launchpad.net/cirros ### Install dependencies (You'll need to install [Vagrant][] and its dependencies, of course.) [Vagrant]: http://vagrantup.com yum install ansible yum install python-nova (Fedora 17 ships with `python-nova-2012.1.3`) ### `vagrant up` via `make all` git clone https://github.com/lorin/openstack-ansible.git cd openstack-ansible make all ### Verify that a "cirros" VM was created source openrc nova list You should see output similar to this: +--------------------------------------+--------+--------+-----------------------+ | ID | Name | Status | Networks | +--------------------------------------+--------+--------+-----------------------+ | 8b10ed50-70a4-46a5-b69e-989cfe5b91a8 | cirros | ACTIVE | private=192.168.100.2 | +--------------------------------------+--------+--------+-----------------------+ ### Take a look at the two Openstack hosts that were created ("controller" and "compute1") cd vms vagrant status You should see output like this: Current VM states: controller running compute1 running To ssh to compute1 (from the "vms" directory) vagrant ssh compute1 Once you're ssh'd in, you can run a `virsh list`: vagrant@compute1:~$ virsh list Id Name State ---------------------------------- 1 instance-00000001 running Here's are the ethernet interfaces on the two Ubuntu hosts: **controller**: vagrant@controller:~$ ifconfig | grep 'inet addr' -B1 br100 Link encap:Ethernet HWaddr 08:00:27:3f:9f:60 inet addr:192.168.100.1 Bcast:192.168.100.255 Mask:255.255.255.0 -- eth0 Link encap:Ethernet HWaddr 08:00:27:88:0c:a6 inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 -- eth1 Link encap:Ethernet HWaddr 08:00:27:20:6a:3f inet addr:192.168.206.130 Bcast:192.168.206.255 Mask:255.255.255.0 -- lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 **compute1**: vagrant@compute1:~$ ifconfig | grep 'inet addr' -B1 br100 Link encap:Ethernet HWaddr 08:00:27:d2:d2:9e inet addr:192.168.100.131 Bcast:192.168.100.255 Mask:255.255.255.0 -- eth0 Link encap:Ethernet HWaddr 08:00:27:88:0c:a6 inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 -- eth1 Link encap:Ethernet HWaddr 08:00:27:d7:7d:cb inet addr:192.168.206.131 Bcast:192.168.206.255 Mask:255.255.255.0 -- lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 -- virbr0 Link encap:Ethernet HWaddr de:d5:4a:6b:e0:48 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 I tried using a CentOS base box but the network config didn't work... the VMs didn't get the IP addresses from the Vagrantfile. Here is the error: [controller] Configuring and enabling network interfaces... The following SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed! /sbin/ifup eth1 2> /dev/null Other users of CentOS base boxes report similar problems here: https://github.com/mitchellh/vagrant/issues/997 For some discussion of my situation: http://irclog.perlgeek.de/crimsonfu/2012-10-31#i_6116485