Opnfv.org has released their debut version “Arno”, 3 months ago. This release includes automated deployment tools, such as Fuel, to allow deployment of an Openstack environment virtually, or on bare metal servers. With the provided jump-start server, and a gui based wizard, you can get yourself a running Openstack controller and compute nodes, in less than 2 hours. Openfv.org has a lot of ongoing activities, of-course this is not their main intention, but this deliverable is open for the community to work with it, especially anyone who want to be compliant to Opnfv.org definitions and use cases.
I will create, a simple environment with a controller and one general compute node. It will be used to deploy a test VNF. For this minimum environment, we’ll need 3 nodes:
- Fuel jump-start server
- Openstack controller
- Compute node
I’m using one physical computer, and will create these 3 virtual machines. In addition, i will create 2 internal networks: one for the PXE communication of the Fuel server to the additional nodes, and the other network will be used for management.
Further details can be found in this opnfv.org guide,
Host machine configuration
As mentioned before, I’ll need 2 internal networks: connecting the host to the internal PXE and management networks. I have created 2 virtual interfaces for that, one on subnet 10.20.0.1/16 and one on 22.214.171.124/24. I was using a windows based host, using vmplayer, but any other os/virtual machine manager will be fine.
Fuel server installation
First step is to download arno fuel iso, version 2015.1.0. After successful download, mount the iso to a virtual machine (at least 30gb disk space), and start it.
Follow the installer (about 20min), it will install Centos and run the post installation scripts, until it boots and presents a login screen:
Now, open a browser on your host, url http://10.20.0.2:8000, and you should see the fuel login screen.
Login with admin/admin. and you will soon start creating your Openstack environment.
Installing the controller node
In this stage, we need to create a new virtual machine, again with 2 interfaces configured similar to the fuel host. Also, prepare at least 40gb disk, and 4gb ram for this machine. This time don’t give the virtual machine any image, just reboot it into PXE boot. The Fuel server act as PXE server, gives that node an IP address and should boot it with preliminary image. Once this occur, you should see in the Fuel server, that it detects a new install-able node. In the upper right corner, you should see “1 un-allocated node”.
The second stage is to decide what role we want this node to assign to. Select “new Openstack environment” to start creating an Openstack environment, and select this new discovered node.
If you are installing this node over a virtual machine, don’t forget to select Qemu hypervisor. Select the role for this node as Controller (and storage if you need), click apply and move to networks tab. Change the remaining configuration as your wish.
Next, go to the Fuel server console, login with root/r00tme, go to /opt/opnfv. Run “run-deploy.sh 1”. This script will ask for DNS and NTP server addresses. Insert them as your wish and wait for it to complete.
Go back to the Fuel dashboard, and hit on “Deploy changes” the installation of the controller node will begin. First it will install the OS, and afterwards run the puppet agent to install and configure the Openstack services.
Finally, after the controller will reboot, you can now login from the host, into the horizon dashboard (http://10.20.0.5). You can login with admin/admin.
Installing the compute node
Similar to described before, create a new virtual machine. Allocate at least 2 vcpus for it (1 for hypervisor, other one to run VNFs on). Again, boot into PXE, and wait for the Fuel server to load it, and detect it as an un-allocated node. Open your environment in the Fuel dashboard, and assign a role to it. Time select compute.
Similar to the controller node, go to the Fuel server console, login with root/r00tme, go to /opt/opnfv. Run “run-deploy.sh 1” and wait for it to complete.
Go back to the Fuel dashboard, complete the settings, and wait for the installation of the node to be complete. The machine will reboot, and soon you will have a compute node ready for deployment of VNFs.
Now, you can close the virtual machine running fuel, as we don’t need it anymore (you will only need it whenever you will want, to modify your environment). You can enter the horizon dashboard, and select the Cirros image to deploy it over our new compute node. Check that the management network is accessible (172.160.x.x), select the instance in the horizon, and you should see it’s console.
The developers of opnfv.org did a great work on automating Openstack environment deployement. I demonstrated how easy it is, to deploy over a regular windows laptop, a fully functional Openstack Juno version, without opening a single configuration file or modify any script. This setup can be used for various development tasks, testing and proof of concepts purposes, especially for opnfv.org use cases.