Inventory:
- SDN Controller - OpenDaylight
- Southbound Interface (SBI) - BGP
- Northbound Interface (NBI) - RESTCONF
- Infrastructure - Multi-Node OpenStack
- Application - Python and Flask
Multi-node OpenStack - Steps
- Installed Ubuntu 16.04 on 2 HP servers
- Downloaded the latest version of devstack from github. In the devstack configuration file (local.conf) on the server acting as OpenStack Control/Compute node, enabled services such as neutron, nova, glance, keystone, heat, cinder etc. Only nova service was enabled on the server acting as Compute node.
- Connected the OpenStack Control/Compute node (IPv4 address: 172.16.55.5/16) to the Compute node (IPv4 address: 172.16.44.4/16).
- Installed OpenStack on both the servers by stacking devstack.
BGP peering - Steps
- Created instances in OpenStack using our automation script. Associated floating IPs (in the range 172.24.4.0/24) to the instances and connected to the external network using a router.
- Installed the latest stable version of ODL on an HP server and connected the ODL server to the OpenStack controller (ODL IPv4 address: 29.0.0.2/24, OpenStack controller IPv4 address: 29.0.0.1/24).
- Configured static routes in the virtual router, the ODL server and the OpenStack instances in order to ensure reachability between ODL and the instances.
- Installed Quagga and configured BGP to form neighbor relationship between ODL and instances.
- Ensured successful BGP peering session establishment between ODL and the instances.
Running Steps:
- Run the finalProject.py program to start the Python Flask module.
- In a web browser, navigate to the OpenStack controller's IP address (172.16.55.5:8888).
- Once the page opens, it will display options to create a network/router and an instance depending upon the customer's requirement.
- Click on any of the given buttons on the homepage and fill the details to create a new network or a new instance.