RETIRED, Fuel plugin for OpenDaylight integration
Go to file
Michal Skalski d7f301a1d8 Support for MOS 7.0
Plugin can now be used on Fuel 7.0. It will install and setup
OpenDaylight Lithium SR2 controller together with networking_odl driver.
User can now decided where ODL controller will be installed by assigning
role OPENDAYLIGHT to one of the nodes.
Experimental option of managing L3 traffic by ODL was added. It will
prepare necessary configuration on ODL and Neutron side and also disable
neutron l3 agent. This feature require further development and should be
only enabled by users who know what they are doing.

Change-Id: I99bb9434f0e2baec52748e20551681d63d2bf1ce
2015-11-09 12:50:40 +00:00
deployment_scripts Support for MOS 7.0 2015-11-09 12:50:40 +00:00
figures Fix MTU for vxlan segmentation 2015-10-01 13:07:01 +02:00
odl_package Support for MOS 7.0 2015-11-09 12:50:40 +00:00
repositories Import code from personal repo 2015-06-25 09:31:50 +02:00
.gitreview Easier way to define karaf features 2015-10-22 17:22:18 +02:00
CHANGELOG.md Support for MOS 7.0 2015-11-09 12:50:40 +00:00
LICENSE Import code from personal repo 2015-06-25 09:31:50 +02:00
README.md Support for MOS 7.0 2015-11-09 12:50:40 +00:00
deployment_tasks.yaml Support for MOS 7.0 2015-11-09 12:50:40 +00:00
environment_config.yaml Support for MOS 7.0 2015-11-09 12:50:40 +00:00
metadata.yaml Support for MOS 7.0 2015-11-09 12:50:40 +00:00
node_roles.yaml Support for MOS 7.0 2015-11-09 12:50:40 +00:00
pre_build_hook Support for MOS 7.0 2015-11-09 12:50:40 +00:00
volumes.yaml Support for MOS 7.0 2015-11-09 12:50:40 +00:00

README.md

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.

Requirements

Requirement Version/Comment
Mirantis OpenStack compatibility 7.0

Recommendations

None.

Limitations

  • Supports only environments with Neutron.
  • HA for ovsdb feature is not implemented yet.
  • L3 traffic managed by neutron agent.

Installation Guide

OpenDaylight plugin installation

  1. Clone the fuel-plugin-opendaylight repo from github:

     git clone https://github.com/openstack/fuel-plugin-opendaylight
    
  2. Install the Fuel Plugin Builder:

     pip install fuel-plugin-builder
    
  3. Install the fpm gem:

     gem install fpm
    
  4. Build OpenDaylight Fuel plugin:

     fpb --build fuel-plugin-opendaylight/
    
  5. The opendaylight-[x.x.x].rpm plugin package will be created in the plugin folder.

  6. 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
    
  7. While logged in Fuel Master install the OpenDaylight plugin:

     fuel plugins --install opendaylight-[x.x.x].rpm
    
  8. Check if the plugin was installed successfully:

     fuel plugins
    
     id | name         | version | package_version
     ---|--------------|---------|----------------
     1  | opendaylight | 0.5.2   | 2.0.0
    
  9. Plugin is ready to use and can be enabled on the Settings tab of the Fuel web UI.

User Guide

OpenDaylight plugin configuration

  1. Create a new environment with the Fuel UI wizard.
  2. Click on the Settings tab of the Fuel web UI.
  3. Select "OpenDaylight Lithium plugin" section.
  4. Tick the checkbox and click "Save Settings" button.
  5. 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 controller require Java Runtime Environment. If you plan to use plugin in environment without internet access or/and CentOS environment modify build command:

 INCLUDE_DEPENDENCIES=true fpb --build fuel-plugin-opendaylight/

Pre build script will try download required dependencies so it become part of the compiled plugin.

Note: List of packages for ubuntu and centos may need to be modified if packages in centos or ubuntu repositories will change.

Testing

Use the same IP address as for OpenStack Horizon panel and port 8181 to reach dlux web ui and apidoc explorer:

OpenDaylight files are stored on primary controller inside /opt/opendaylight directory.

To log in to OpenDayligt shell run /opt/opendaylight/bin/client

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.

Contributors