NeutronNorthbound: Beryllium Release Plan

Release Deliverables

NameDescription
org.opendaylight.neutron.neutron-spiInternal bundle implementing neutron data objects
org.opendaylight.neutron.transcriberInternal bundle implementing copying data from northbound to subscribers
org.opendaylight.neutron.northbound-apiBundle implementing Northbound API
org.opendaylight.neutron.modelBundle holding the Neutron yang models

Release Milestones

  • Offset: 1
MilestoneOffset X DateDeliverables
M17/30/2015
NameStatus
Intent to participateDone
Project Lead electedDone
Test Contact specifiedDone
Documentation Contact specifiedDone
Candidate Release PlanDone
M28/27/2015
NameStatus
Completed Release PlanDone
Additional Resource RequestDone
Project ChecklistDone
System Test WaiverDone
Use OpenDaylight CI for system testN/A
Acknowledgement by upstream projectsN/A
M310/10/2015
NameStatus
Functionality FreezeDone
Karaf Features DefinedDone
List of Planned DocumentationIncomplete (patch review under https://git.opendaylight.org/gerrit/#/c/32109/)
Integration and TestN/A
M411/12/2015
NameStatus
API FreezeDone
Documentation word countIncomplete (patch review under https://git.opendaylight.org/gerrit/#/c/32109/)
Maven Central RequirementsDone
Integration TestN/A
M512/17/2015
NameStatusDescription
Code FreezeDone
Stability Branch
Stability branch, must be cut and local project versions bumped on master to avoid overwriting SNAPSHOTS
String FreezeDoneAll externally visible strings frozen to allow for translation & documentation
Documentation CompleteIncomplete (patch review under https://git.opendaylight.org/gerrit/#/c/32109/)Only editing and and enhancing should take place after this point.
Feature Test CompleteIncomplete (northbound-api test coverage is 46.8%. 75%+ is required for stable API)Stable features should fulfill quality requirements listed in definitions section
RC01/21/2016
NameStatus
RC11/28/2016
NameStatus
RC22/4/2016
NameStatus
RC32/11/2016
NameStatusDescription
Bugfix & more
Bugfixing, samples
Release Review
Release Review
Blocking Bugs

Formal Release2/11/2016
NameStatus
SR1 Release3/17/2016
NameStatusDescription
Release patch
Release patch to the stable branch and bump versions
SR2 Release4/28/2016
NameStatusDescription
Release patch
Release patch to the stable branch and bump versions
SR3 Release7/28/2016
NameStatusDescription
Release patch
Release patch to the stable branch and bump versions
SR4 Release10/20/2016
NameStatusDescription
Release patch
Release patch to the stable branch and bump versions

Externally Consumable APIs

Short NameDescriptionType (at M2)Type (at M3)Type (release)ContractSupporting Code
NorthboundInterface to OpenStack networking-odl agentStableStableStableOpenstack Networking Ref v2 Openstack Networking API v2.0 extensionsorg.opendaylight.neutron.northbound-api
INeutronFirewallAware InterfaceLegacy SB interface for Firewall CRUD operationsDeprecatedDeprecatedDeprecatedINeutronFirewallAware.javaorg.opendaylight.neutron.neutron-spi
INeutronFirewallPolicyAware InterfaceLegacy SB interface for Firewall Policy CRUD operationsDeprecatedDeprecatedDeprecatedINeutronFirewallPolicyAware.javaorg.opendaylight.neutron.neutron-spi
INeutronFirewallRuleAware InterfaceLegacy SB interface for Firewall Rule CRUD operationsDeprecatedDeprecatedDeprecatedINeutronFirewallRuleAware.javaorg.opendaylight.neutron.neutron-spi
INeutronFloatingIPAware InterfaceLegacy SB interface for Floating IP CRUD operationsDeprecatedDeprecatedDeprecatedINeutronFloatingIPAware.javaorg.opendaylight.neutron.neutron-spi
INeutronLoadBalancerAware InterfaceLegacy SB interface for Load Balancer CRUD operationsDeprecatedDeprecatedDeprecatedINeutronLoadBalancerAware.javaorg.opendaylight.neutron.neutron-spi
INeutronLoadBalancerHealthMonitorAware InterfaceLegacy SB interface for Load Balancer Health Monitor CRUD operationsDeprecatedDeprecatedDeprecatedINeutronLoadBalancerHealthMonitorAware.javaorg.opendaylight.neutron.neutron-spi
INeutronLoadBalancerListenerAware InterfaceLegacy SB interface for Load Balancer Listener CRUD operationsDeprecatedDeprecatedDeprecatedINeutronLoadBalancerListenerAware.javaorg.opendaylight.neutron.neutron-spi
INeutronLoadBalancerPoolAware InterfaceLegacy SB interface for Load Balancer Pool CRUD operationsDeprecatedDeprecatedDeprecatedINeutronLoadBalancerPoolAware.javaorg.opendaylight.neutron.neutron-spi
INeutronLoadBalancerPoolMemberAware InterfaceLegacy SB interface for Load Balancer Pool Member CRUD operationsDeprecatedDeprecatedDeprecatedINeutronLoadBalancerPoolMemberAware.javaorg.opendaylight.neutron.neutron-spi
INeutronMeteringLabelAware InterfaceLegacy SB interface for Metering Label CRUD operationsDeprecatedDeprecatedDeprecatedINeutronMeteringLabelAware.javaorg.opendaylight.neutron.neutron-spi
INeutronMeteringLabelRuleAware InterfaceLegacy SB interface for Metering Label Rule CRUD operationsDeprecatedDeprecatedDeprecatedINeutronMeteringLabelRuleAware.javaorg.opendaylight.neutron.neutron-spi
INeutronNetworkAware InterfaceLegacy SB interface for Network CRUD operationsDeprecatedDeprecatedDeprecatedINeutronNetworkAware.javaorg.opendaylight.neutron.neutron-spi
INeutronPortAware InterfaceLegacy SB interface for Port CRUD operationsDeprecatedDeprecatedDeprecatedINeutronPortAware.javaorg.opendaylight.neutron.neutron-spi
INeutronRouterAware InterfaceLegacy SB interface for Router CRUD operationsDeprecatedDeprecatedDeprecatedINeutronRouterAware.javaorg.opendaylight.neutron.neutron-spi
INeutronSecurityGroupAware InterfaceLegacy SB interface for Security Group CRUD operationsDeprecatedDeprecatedDeprecatedINeutronSecurityGroupAware.javaorg.opendaylight.neutron.neutron-spi
INeutronSecurityRuleAware InterfaceLegacy SB interface for Security Rule CRUD operationsDeprecatedDeprecatedDeprecatedINeutronSecurityRuleAware.javaorg.opendaylight.neutron.neutron-spi
INeutronSubnetAware InterfaceLegacy SB interface for Subnet CRUD operationsDeprecatedDeprecatedDeprecatedINeutronSubnetAware.javaorg.opendaylight.neutron.neutron-spi
INeutronVPNIKEPolicyAware InterfaceLegacy SB interface for VPN IKE Policy CRUD operationsDeprecatedDeprecatedDeprecatedINeutronVPNIKEPolicyAware.javaorg.opendaylight.neutron.neutron-spi
INeutronVPNIPSECPolicyAware InterfaceLegacy SB interface for VPN IPSEC Policy CRUD operationsDeprecatedDeprecatedDeprecatedINeutronVPNIPSECPolicyAware.javaorg.opendaylight.neutron.neutron-spi
INeutronVPNIPSECSiteConnectionAware InterfaceLegacy SB interface for VPN IPSEC Site Connection CRUD operationsDeprecatedDeprecatedDeprecatedINeutronVPNIPSECSiteConnectionAware.javaorg.opendaylight.neutron.neutron-spi
INeutronVPNServiceAware InterfaceLegacy SB interface for VPN Service CRUD operationsDeprecatedDeprecatedDeprecatedINeutronVPNServiceAware.javaorg.opendaylight.neutron.neutron-spi
MD-SAL Networks ModelYANG model for Neutron NetworksProvisionalProvisionalProvisionalneutron-networks.yangorg.opendaylight.neutron.model
MD-SAL Subnet ModelYANG model for Neutron SubnetsProvisionalProvisionalProvisionalneutron-subnets.yangorg.opendaylight.neutron.model
MD-SAL Ports ModelYANG model for Neutron PortsProvisionalProvisionalProvisionalneutron-ports.yangorg.opendaylight.neutron.model
MD-SAL L3 ModelYANG model for Neutron Routers and Floating IPsProvisionalProvisionalProvisionalneutron-l3.yangorg.opendaylight.neutron.model
MD-SAL FWaaS ModelYANG model for Neutron Firewalls, Firewall Policies, Firewall RulesProvisionalProvisionalProvisionalneutron-fwaas.yangorg.opendaylight.neutron.model
MD-SAL LBaaS ModelYANG model for Neutron Load Balancer, Load Balancer Health Monitor, Load Balancer Listener, Load Balancer Pool, and Load Balancer Pool MemberProvisionalProvisionalProvisionalneutron-lbaas.yangorg.opendaylight.neutron.model
MD-SAL Metering ModelYANG model for Neutron Metering Label and Metering Label RuleProvisionalProvisionalProvisionalneutron-metering.yangorg.opendaylight.neutron.model
MD-SAL Security Group/Rule ModelYANG model for Neutron Security Group and Security RuleProvisionalProvisionalProvisionalneutron-secgroups.yangorg.opendaylight.neutron.model
MD-SAL VPNaaS ModelYANG model for Neutron VPN IKE Policy, VPN IPSEC Policy, VPN IPSEC Site Connection, VPN ServiceProvisionalProvisionalProvisionalneutron-vpnaas.yangorg.opendaylight.neutron.model
MD-SAL L2-gateway ModelYANG model for Neutron L2 Gateway, L2 Gateway ConnectionProvisionalProvisionalProvisionalneutron-l2gateways.yangorg.opendaylight.neutron.model
MD-SAL BGPVPN ModelYANG model for Neutron BGPVPNProvisionalProvisionalProvisionalneutron-bgpvpn.yangorg.opendaylight.neutron.model

TO DO: add new models/interfaces after 7/24 meeting Done for M5

Expected Dependencies on Other Projects

Providing ProjectDeliverable NameNeeded ByAcknowledged?Description
org.opendaylight.odlparent.odlparentodlparentM1No
(as link to Other Project Release Plan)
Legacy dependency
org.opendaylight.yangtools.yang-binding,yangtoolsM1No
(as link to Other Project Release Plan)
Legacy dependency
org.opendaylight.yangtools.yang-commonyangtoolsM1No
(as link to Other Project Release Plan)
Legacy dependency
org.opendaylight.yangtools.model.ietf-inet-typesyangtoolsM1No
(as link to Other Project Release Plan)
Legacy dependency
org.opendaylight.yangtools.model.ietf-yang-typesyangtoolsM1No
(as link to Other Project Release Plan)
Legacy dependency
org.opendaylight.yangtools.model.yang-extyangtoolsM1No
(as link to Other Project Release Plan)
Legacy dependency
odl-mdsal-brokermdsalM1No
(as link to Other Project Release Plan)
Legacy dependency in transcriber

Expected Incompatibilities with Other Projects

None

Compatibility with Previous Releases

Removed APIs and/or Functionality

None

Deprecated APIs and/or Functionality

  1. Legacy I*Aware interfaces
    • Downstream projects using these intefaces should use the appropriate MD-SAL model listed above.
  2. deprecated CRUD Interfaces (Downstream projects should replicate the functionality locally)
    • subnetInUse from INeutronSubnetCRUD
    • macInUse and getGatewayPort from INeutronPortCRUD
    • more to add as we go
  3. deprecated POJO methods (Downstream projects should be using MD-SAL generated objects)
    • getPortsInSubnet from NeutronSubnet
    • more to add as we go

Changed APIs and/or Functionality

  • Yang Models - As part of the transition from I*Aware to MD-SAL the yang models are being corrected
    • No action should be necessary.

Themes and Priorities

  • Finish adding test cases and cleaning up integration with OpenStack
  • Add support for following neutron extensions:
    • networking-l2gw
    • networking-bgpvpn
  • Improve clustering and HA support

Requests from Other Projects

Acknowledging downstream dependencies from

  • VTN,
  • OVSDB,
  • LispFlowMapping,
  • BGPVPN [no JJB link], and
  • GBP [no JJB link].

Except where noted above, links to integration jobs for these projects can be found in the NN Be merge job. Folks performing merges need to check that these integration jobs don't suddenly break.

Test Tools Requirements

  • NN will be requesting a System Test exemption
  • NN system test cases are already included in the integration/test project tests that run as part of all jenkins jobs.

Top-level or User-facing Karaf Features

  • odl-neutron-service (Top Level, User Facing)
    • This feature provides the complete neutron northbound service
  • odl-neutron-dummyprovider-test (Top Level)
    • This feature is to be used in cases where Neutron Northbound's dummyprovider is needed for testing or I*Aware support

Planned Documentation

  • User/Operator Guide for odl-neutron-service feature
  • Developer Guides for old-neutron-service and odl-neutron-dummyprovider-test features