OpenDaylight Fluorine Upgrade Notes

The following changes in the OpenDaylight Fluorine release require application code changes:

  1. The config subsystem, which was deprecated in Oxygen, has been removed in Fluorine.  Any components that have not already migrated to Aries Blueprint will need to do so in order to run on Fluorine.

    1. The following dependency no longer exists and should be removed:
       <dependency>
          <groupId>org.opendaylight.controller</groupId>
          <artifactId>sal-binding-config</artifactId>
      </dependency> 

    2. If you have a provider yang directory (e.g. provider/src/main/yang), it needs to be removed.


  2. The DataChangeListener interface, which was deprecated in Oxygen, has been removed in Fluorine.  Any code using DataChangeListener must be rewritten to use DataTreeChangeListener interface instead.
     

  3. The controller EntityOwnershipService interface, deprecated in Oxygen, has been removed in Fluorine.  Any code using the controller EntityOwnershipService interface must migrate to the mdsal EntityOwnershipService instead.
     

  4. The controller liblldp module has been moved to the openflowplugin project.


  5. The  2010-09-24 revision of the ietf-inet-types Yang model is no longer provided in Fluorine.  Also, the dependency for ietf-net-types has changed.  This requires the following code changes:

    1. Yang models that import ietf-inet-types revision 2010-09-24 should replace the revision with 2013-07-15

    2. In imports, package name 
          org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924
      must be rewritten to:
          org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715

    3. The dependency to include this model should be:

      <dependency>
          <groupId>org.opendaylight.mdsal.model</groupId>
          <artifactId>ietf-inet-types-2013-07-15</artifactId>
      </dependency>

       

    4. The IpAddress and IpPrefix interfaces no longer have a getValue() method.  The stringValue() method must be used instead to return the value as a String.  
       

  6. The dependency for the ietf-yang-types yang classes has changed.  The new dependency to include this model is:
                <dependency>
                    <groupId>org.opendaylight.mdsal.model</groupId>
                    <artifactId>ietf-yang-types-20130715</artifactId>
                </dependency> 
     

  7. RPCs no longer Future<> (from java.util.concurrent), but instead return ListenableFuture<> (from com.google.common.util.concurrent).
     

  8. The name of the method used to retrieve the value of a key from a Yang-generated data object representing a list changed from "getKey()" to "key()".

  9. Any code using osgi objects, such as BundleContext, must explicitly declare the following dependency:

                <dependency>
                    <groupId>org.osgi</groupId>
                    <artifactId>org.osgi.core</artifactId>
                   <scope>provided</scope>
                </dependency>