The following instructions assume you have a running Linux virtual machine that can support the installation of devstack to demonstrate a simple working OpenStack cloud.
For more information about the preparation needed for this step, see these pre-requisite instructions:
- Installing VirtualBox
- Setting up an Ubuntu virtual machine using VirtualBox or Setting up Ubuntu using vagrant
Pre-requisites
You will need to login to your Linux virtual machine as a normal user (e.g. stack if you followed these instructions).
To verify the IP address of your machine you can run:
$ ifconfig eth1
NOTE: This assumes you configured a second network adapter as detailed.
You need to determine the IP address assigned. If this is your first-time using VirtualBox and this was configured with default settings, the value will be 192.168.56.101
eth1 Link encap:Ethernet HWaddr 08:00:27:db:42:6e inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fedb:426e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:398500 errors:0 dropped:0 overruns:0 frame:0 TX packets:282829 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:35975184 (35.9 MB) TX bytes:59304714 (59.3 MB)
Verify that you have applicable sudo privileges.
$ sudo id
If you are prompted for a password, then your privileges are not configured correctly. See here.
Download devstack
After connecting to the virtual machine the following commands will download the devstack source code:
$ sudo apt-get install -y git-core # NOTE: You will not be prompted for a password # This is important for the following installation steps $ git clone https://git.openstack.org/openstack-dev/devstack
Configure devstack
The following will create an example configuration file suitable for a default devstack installation.
$ cd devstack # Use the sample default configuration file $ cp samples/local.conf . $ HOST_IP="192.168.56.101" $ echo "HOST_IP=${HOST_IP}" >> local.conf
NOTE: If your machine has different IP address you should specify this alternative value.
Install devstack
$ ./stack.sh
Depending on your physical hardware and network connection, this takes approximately 20 minutes.
When completed you will see the following:
... This is your host IP address: 192.168.56.101 This is your host IPv6 address: ::1 Horizon is now available at http://192.168.56.101/dashboard Keystone is serving at http://192.168.56.101:5000/ The default users are: admin and demo The password: nomoresecrete While the installation of devstack is happening, you should read Configuration section, and look at the devstack/samples/local.conf sample configuration file being used.
Accessing devstack
You now have a running OpenStack cloud. There are two easy ways to access the running services to verify.
- Connect the Horizon dashboard in your browser with the URL (e.g. http://192.168.56.101/), and use the user and password described (e.g. admin and nomoresecrete).
- Use the OpenStack client that is installed with devstack, for example:
$ source accrc/admin/admin $ openstack image list
See Using your devstack cloud for more information about analyzing your running cloud, restarting services, configuration files and how to demonstrate a code change.
Other devstack commands
There are some useful commands to know about with your devstack setup.
If you restart your virtual machine, you reconnect to devstack by re-running the installation (there is no longer a rejoin-stack.sh):
$ ./stack.sh
To shutdown a running devstack.
$ ./unstack.sh
To cleanup your VM of devstack installed software.
$ ./clean.sh
Amrith Kumar says
One of the problems with running devstack in a VirtualBox is I have not managed to get the VirtualBox hypervisor to support VT-x or AMD-V.
So consider the situation where you run VirtualBox with devstack in it, and attempt to launch a Nova instance. That Nova instance would be a VM in your VirtualBox.
Unless you can get VT-x or AMD-V inside your VirtualBox, the performance of the Nova VM will be quite bad.
So, if your VirtualBox is running Ubuntu, what does the kvm-ok command say?
For launching things like Trove therefore, a VirtualBox based environment has proved to be less than ideal and therefore I’m stuck to using VMWare. If you’ve figured a way around that, please do share.
ronald says
You raise a valid point Amrith regarding hypervisors within an already virtualized environment.
Personally I run devstack on dedicated hardware, and I use devstack in within a VM more to demonstrate logging and configuration on services, or to test Oslo libraries.
I will add this to my list as I experiment more with using devstack more actively.
VirtualBox VM
Physical H/W with KVM enabled.
Physical H/W without KVM.