Prerequsite
Please prepare four VMs or host machines with the following specification
No | usage | CPU | Memory | Disk |
---|---|---|---|---|
1 | Openstack Controller & Network Node | 4 Core | 8 GB | 100GB |
2 | ONOS Controller | 2 Core | 4 GB | 100GB |
3 | Compute Node | 1 Core | 2 GB | 100GB |
4 | Compute Node | 1 Core | 2 GB | 100GB |
Set up Openstack environment
Install devstack on the Openstack Controller node
$ git clone git://github.com/openstack-dev/devstack.git
Creates local.conf file using the following options
[[local|localrc]] HOST_IP=1.1.1.1 SERVICE_HOST=1.1.1.1 RABBIT_HOST=1.1.1.1 DATABASE_HOST=1.1.1.1 Q_HOST=1.1.1.1 ADMIN_PASSWORD=nova DATABASE_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD SERVICE_TOKEN=$ADMIN_PASSWORD DATABASE_TYPE=mysql # Log SCREEN_LOGDIR=/opt/stack/logs/screen # Images IMAGE_URLS="http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img,http://jaist.dl.sourceforge.net/project/gns-3/Qemu%20Appliances/linux-tinycore-3.4.img" NOVA_VNC_ENABLED=true VNCSERVER_PROXYCLIENT_ADDRESS=$HOST_IP VNCSERVER_LISTEN=$HOST_IP NEUTRON_CREATE_INITIAL_NETWORKS=False Q_ML2_PLUGIN_MECHANISM_DRIVERS=onos_ml2 Q_PLUGIN_EXTRA_CONF_PATH=/opt/stack/networking-onos/etc Q_PLUGIN_EXTRA_CONF_FILES=(conf_onos.ini) # Services enable_service q-svc enable_service q-agt enable_service q-l3 disable_service n-net disable_service n-cpu disable_service tempest disable_service c-sch disable_service c-api disable_service c-vol
The IP address 1.1.1.1 needs to be changed to your host IP address for Openstack controller. Here control node and network nodes are the same.
You can choose a different admin password if you wantInstall onos ml2 plugin
$ git clone https://github.com/openstack/networking-onos.git $ cd networking-onos ~/networking-onos$ sudo python setup.py install
If you find the following error, please install python-setuptools using apt-get.
Traceback (most recent call last): File "setup.py", line 17, in <module> import setuptools ImportError: No module named setuptools
$ sudo apt-get install python-setuptools
Configure the onos ml2 plugin by editing the conf_onos.ini file in networking-onos/etc folder, which is just created
#Configuration options for ONOS driver [onos] # (StrOpt) ONOS ReST interface URL. This is a mandatory field. url_path = http://ONOS_HOST_IP:8181/onos/openstackswitching # (StrOpt) Username for authentication. This is a mandatory field. username = onos # (StrOpt) Password for authentication. This is a mandatory field. password = rocks
You need to set the proper IP address for ONOS controller in ONOS_HOST_IP
Set up devstack
~/devstack$ ./stack.sh