Tuesday, February 16, 2016

DevStack - OpenStack Tacker


It has been nearly a year since my last post.  A lot of things have changed in the OpenStack realm, i.e. Kilo, Liberty and in the near future, Mitaka.  I have been very busy with OpenStack roll-out with Tier 1 Telco Operator and did not manage to find time to post new material for the past 11 months (I did try and answer questions posted on my blog though).  It has been a fun and rewarding experience working with, and learning from the OpenStack experts. Now that things are less hectic, I am starting to look at some of the new stuff.  It is really amazing how things have progressed over the past year with all the cool stuff.  One of the interesting OpenStack projects that I came across recently is Tacker and I am going to walk you through the installation steps in this post (note that the configurations are mainly derived from those provided in https://wiki.openstack.org/wiki/Tacker/Installation).

As described in the Wiki, Tacker is based on ETSI MANO Architectural Framework and provides full functional stack to Orchestrate Virtual Network Functions (VNFs) on an NFV Platform (End-to-End).

We will still make use of the steps from my earlier post to create the DevStack VM using VirtualBox

This time round we will use the Master Branch instead of Stable branch as we want to use the latest code for Tacker.  As seen in my earlier post, the IP address of the eth0 interface of my DevStack VM is 10.0.2.15.  This will be the value of the HOST_IP in our local.conf file.  I have also added the Murano Plugins as I have been working on it in recent days.  As always, you can make changes to your local.conf based on your needs and preference.

[[local|localrc]]
############################################################
# Customize the following HOST_IP based on your installation
############################################################
HOST_IP=10.0.2.15

ADMIN_PASSWORD=devstack
MYSQL_PASSWORD=devstack
RABBIT_PASSWORD=devstack
SERVICE_PASSWORD=$ADMIN_PASSWORD
SERVICE_TOKEN=devstack

############################################################
# Customize the following section based on your installation
############################################################

# Pip
PIP_USE_MIRRORS=False
USE_GET_PIP=1

#OFFLINE=False
#RECLONE=True

# Logging
LOGFILE=$DEST/logs/stack.sh.log
SCREEN_LOGDIR=$DEST/logs/screen
VERBOSE=True
ENABLE_DEBUG_LOG_LEVEL=True
ENABLE_VERBOSE_LOG_LEVEL=True

# Neutron ML2 with OpenVSwitch

Q_PLUGIN=ml2
Q_AGENT=openvswitch

#PUBLIC NETWORK CONFIGURATION
Q_USE_PROVIDERNET_FOR_PUBLIC=False
FLOATING_RANGE=192.168.56.0/24
Q_FLOATING_ALLOCATION_POOL="start=192.168.56.150,end=192.168.56.201"
PUBLIC_NETWORK_NAME=external
PUBLIC_NETWORK_GATEWAY=192.168.56.11
PUBLIC_PHYSICAL_NETWORK=public

# Required for l3-agent to connect to external-network-bridge
PUBLIC_BRIDGE=br-ext

#PRIVATE NETWORK CONFIGURATION

NETWORK_GATEWAY=${NETWORK_GATEWAY:-15.0.0.1}
FIXED_RANGE=${FIXED_RANGE:-15.0.0.0/24}

enable_plugin tacker https://git.openstack.org/openstack/tacker master

enable_plugin murano git://git.openstack.org/openstack/murano

enable_service n-novnc
enable_service n-cauth
disable_service tempest


Run the following command to start the deployment of devstack and the system should be up and running after some time (the script is located in the devstack folder): 

$ ./stack.sh 


Using the same steps from my earlier post, we will be able to access the Horizon Dashboard (on localhost port 2221) with the demo user (password is 'devstack' in this case)

You will see the "NFV Management" tab in the Horizon Dashboard



To prove that things are actually working, we can make use of one of the sample templates to create multiple VDU (Virtualization Deployment Unit) - VDU is a subset of a VNF and can be mapped to a single VM 

Save the content of the sample template as sample-vnfd-multi-vdu.yaml. After that, go to the "VNF Catalog" tab, click on the "Onboard VNF" button and select the yaml file from your local machine.



You will see a newly created catalog upon successful onboarding



Next, proceed to the "VNF Manager" Tab and click on the "Deploy VNF" button to deploy a new VNF with the Catalog



The VNF will become "Active" if everything goes well (note that this sample template creates 3 VMs - my laptop is quite powerful and has enough resources for that.  You can always reduce the number of VMs created by editing the yaml file)



You can see the 3 VMs if you log in as the admin user (same 'devstack' password, look under System -> Instances tab as shown below)


As mentioned in my earlier post, you can access the console of the VMs by doing port-forwarding on port 6080



Although this is just a simple example with Cirros image, we can see that Tacker can offer much more if we make use of its potential =)


Related Post

Click here if you want to understand more about the Tacker hands-on lab that my friend and I presented in the OpenStack Summit 2016 (Austin) 


2 comments:

Oil and Gas said...

Great blog.. I found most important information on OpenStack install step by step on this blog. It is very helpful for me.

zaleeakes said...

Pokies - Casino - Pokies Free - Prono & Seneca Casinos
Pokies, a new 파라오 슬롯 form 배당 토토 of free casino 벳 플릭스 games are on the way. In 2020, New Zealand introduced a 토토 사이트 홍보 게시판 bill allowing casinos to “promote and reward the player in 룰렛 돌리기 게임