Spec for adding OpenDaylight support in kuryr-k8s
Partially Implements blueprint kuryr-k8s-odl-integration Change-Id: I27309b2fbd45874e8b6fa0d81851c5007ddc88c2
This commit is contained in:
parent
b29c54c0f5
commit
c0f0277da6
|
@ -33,6 +33,7 @@ Design Specs
|
|||
specs/pike/contrail_support
|
||||
specs/pike/fuxi_kubernetes
|
||||
specs/pike/sriov
|
||||
specs/pike/odl_support
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
|
|
@ -0,0 +1,101 @@
|
|||
=========================================
|
||||
Kuryr Kubernetes OpenDayLight Integration
|
||||
=========================================
|
||||
|
||||
https://blueprints.launchpad.net/kuryr-kubernetes/+spec/kuryr-k8s-odl-integration
|
||||
|
||||
This spec proposes how to integrate OpenDaylight with Kuryr-Kubernetes.
|
||||
OpenDaylight is a highly available, modular, extensible, scalable and
|
||||
multi-protocol controller infrastructure built for SDN deployments on modern
|
||||
heterogeneous multi-vendor networks.
|
||||
|
||||
OpenStack can use OpenDaylight as its network management provider through the
|
||||
Modular Layer 2 (ML2) north-bound plug-in. OpenDaylight manages the network
|
||||
flows for the OpenStack compute nodes via the OVSDB south-bound plug-in.
|
||||
|
||||
Integrating these will allow Kuryr to be used to bridge (both baremetal and
|
||||
nested) containers and VM networking in a OpenDaylight-based OpenStack
|
||||
deployment.
|
||||
|
||||
Problem Description
|
||||
===================
|
||||
|
||||
There is no explicit support for OpenDaylight at Kuryr-Kubernetes, as well as
|
||||
there are no CI jobs being executed to ensure future Kuryr-Kubernetes features
|
||||
will not break current support.
|
||||
|
||||
The goal of this blueprint is two fold:
|
||||
|
||||
1. Provide Kuryr with the correct driver so that a Kubernetes-hosted container
|
||||
can use Kuryr-Kubernetes to correctly interface with an OpenDaylight-based
|
||||
network. In this configuration, OpenDaylight take place of the ML2/OVS
|
||||
L2/L3 functionality, etc. that normally comes with using Neutron as the
|
||||
default implementation.
|
||||
|
||||
2. Create a CI gate to ensure OpenDaylight support upon new commits.
|
||||
|
||||
|
||||
Use Cases
|
||||
---------
|
||||
|
||||
Kuryr will act as the container networking interface for OpenDaylight. This
|
||||
work will cover the Kubernetes-hosted container interaction with VMs in an
|
||||
OpenStack virtual network. This means we have to have a way to plug, unplug
|
||||
and bridge the containers into the OpenDaylight-based Neutron networks.
|
||||
|
||||
Use Case 1: Enable container-based workloads to communicate with OpenStack
|
||||
hosted VM workloads in OpenDaylight SDN environments, both side by side and
|
||||
nested deployments (i.e., containers inside OpenStack VMs).
|
||||
|
||||
Use Case 2: Allow Kubernetes workloads to leverage advanced OpenDaylight based
|
||||
networking
|
||||
|
||||
Use Case 3: Enable Kuberentes to create virtual networks with OpenDaylight
|
||||
via neutron/networking-odl.
|
||||
|
||||
|
||||
Proposed Change
|
||||
===============
|
||||
|
||||
There are no expected changes at the Kuryr cni or controller drivers.
|
||||
However there may be other changes to ensure nested support. The first one is
|
||||
related to the trunk ports support at ODL that has been fixed in [0].
|
||||
The second one is related to networking-odl and the subport status updates.
|
||||
Subport status does not transition to ACTIVE and Kuryr cni waits for this
|
||||
annotation made by the drivers to start the containers.
|
||||
|
||||
The other gap to cover is related to create a gate so that ODL support is
|
||||
continuosly checked upon new commits.
|
||||
|
||||
Community Impact
|
||||
----------------
|
||||
|
||||
This spec invites the community to collaborate on a unified solution to support
|
||||
OpenDaylight integration within Kuryr-Kubernetes, as well as setting up the
|
||||
basics CI gate that will help to maintain the support, as well as to increase
|
||||
the test coverage.
|
||||
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Luis Tomás
|
||||
Daniel Mellado
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
* Check correct support from current driver.
|
||||
* Implement odl kuryr drivers for baremetal, nested and pool -- if needed.
|
||||
* Ensure proper trunk ports support from ODL side -- also including
|
||||
networking-odl.
|
||||
* Add gate to install OpenDaylight components
|
||||
* Generate installation and configuration documentation
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
[0] https://bugs.opendaylight.org/show_bug.cgi?id=8880
|
Loading…
Reference in New Issue