Things are about to get real! Using OpenStack in containers or VMs is nice for kicking the tires, but doesn’t compare to the feeling you get with hardware.
You need to have a system with a fresh install of Linux. You can download the Minimal CD for Ubuntu releases since DevStack will download & install all the additional dependencies. The netinstall ISO is available for Fedora and CentOS/RHEL. You may be tempted to use a desktop distro on a laptop, it will probably work but you may need to tell Network Manager to keep its fingers off the interface(s) that OpenStack uses for bridging.
Determine the network configuration on the interface used to integrate your OpenStack cloud with your existing network. For example, if the IPs given out on your network by DHCP are 192.168.1.X - where X is between 100 and 200 you will be able to use IPs 201-254 for floating ips.
To make things easier later change your host to use a static IP instead of DHCP (i.e. 192.168.1.201).
We need to add a user to install DevStack. (if you created a user during install you can skip this step and just give the user sudo privileges below)
Since this user will be making many changes to your system, it will need to have sudo privileges:
apt-get install sudo -y || yum install -y sudo echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
From here on you should use the user you created. Logout and login as that user.
We’ll grab the latest version of DevStack via https:
sudo apt-get install git -y || yum install -y git git clone https://git.openstack.org/openstack-dev/devstack cd devstack
Now to configure stack.sh. DevStack includes a sample in devstack/samples/local.conf. Create local.conf as shown below to do the following:
local.conf should look something like this:
[[local|localrc]] FLOATING_RANGE=192.168.1.224/27 FIXED_RANGE=10.11.12.0/24 FIXED_NETWORK_SIZE=256 FLAT_INTERFACE=eth0 ADMIN_PASSWORD=supersecret MYSQL_PASSWORD=iheartdatabases RABBIT_PASSWORD=flopsymopsy SERVICE_PASSWORD=iheartksl SERVICE_TOKEN=xyzpdqlazydog
A seemingly endless stream of activity ensues. When complete you will see a summary of stack.sh‘s work, including the relevant URLs, accounts and passwords to poke at your shiny new OpenStack.
At this point you should be able to access the dashboard from other computers on the local network. In this example that would be http://192.168.1.201/ for the dashboard (aka Horizon). Launch VMs and if you give them floating IPs and security group access those VMs will be accessible from other machines on your network.
Some examples of using the OpenStack command-line clients nova and glance are in the shakedown scripts in devstack/exercises. exercise.sh will run all of those scripts and report on the results.