blob: c0afc7a2faad2367c33b35dc8df96248029d8f97 [file] [log] [blame]
Filip Pytlouncd028e42015-10-06 16:28:32 +02001=======================
2Neutron Network Service
3=======================
4
Jakub Pavlik9ecf0262016-05-20 11:20:58 +02005Neutron is an OpenStack project to provide "networking as a service" between
6interface devices (e.g., vNICs) managed by other Openstack services (e.g.,
7nova).
Filip Pytlouncd028e42015-10-06 16:28:32 +02008
Jakub Pavlik9ecf0262016-05-20 11:20:58 +02009Starting in the Folsom release, Neutron is a core and supported part of the
10OpenStack platform (for Essex, we were an "incubated" project, which means use
11is suggested only for those who really know what they're doing with Neutron).
Filip Pytlouncd028e42015-10-06 16:28:32 +020012
Filip Pytlouncd028e42015-10-06 16:28:32 +020013Sample pillars
14==============
15
16Neutron Server on the controller node
17
18.. code-block:: yaml
19
20 neutron:
21 server:
22 enabled: true
Jiri Broulik74f61112016-11-21 20:23:47 +010023 version: mitaka
Filip Pytlouncd028e42015-10-06 16:28:32 +020024 bind:
25 address: 172.20.0.1
26 port: 9696
Filip Pytlouncd028e42015-10-06 16:28:32 +020027 database:
28 engine: mysql
29 host: 127.0.0.1
30 port: 3306
31 name: neutron
32 user: neutron
33 password: pwd
34 identity:
35 engine: keystone
36 host: 127.0.0.1
37 port: 35357
38 user: neutron
39 password: pwd
40 tenant: service
41 message_queue:
42 engine: rabbitmq
43 host: 127.0.0.1
44 port: 5672
45 user: openstack
46 password: pwd
47 virtual_host: '/openstack'
48 metadata:
49 host: 127.0.0.1
50 port: 8775
51 password: pass
Filip Pytlouncd028e42015-10-06 16:28:32 +020052
Jiri Broulik74f61112016-11-21 20:23:47 +010053Neutron VXLAN tenant networks with Network Nodes (with DVR for East-West
54 and Network node for North-South)
55=========================================================================
56===================================
57
58This use case describes a model utilising VxLAN overlay with DVR. The DVR
59 routers will only be utilized for traffic that is router within the cloud
60 infrastructure and that remains encapsulated. External traffic will be
61 routed to via the network nodes.
62
63The intention is that each tenant will require at least two (2) vrouters
64one to be utilised
65
66Neutron Server only
67-------------------
marcoa4428a32016-06-10 11:50:16 +020068
69.. code-block:: yaml
70
71 neutron:
72 server:
Jiri Broulik74f61112016-11-21 20:23:47 +010073 version: mitaka
74 plugin: ml2
75 bind:
76 address: 172.20.0.1
77 port: 9696
78 database:
79 engine: mysql
80 host: 127.0.0.1
81 port: 3306
82 name: neutron
83 user: neutron
84 password: pwd
85 identity:
86 engine: keystone
87 host: 127.0.0.1
88 port: 35357
89 user: neutron
90 password: pwd
91 tenant: service
92 message_queue:
93 engine: rabbitmq
94 host: 127.0.0.1
95 port: 5672
96 user: openstack
97 password: pwd
98 virtual_host: '/openstack'
99 global_physnet_mtu: 9000
100 l3_ha: False # Which type of router will be created by default
101 dvr: True # disabled for non DVR use case
102 backend:
103 engine: ml2
104 tenant_network_types: "flat,vxlan"
105 external_mtu: 9000
106 mechanism:
107 ovs:
108 driver: openvswitch
109
110Network Node only
111-----------------
112
113.. code-block:: yaml
114
115 neutron:
116 gateway:
117 enabled: True
118 version: mitaka
119 message_queue:
120 engine: rabbitmq
121 host: 127.0.0.1
122 port: 5672
123 user: openstack
124 password: pwd
125 virtual_host: '/openstack'
126 local_ip: 192.168.20.20 # br-mesh ip address
127 dvr: True # disabled for non DVR use case
128 agent_mode: dvr_snat
129 metadata:
130 host: 127.0.0.1
131 password: pass
132 backend:
133 engine: ml2
134 tenant_network_types: "flat,vxlan"
135 mechanism:
136 ovs:
137 driver: openvswitch
138
139Compute Node
140-------------
141
142.. code-block:: yaml
143
144 neutron:
145 compute:
146 enabled: True
147 version: mitaka
148 message_queue:
149 engine: rabbitmq
150 host: 127.0.0.1
151 port: 5672
152 user: openstack
153 password: pwd
154 virtual_host: '/openstack'
155 local_ip: 192.168.20.20 # br-mesh ip address
156 dvr: True # disabled for non DVR use case
157 agent_mode: dvr
158 external_access: false # Compute node with DVR for east-west only, Network Node has True as default
159 metadata:
160 host: 127.0.0.1
161 password: pass
162 backend:
163 engine: ml2
164 tenant_network_types: "flat,vxlan"
165 mechanism:
166 ovs:
167 driver: openvswitch
168
169Neutron VXLAN tenant networks with Network Nodes (non DVR)
170==========================================================
171
172This section describes a network solution that utilises VxLAN overlay
173 networks without DVR with all routers being managed on the network nodes.
174
175Neutron Server only
176-------------------
177
178.. code-block:: yaml
179
180 neutron:
181 server:
182 version: mitaka
183 plugin: ml2
184 bind:
185 address: 172.20.0.1
186 port: 9696
187 database:
188 engine: mysql
189 host: 127.0.0.1
190 port: 3306
191 name: neutron
192 user: neutron
193 password: pwd
194 identity:
195 engine: keystone
196 host: 127.0.0.1
197 port: 35357
198 user: neutron
199 password: pwd
200 tenant: service
201 message_queue:
202 engine: rabbitmq
203 host: 127.0.0.1
204 port: 5672
205 user: openstack
206 password: pwd
207 virtual_host: '/openstack'
208 global_physnet_mtu: 9000
209 l3_ha: True
210 dvr: False
211 backend:
212 engine: ml2
213 tenant_network_types= "flat,vxlan"
214 external_mtu: 9000
215 mechanism:
216 ovs:
217 driver: openvswitch
218
219Network Node only
220-----------------
221
222.. code-block:: yaml
223
224 neutron:
225 gateway:
226 enabled: True
227 version: mitaka
228 message_queue:
229 engine: rabbitmq
230 host: 127.0.0.1
231 port: 5672
232 user: openstack
233 password: pwd
234 virtual_host: '/openstack'
235 local_ip: 192.168.20.20 # br-mesh ip address
236 dvr: False
237 agent_mode: legacy
238 metadata:
239 host: 127.0.0.1
240 password: pass
241 backend:
242 engine: ml2
243 tenant_network_types: "flat,vxlan"
244 mechanism:
245 ovs:
246 driver: openvswitch
247
248Compute Node
249-------------
250
251.. code-block:: yaml
252
253 neutron:
254 compute:
255 enabled: True
256 version: mitaka
257 message_queue:
258 engine: rabbitmq
259 host: 127.0.0.1
260 port: 5672
261 user: openstack
262 password: pwd
263 virtual_host: '/openstack'
264 local_ip: 192.168.20.20 # br-mesh ip address
265 external_access: False
266 dvr: False
267 backend:
268 engine: ml2
269 tenant_network_types: "flat,vxlan"
270 mechanism:
271 ovs:
272 driver: openvswitch
273
274Neutron VXLAN tenant networks with Network Nodes (with DVR for
275East-West and North-South, DVR everywhere, Network node for SNAT)
276==============================================================
277========================================================
278
279This section describes a network solution that utilises VxLAN
280overlay networks with DVR with North-South and East-West. Network
281Node is used only for SNAT.
282
283Neutron Server only
284-------------------
285
286.. code-block:: yaml
287
288 neutron:
289 server:
290 version: mitaka
291 plugin: ml2
292 bind:
293 address: 172.20.0.1
294 port: 9696
295 database:
296 engine: mysql
297 host: 127.0.0.1
298 port: 3306
299 name: neutron
300 user: neutron
301 password: pwd
302 identity:
303 engine: keystone
304 host: 127.0.0.1
305 port: 35357
306 user: neutron
307 password: pwd
308 tenant: service
309 message_queue:
310 engine: rabbitmq
311 host: 127.0.0.1
312 port: 5672
313 user: openstack
314 password: pwd
315 virtual_host: '/openstack'
316 global_physnet_mtu: 9000
317 l3_ha: False
318 dvr: True
319 backend:
320 engine: ml2
321 tenant_network_types= "flat,vxlan"
322 external_mtu: 9000
323 mechanism:
324 ovs:
325 driver: openvswitch
326
327Network Node only
328-----------------
329
330.. code-block:: yaml
331
332 neutron:
333 gateway:
334 enabled: True
335 version: mitaka
336 message_queue:
337 engine: rabbitmq
338 host: 127.0.0.1
339 port: 5672
340 user: openstack
341 password: pwd
342 virtual_host: '/openstack'
343 local_ip: 192.168.20.20 # br-mesh ip address
344 dvr: True
345 agent_mode: dvr_snat
346 metadata:
347 host: 127.0.0.1
348 password: pass
349 backend:
350 engine: ml2
351 tenant_network_types: "flat,vxlan"
352 mechanism:
353 ovs:
354 driver: openvswitch
355
356Compute Node
357-------------
358
359.. code-block:: yaml
360
361 neutron:
362 compute:
363 enabled: True
364 version: mitaka
365 message_queue:
366 engine: rabbitmq
367 host: 127.0.0.1
368 port: 5672
369 user: openstack
370 password: pwd
371 virtual_host: '/openstack'
372 local_ip: 192.168.20.20 # br-mesh ip address
373 dvr: True
374 external_access: True
375 agent_mode: dvr
376 metadata:
377 host: 127.0.0.1
378 password: pass
379 backend:
380 engine: ml2
381 tenant_network_types: "flat,vxlan"
382 mechanism:
383 ovs:
384 driver: openvswitch
385
386Sample Linux network configuration for DVR
387--------------------------------------------
388
389.. code-block:: yaml
390
391 linux:
392 network:
393 bridge: openvswitch
394 interface:
395 eth1:
396 enabled: true
397 type: eth
398 mtu: 9000
399 proto: manual
400 eth2:
401 enabled: true
402 type: eth
403 mtu: 9000
404 proto: manual
405 eth3:
406 enabled: true
407 type: eth
408 mtu: 9000
409 proto: manual
410 br-int:
411 enabled: true
412 mtu: 9000
413 type: ovs_bridge
414 br-floating:
415 enabled: true
416 mtu: 9000
417 type: ovs_bridge
418 float-to-ex:
419 enabled: true
420 type: ovs_port
421 mtu: 65000
422 bridge: br-floating
423 br-mgmt:
424 enabled: true
425 type: bridge
426 mtu: 9000
427 address: ${_param:single_address}
428 netmask: 255.255.255.0
429 use_interfaces:
430 - eth1
431 br-mesh:
432 enabled: true
433 type: bridge
434 mtu: 9000
435 address: ${_param:tenant_address}
436 netmask: 255.255.255.0
437 use_interfaces:
438 - eth2
439 br-ex:
440 enabled: true
441 type: bridge
442 mtu: 9000
443 address: ${_param:external_address}
444 netmask: 255.255.255.0
445 use_interfaces:
446 - eth3
447 use_ovs_ports:
448 - float-to-ex
449
450Neutron VLAN tenant networks with Network Nodes
451===============================================
452
453VLAN tenant provider
454
455Neutron Server only
456-------------------
457
458.. code-block:: yaml
459
460 neutron:
461 server:
462 version: mitaka
463 plugin: ml2
464 ...
465 global_physnet_mtu: 9000
466 l3_ha: False
467 dvr: True
468 backend:
469 engine: ml2
470 tenant_network_types: "flat,vlan" # Can be mixed flat,vlan,vxlan
471 tenant_vlan_range: "1000:2000"
472 external_vlan_range: "100:200" # Does not have to be defined.
473 external_mtu: 9000
474 mechanism:
475 ovs:
476 driver: openvswitch
477
478Compute node
479-------------------
480
481.. code-block:: yaml
482
483 neutron:
484 compute:
485 version: mitaka
486 plugin: ml2
487 ...
488 dvr: True
489 agent_mode: dvr
490 external_access: False
491 backend:
492 engine: ml2
493 tenant_network_types: "flat,vlan" # Can be mixed flat,vlan,vxlan
494 mechanism:
495 ovs:
496 driver: openvswitch
497
498Neutron Server with OpenContrail
499==================================
500
501.. code-block:: yaml
502
503 neutron:
504 server:
505 plugin: contrail
marcoa4428a32016-06-10 11:50:16 +0200506 backend:
507 engine: contrail
508 host: contrail_discovery_host
509 port: 8082
510 user: admin
511 password: password
512 tenant: admin
513 token: token
514
515Neutron Server with Midonet
Jiri Broulik74f61112016-11-21 20:23:47 +0100516===========================
marcoa4428a32016-06-10 11:50:16 +0200517
518.. code-block:: yaml
519
520 neutron:
521 server:
522 backend:
523 engine: midonet
524 host: midonet_api_host
525 port: 8181
526 user: admin
527 password: password
528
Jiri Broulik74f61112016-11-21 20:23:47 +0100529Other
530=====
Filip Pytlouncd028e42015-10-06 16:28:32 +0200531
Jakub Pavlik6dd5c0a2016-03-09 14:18:15 +0100532Neutron Keystone region
533
534.. code-block:: yaml
535
536 neutron:
537 server:
538 enabled: true
539 version: kilo
540 ...
541 identity:
542 region: RegionTwo
543 ...
544 compute:
545 region: RegionTwo
546 ...
547
Jiri Konecny93b19992016-04-12 11:15:39 +0200548
549Client-side RabbitMQ HA setup
550
551.. code-block:: yaml
552
553 neutron:
554 server:
555 ....
556 message_queue:
557 engine: rabbitmq
558 members:
559 - host: 10.0.16.1
560 - host: 10.0.16.2
561 - host: 10.0.16.3
562 user: openstack
563 password: pwd
564 virtual_host: '/openstack'
565 ....
566
567
568
Filip Pytlouncd028e42015-10-06 16:28:32 +0200569Usage
570=====
571
572Fix RDO Neutron installation
573
574.. code-block:: yaml
575
576 neutron-db-manage --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini stamp havana
577
Jakub Pavlik9ecf0262016-05-20 11:20:58 +0200578Documentation and Bugs
579============================
Filip Pytlouncd028e42015-10-06 16:28:32 +0200580
Jakub Pavlik9ecf0262016-05-20 11:20:58 +0200581To learn how to deploy OpenStack Salt, consult the documentation available
582online at:
583
584 https://wiki.openstack.org/wiki/OpenStackSalt
585
586In the unfortunate event that bugs are discovered, they should be reported to
587the appropriate bug tracker. If you obtained the software from a 3rd party
588operating system vendor, it is often wise to use their own bug tracker for
589reporting problems. In all other cases use the master OpenStack bug tracker,
590available at:
591
592 http://bugs.launchpad.net/openstack-salt
593
594Developers wishing to work on the OpenStack Salt project should always base
595their work on the latest formulas code, available from the master GIT
596repository at:
597
598 https://git.openstack.org/cgit/openstack/salt-formula-neutron
599
600Developers should also join the discussion on the IRC list, at:
601
602 https://wiki.openstack.org/wiki/Meetings/openstack-salt