
Register OpenDaylight as a network component, it will be available in environment creation wizard. Add task which will register DLUX dashboard inside Fuel Web UI. Move ODL credentials and jetty port number from puppet manifests to hiera. Signed-off-by: Michal Skalski <mskalski@mirantis.com> Change-Id: I6f347aec73435886d72d734fb7d0deecc065b618
OpenDaylight Plugin for Fuel
OpenDaylight plugin
Overview
This is a proof of concept of the plugin which will install OpenDaylight controller and set it as manager for OVS using ovsdb plugin.
- OpenDaylight controller is a SDN controller.
- OVSDB plugin implement the Open vSwitch Database management protocol.
Requirements
Requirement | Version/Comment |
---|---|
Mirantis OpenStack compatibility | 8.0 |
Limitations
- HA for ODL controller is not implemented yet.
Installation Guide
OpenDaylight plugin installation
-
Clone the fuel-plugin-opendaylight repo from github:
git clone https://github.com/openstack/fuel-plugin-opendaylight
-
Install the Fuel Plugin Builder:
pip install fuel-plugin-builder
-
Install the fpm gem:
gem install fpm
-
Build OpenDaylight Fuel plugin:
fpb --build fuel-plugin-opendaylight/
-
The opendaylight-[x.x.x].rpm plugin package will be created in the plugin folder.
-
Move this file to the Fuel Master node with secure copy (scp):
scp opendaylight-[x.x.x].rpm root@<the_Fuel_Master_node_IP address>:/tmp
-
While logged in Fuel Master install the OpenDaylight plugin:
fuel plugins --install opendaylight-[x.x.x].rpm
-
Check if the plugin was installed successfully:
fuel plugins id | name | version | package_version ---|--------------|---------|---------------- 1 | opendaylight | 0.5.2 | 2.0.0
-
Plugin is ready to use and can be enabled on the Settings tab of the Fuel web UI.
User Guide
OpenDaylight plugin configuration
- Create a new environment with the Fuel UI wizard.
- Click on the Settings tab of the Fuel web UI.
- Select "OpenDaylight plugin" section.
- Tick the checkbox and click "Save Settings" button.
- Assign role OPENDAYLIGHT to one of the node.
Build options
It is possible to modify process of building plugin by setting environment variables. Look into pre_build_hook file for more details.
Dependencies
OpenDaylight use Java Runtime Environment, required packages will be downloaded from ubuntu repositores. Ubuntu trusty provides openjdk-7, export USE_JAVA8=true environment variable during plugin compilation to fetch openjdk-8. JAVA8_URL variable points to the localization of openjdk-8 deb package, default value is defined in pre_build_hook file file and can be overwritten by environment variable.
Testing
OpenDaylight files are stored on node with 'OpenDaylight' role assigned inside /opt/opendaylight directory.
To log in to OpenDayligt shell run /opt/opendaylight/bin/client -u karaf
Known issues
- VM live migration not supported by ODL ovsdb
- ODL ignore MTU size from Neutron and create tap devices for VMs with MTU 1500. Things like Jumbo frames will not work on VMs side.
Development
The OpenStack Development Mailing List is the preferred way to communicate,
emails should be sent to openstack-dev@lists.openstack.org
with the subject
prefixed by [fuel][plugins][odl]
.
Reporting Bugs
Bugs should be filled on the Launchpad fuel-plugins project (not GitHub) with the tag odl
.
Contributing
If you would like to contribute to the development of this Fuel plugin you must follow the OpenStack development workflow.
Patch reviews take place on the OpenStack gerrit system.