Переглянути джерело

Add docs on how to deploy OpenStack with OpenDaylight

Added design description and detailed instructions on how to deploy
OpenStack with OpenDaylight SDN for networking using Fuel CCP.

Depends-On: I0125075440d788437672b1980473e8a5ecffd29e
Change-Id: I9103f79d27d4018e23a75a9c757f6014a1af8ad9
changes/96/404196/6
Oleg Bondarev 3 роки тому
джерело
коміт
41a45e5a9d
3 змінених файлів з 186 додано та 0 видалено
  1. +1
    -0
      doc/source/index.rst
  2. +141
    -0
      doc/source/using_odl_instead_of_ovs.rst
  3. +44
    -0
      etc/topology-opendaylight-example.yaml

+ 1
- 0
doc/source/index.rst Переглянути файл

@@ -30,6 +30,7 @@ Advanced topics
ceph
ceph_cluster
using_calico_instead_of_ovs
using_odl_instead_of_ovs
ironic
known_issues


+ 141
- 0
doc/source/using_odl_instead_of_ovs.rst Переглянути файл

@@ -0,0 +1,141 @@
.. _using_odl_instead_of_ovs:

==========================================
Using OpenDaylight instead of Open vSwitch
==========================================

This guide describes how to deploy and run OpenStack environment with
OpenDaylight ML2 Neutron plugin instead of the reference OpenVSwitch ML2 on top
of Kubernetes cluster using fuel-ccp.

Introduction
~~~~~~~~~~~~

OpenDaylight (ODL) is a modular Open SDN platform for networks of any size and
scale. 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.

Deployment will look like this:

* new Docker container and service: opendaylight
* openvswitch service on nodes is configured to be managed by ODL
* neutron is configured to use ``networking-odl`` ML2 plugin.
* neutron openvswitch and l3 agent pods are removed from the deployment
topology.

What is needed to deploy CCP with ODL network plugin:

* Runnning K8s environment with ODL network plugin (for a tested,
recommended setup please check out the `QuickStart Guide`_).
* CCP installed on a machine with access to ``kube-apiserver`` (e.g. K8s
master node).
* CCP CLI config file with custom deployment topology.

Sample deployment
~~~~~~~~~~~~~~~~~

Sample CCP configuration
------------------------

Let's write CCP CLI configuration file now, make sure you have the following
in your configuration file (let's say it's ``ccp.yaml``):

::

builder:
push: True
registry:
address: "127.0.0.1:31500"
repositories:
skip_empty: True
nodes:
node1:
roles:
- db
- messaging
- controller
- openvswitch
- opendaylight
node[2-3]:
roles:
- db
- messaging
- compute
- openvswitch
roles:
db:
- galera
messaging:
- rabbitmq
controller:
- etcd
- glance-api
- glance-registry
- heat-api
- heat-engine
- horizon
- keystone
- memcached
- neutron-dhcp-agent
- neutron-metadata-agent
- neutron-server
- nova-api
- nova-conductor
- nova-consoleauth
- nova-novncproxy
- nova-scheduler
compute:
- nova-compute
- nova-libvirt
openvswitch:
- openvswitch-db
- openvswitch-vswitchd
opendaylight:
- opendaylight
configs:
private_interface: eth1
neutron:
plugin_agent: "opendaylight"
versions:
ovs_version: "2.5.1"

For the instructions for building images and deploying CCP refer to the
`QuickStart Guide`_.

To build only the opendaylight Docker image run:
::

ccp deploy --config-file ccp.yaml build -c opendaylight

To deploy only the opendaylight component run:

::

ccp deploy --config-file ccp.yaml deploy -c opendaylight

Check configuration
-------------------

To check that neutron has been configured to work with OpenDaylight, attach
to `neutron-server` container and run:
::

$ grep mechanism_drivers /etc/neutron/plugins/ml2/ml2_conf.ini
mechanism_drivers = opendaylight, logger

OpenDaylight creates only one bridge ``br-int``, with all traffic being managed by
OpenFlow, including routing and applying security group rules. To inspect flows,
attach to an `openvswitch-vswitchd` container and exec:
::

ovs-ofctl -O OpenFlow13 dump-flows br-int

To connect to OpenDaylight console run the following command in `opendaylight` container:

::

/odl/bin/client

.. _QuickStart Guide: http://fuel-ccp.readthedocs.io/en/latest/quickstart.html

+ 44
- 0
etc/topology-opendaylight-example.yaml Переглянути файл

@@ -0,0 +1,44 @@
nodes:
node1:
roles:
- db
- messaging
- controller
- openvswitch
- opendaylight
node[2-3]:
roles:
- db
- messaging
- compute
- openvswitch
roles:
db:
- galera
messaging:
- rabbitmq
controller:
- etcd
- glance-api
- glance-registry
- heat-api
- heat-engine
- horizon
- keystone
- memcached
- neutron-dhcp-agent
- neutron-metadata-agent
- neutron-server
- nova-api
- nova-conductor
- nova-consoleauth
- nova-novncproxy
- nova-scheduler
compute:
- nova-compute
- nova-libvirt
openvswitch:
- openvswitch-db
- openvswitch-vswitchd
opendaylight:
- opendaylight

Завантаження…
Відмінити
Зберегти