summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorOleg Bondarev <obondarev@mirantis.com>2016-11-29 15:32:58 +0300
committerElena Ezhova <eezhova@mirantis.com>2017-02-13 13:33:35 +0400
commit41a45e5a9db5b6bcb5fbfa03b15f62ab21d374d4 (patch)
tree9bb6cdaca82255677eda71255e499b15ac5b7d59 /doc
parent35b7e1f5a72a74c7965fd78260014b2f7347e9d0 (diff)
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
Notes
Notes (review): Code-Review+2: Proskurin Kirill <kproskurin@mirantis.com> Verified+1: Mirantis CCP CI <mirantis-fuel-ccp-ci@mirantis.com> Code-Review+2: Andrey Pavlov <apavlov@mirantis.com> Workflow+1: Andrey Pavlov <apavlov@mirantis.com> Verified+2: Jenkins Submitted-by: Jenkins Submitted-at: Mon, 13 Feb 2017 19:57:24 +0000 Reviewed-on: https://review.openstack.org/404196 Project: openstack/fuel-ccp Branch: refs/heads/master
Diffstat (limited to 'doc')
-rw-r--r--doc/source/index.rst1
-rw-r--r--doc/source/using_odl_instead_of_ovs.rst141
2 files changed, 142 insertions, 0 deletions
diff --git a/doc/source/index.rst b/doc/source/index.rst
index 945fcfe..ea18cdd 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -30,6 +30,7 @@ Advanced topics
30 ceph 30 ceph
31 ceph_cluster 31 ceph_cluster
32 using_calico_instead_of_ovs 32 using_calico_instead_of_ovs
33 using_odl_instead_of_ovs
33 ironic 34 ironic
34 known_issues 35 known_issues
35 36
diff --git a/doc/source/using_odl_instead_of_ovs.rst b/doc/source/using_odl_instead_of_ovs.rst
new file mode 100644
index 0000000..988e4f2
--- /dev/null
+++ b/doc/source/using_odl_instead_of_ovs.rst
@@ -0,0 +1,141 @@
1.. _using_odl_instead_of_ovs:
2
3==========================================
4Using OpenDaylight instead of Open vSwitch
5==========================================
6
7This guide describes how to deploy and run OpenStack environment with
8OpenDaylight ML2 Neutron plugin instead of the reference OpenVSwitch ML2 on top
9of Kubernetes cluster using fuel-ccp.
10
11Introduction
12~~~~~~~~~~~~
13
14OpenDaylight (ODL) is a modular Open SDN platform for networks of any size and
15scale. OpenStack can use OpenDaylight as its network management provider
16through the Modular Layer 2 (ML2) north-bound plug-in. OpenDaylight manages
17the network flows for the OpenStack compute nodes via the OVSDB south-bound
18plug-in.
19
20Deployment will look like this:
21
22* new Docker container and service: opendaylight
23* openvswitch service on nodes is configured to be managed by ODL
24* neutron is configured to use ``networking-odl`` ML2 plugin.
25* neutron openvswitch and l3 agent pods are removed from the deployment
26 topology.
27
28What is needed to deploy CCP with ODL network plugin:
29
30* Runnning K8s environment with ODL network plugin (for a tested,
31 recommended setup please check out the `QuickStart Guide`_).
32* CCP installed on a machine with access to ``kube-apiserver`` (e.g. K8s
33 master node).
34* CCP CLI config file with custom deployment topology.
35
36Sample deployment
37~~~~~~~~~~~~~~~~~
38
39Sample CCP configuration
40------------------------
41
42Let's write CCP CLI configuration file now, make sure you have the following
43in your configuration file (let's say it's ``ccp.yaml``):
44
45::
46
47 builder:
48 push: True
49 registry:
50 address: "127.0.0.1:31500"
51 repositories:
52 skip_empty: True
53 nodes:
54 node1:
55 roles:
56 - db
57 - messaging
58 - controller
59 - openvswitch
60 - opendaylight
61 node[2-3]:
62 roles:
63 - db
64 - messaging
65 - compute
66 - openvswitch
67 roles:
68 db:
69 - galera
70 messaging:
71 - rabbitmq
72 controller:
73 - etcd
74 - glance-api
75 - glance-registry
76 - heat-api
77 - heat-engine
78 - horizon
79 - keystone
80 - memcached
81 - neutron-dhcp-agent
82 - neutron-metadata-agent
83 - neutron-server
84 - nova-api
85 - nova-conductor
86 - nova-consoleauth
87 - nova-novncproxy
88 - nova-scheduler
89 compute:
90 - nova-compute
91 - nova-libvirt
92 openvswitch:
93 - openvswitch-db
94 - openvswitch-vswitchd
95 opendaylight:
96 - opendaylight
97 configs:
98 private_interface: eth1
99 neutron:
100 plugin_agent: "opendaylight"
101 versions:
102 ovs_version: "2.5.1"
103
104For the instructions for building images and deploying CCP refer to the
105`QuickStart Guide`_.
106
107To build only the opendaylight Docker image run:
108::
109
110 ccp deploy --config-file ccp.yaml build -c opendaylight
111
112To deploy only the opendaylight component run:
113
114::
115
116 ccp deploy --config-file ccp.yaml deploy -c opendaylight
117
118Check configuration
119-------------------
120
121To check that neutron has been configured to work with OpenDaylight, attach
122to `neutron-server` container and run:
123::
124
125 $ grep mechanism_drivers /etc/neutron/plugins/ml2/ml2_conf.ini
126 mechanism_drivers = opendaylight, logger
127
128OpenDaylight creates only one bridge ``br-int``, with all traffic being managed by
129OpenFlow, including routing and applying security group rules. To inspect flows,
130attach to an `openvswitch-vswitchd` container and exec:
131::
132
133 ovs-ofctl -O OpenFlow13 dump-flows br-int
134
135To connect to OpenDaylight console run the following command in `opendaylight` container:
136
137::
138
139 /odl/bin/client
140
141.. _QuickStart Guide: http://fuel-ccp.readthedocs.io/en/latest/quickstart.html