blob: e8ef14ceb188fa14975a1a8792cf0b0c2a0dd0bf [file] [log] [blame]
Aleš Komárek41e82312017-04-11 13:37:44 +02001===============
2Neutron Formula
3===============
Filip Pytlouncd028e42015-10-06 16:28:32 +02004
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
Vasyl Saienko2fffc842017-06-14 10:35:26 +030011is suggested only for those who really know what they're doing with Neutron).
Filip Pytlouncd028e42015-10-06 16:28:32 +020012
Aleš Komárek41e82312017-04-11 13:37:44 +020013Sample Pillars
Filip Pytlouncd028e42015-10-06 16:28:32 +020014==============
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
Swann Croiset9407daf2017-02-02 15:27:56 +010024 allow_pagination: true
25 pagination_max_limit: 100
Filip Pytlouncd028e42015-10-06 16:28:32 +020026 bind:
27 address: 172.20.0.1
28 port: 9696
Filip Pytlouncd028e42015-10-06 16:28:32 +020029 database:
30 engine: mysql
31 host: 127.0.0.1
32 port: 3306
33 name: neutron
34 user: neutron
35 password: pwd
36 identity:
37 engine: keystone
38 host: 127.0.0.1
39 port: 35357
40 user: neutron
41 password: pwd
42 tenant: service
Dennis Dmitriev37114722017-03-06 16:52:26 +020043 endpoint_type: internal
Filip Pytlouncd028e42015-10-06 16:28:32 +020044 message_queue:
45 engine: rabbitmq
46 host: 127.0.0.1
47 port: 5672
48 user: openstack
49 password: pwd
50 virtual_host: '/openstack'
51 metadata:
52 host: 127.0.0.1
53 port: 8775
54 password: pass
Petr Michalec61f7ab22016-11-29 16:29:09 +010055 audit:
56 enabled: false
Filip Pytlouncd028e42015-10-06 16:28:32 +020057
Swann Croiset9407daf2017-02-02 15:27:56 +010058Note: The pagination is useful to retrieve a large bunch of resources,
59because a single request may fail (timeout). This is enabled with both
60parameters *allow_pagination* and *pagination_max_limit* as shown above.
61
Dmitry Ukov596ddcf2017-05-04 18:16:16 +040062
63Configuration of policy.json file
64
65.. code-block:: yaml
66
67 neutron:
68 server:
69 ....
70 policy:
71 create_subnet: 'rule:admin_or_network_owner'
72 'get_network:queue_id': 'rule:admin_only'
73 # Add key without value to remove line from policy.json
74 'create_network:shared':
75
Elena Ezhovacd67cfe2017-06-16 23:35:07 +040076Neutron LBaaSv2 enablement
77--------------------------
Ondrej Smola314eee22017-03-08 21:21:16 +010078
79.. code-block:: yaml
80
81 neutron:
82 server:
83 lbaas:
84 enabled: true
85 providers:
Elena Ezhovacd67cfe2017-06-16 23:35:07 +040086 octavia:
87 engine: octavia
88 driver_path: 'neutron_lbaas.drivers.octavia.driver.OctaviaDriver'
89 base_url: 'http://127.0.0.1:9876'
Ondrej Smola314eee22017-03-08 21:21:16 +010090 avi_adc:
Ondrej Smola314eee22017-03-08 21:21:16 +010091 engine: avinetworks
Elena Ezhovacd67cfe2017-06-16 23:35:07 +040092 driver_path: 'avi_lbaasv2.avi_driver.AviDriver'
Ondrej Smola314eee22017-03-08 21:21:16 +010093 controller_address: 10.182.129.239
94 controller_user: admin
95 controller_password: Cloudlab2016
96 controller_cloud_name: Default-Cloud
97 avi_adc2:
98 engine: avinetworks
99 ...
100
Elena Ezhovacd67cfe2017-06-16 23:35:07 +0400101Note: If the Contrail backend is set, Opencontrail loadbalancer would be enabled
102automatically. In this case lbaas should disabled in pillar:
Ondrej Smola314eee22017-03-08 21:21:16 +0100103
104.. code-block:: yaml
105
106 neutron:
107 server:
108 lbaas:
Elena Ezhovacd67cfe2017-06-16 23:35:07 +0400109 enabled: false
Ondrej Smola314eee22017-03-08 21:21:16 +0100110
Elena Ezhova166d4012017-08-17 12:53:52 +0400111
112Neutron FWaaSv1 enablement
113--------------------------
114
115.. code-block:: yaml
116
117 neutron:
118 fwaas:
119 enabled: true
120 version: ocata
121 api_version: v1
122
123
Ondrej Smola12ff8192017-04-28 12:39:11 +0200124Enable CORS parameters
Elena Ezhova166d4012017-08-17 12:53:52 +0400125----------------------
Ondrej Smola12ff8192017-04-28 12:39:11 +0200126
127.. code-block:: yaml
128
129 neutron:
130 server:
131 cors:
132 allowed_origin: https:localhost.local,http:localhost.local
133 expose_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
134 allow_methods: GET,PUT,POST,DELETE,PATCH
135 allow_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
136 allow_credentials: True
137 max_age: 86400
138
139
Aleš Komárek41e82312017-04-11 13:37:44 +0200140Neutron VXLAN tenant networks with Network nodes
141------------------------------------------------
Swann Croiset9407daf2017-02-02 15:27:56 +0100142
Aleš Komárek41e82312017-04-11 13:37:44 +0200143With DVR for East-West and Network node for North-South.
Jiri Broulik74f61112016-11-21 20:23:47 +0100144
145This use case describes a model utilising VxLAN overlay with DVR. The DVR
Aleš Komárek41e82312017-04-11 13:37:44 +0200146routers will only be utilized for traffic that is router within the cloud
Vasyl Saienko2fffc842017-06-14 10:35:26 +0300147infrastructure and that remains encapsulated. External traffic will be
148routed to via the network nodes.
Jiri Broulik74f61112016-11-21 20:23:47 +0100149
Vasyl Saienko2fffc842017-06-14 10:35:26 +0300150The intention is that each tenant will require at least two (2) vrouters
151one to be utilised
Jiri Broulik74f61112016-11-21 20:23:47 +0100152
Aleš Komárek41e82312017-04-11 13:37:44 +0200153Neutron Server
marcoa4428a32016-06-10 11:50:16 +0200154
155.. code-block:: yaml
156
157 neutron:
158 server:
Jiri Broulik74f61112016-11-21 20:23:47 +0100159 version: mitaka
160 plugin: ml2
161 bind:
162 address: 172.20.0.1
163 port: 9696
164 database:
165 engine: mysql
166 host: 127.0.0.1
167 port: 3306
168 name: neutron
169 user: neutron
170 password: pwd
171 identity:
172 engine: keystone
173 host: 127.0.0.1
174 port: 35357
175 user: neutron
176 password: pwd
177 tenant: service
Dennis Dmitriev37114722017-03-06 16:52:26 +0200178 endpoint_type: internal
Jiri Broulik74f61112016-11-21 20:23:47 +0100179 message_queue:
180 engine: rabbitmq
181 host: 127.0.0.1
182 port: 5672
183 user: openstack
184 password: pwd
185 virtual_host: '/openstack'
186 global_physnet_mtu: 9000
187 l3_ha: False # Which type of router will be created by default
188 dvr: True # disabled for non DVR use case
189 backend:
190 engine: ml2
191 tenant_network_types: "flat,vxlan"
192 external_mtu: 9000
193 mechanism:
194 ovs:
195 driver: openvswitch
196
Aleš Komárek41e82312017-04-11 13:37:44 +0200197Network Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100198
199.. code-block:: yaml
200
201 neutron:
202 gateway:
203 enabled: True
204 version: mitaka
205 message_queue:
206 engine: rabbitmq
207 host: 127.0.0.1
208 port: 5672
209 user: openstack
210 password: pwd
211 virtual_host: '/openstack'
212 local_ip: 192.168.20.20 # br-mesh ip address
213 dvr: True # disabled for non DVR use case
214 agent_mode: dvr_snat
215 metadata:
216 host: 127.0.0.1
217 password: pass
218 backend:
219 engine: ml2
220 tenant_network_types: "flat,vxlan"
221 mechanism:
222 ovs:
Vasyl Saienko2fffc842017-06-14 10:35:26 +0300223 driver: openvswitch
Jiri Broulik74f61112016-11-21 20:23:47 +0100224
225Compute Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100226
227.. code-block:: yaml
228
229 neutron:
230 compute:
231 enabled: True
232 version: mitaka
233 message_queue:
234 engine: rabbitmq
235 host: 127.0.0.1
236 port: 5672
237 user: openstack
238 password: pwd
239 virtual_host: '/openstack'
240 local_ip: 192.168.20.20 # br-mesh ip address
241 dvr: True # disabled for non DVR use case
242 agent_mode: dvr
243 external_access: false # Compute node with DVR for east-west only, Network Node has True as default
244 metadata:
245 host: 127.0.0.1
Vasyl Saienko2fffc842017-06-14 10:35:26 +0300246 password: pass
Jiri Broulik74f61112016-11-21 20:23:47 +0100247 backend:
248 engine: ml2
249 tenant_network_types: "flat,vxlan"
250 mechanism:
251 ovs:
252 driver: openvswitch
Petr Michalec61f7ab22016-11-29 16:29:09 +0100253 audit:
254 enabled: false
Jiri Broulik74f61112016-11-21 20:23:47 +0100255
Aleš Komárek41e82312017-04-11 13:37:44 +0200256
Jiri Broulik74f61112016-11-21 20:23:47 +0100257Neutron VXLAN tenant networks with Network Nodes (non DVR)
Aleš Komárek41e82312017-04-11 13:37:44 +0200258----------------------------------------------------------
Jiri Broulik74f61112016-11-21 20:23:47 +0100259
260This section describes a network solution that utilises VxLAN overlay
261 networks without DVR with all routers being managed on the network nodes.
262
Aleš Komárek41e82312017-04-11 13:37:44 +0200263Neutron Server
Jiri Broulik74f61112016-11-21 20:23:47 +0100264
265.. code-block:: yaml
266
267 neutron:
268 server:
269 version: mitaka
270 plugin: ml2
271 bind:
272 address: 172.20.0.1
273 port: 9696
274 database:
275 engine: mysql
276 host: 127.0.0.1
277 port: 3306
278 name: neutron
279 user: neutron
280 password: pwd
281 identity:
282 engine: keystone
283 host: 127.0.0.1
284 port: 35357
285 user: neutron
286 password: pwd
287 tenant: service
Dennis Dmitriev37114722017-03-06 16:52:26 +0200288 endpoint_type: internal
Jiri Broulik74f61112016-11-21 20:23:47 +0100289 message_queue:
290 engine: rabbitmq
291 host: 127.0.0.1
292 port: 5672
293 user: openstack
294 password: pwd
295 virtual_host: '/openstack'
296 global_physnet_mtu: 9000
297 l3_ha: True
298 dvr: False
299 backend:
300 engine: ml2
301 tenant_network_types= "flat,vxlan"
302 external_mtu: 9000
303 mechanism:
304 ovs:
305 driver: openvswitch
306
Aleš Komárek41e82312017-04-11 13:37:44 +0200307Network Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100308
309.. code-block:: yaml
310
311 neutron:
312 gateway:
313 enabled: True
314 version: mitaka
315 message_queue:
316 engine: rabbitmq
317 host: 127.0.0.1
318 port: 5672
319 user: openstack
320 password: pwd
321 virtual_host: '/openstack'
322 local_ip: 192.168.20.20 # br-mesh ip address
323 dvr: False
324 agent_mode: legacy
Simon Pasquierc03af112017-04-10 10:35:14 +0200325 availability_zone: az1
Jiri Broulik74f61112016-11-21 20:23:47 +0100326 metadata:
327 host: 127.0.0.1
328 password: pass
329 backend:
330 engine: ml2
331 tenant_network_types: "flat,vxlan"
332 mechanism:
333 ovs:
Vasyl Saienko2fffc842017-06-14 10:35:26 +0300334 driver: openvswitch
Jiri Broulik74f61112016-11-21 20:23:47 +0100335
336Compute Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100337
338.. code-block:: yaml
339
340 neutron:
341 compute:
342 enabled: True
343 version: mitaka
344 message_queue:
345 engine: rabbitmq
346 host: 127.0.0.1
347 port: 5672
348 user: openstack
349 password: pwd
350 virtual_host: '/openstack'
351 local_ip: 192.168.20.20 # br-mesh ip address
352 external_access: False
Vasyl Saienko2fffc842017-06-14 10:35:26 +0300353 dvr: False
Jiri Broulik74f61112016-11-21 20:23:47 +0100354 backend:
355 engine: ml2
356 tenant_network_types: "flat,vxlan"
357 mechanism:
358 ovs:
359 driver: openvswitch
360
Aleš Komárek41e82312017-04-11 13:37:44 +0200361Neutron VXLAN tenant networks with Network Nodes with DVR
362---------------------------------------------------------
363
364With DVR for East-West and North-South, DVR everywhere, Network node for SNAT.
Jiri Broulik74f61112016-11-21 20:23:47 +0100365
Vasyl Saienko2fffc842017-06-14 10:35:26 +0300366This section describes a network solution that utilises VxLAN
367overlay networks with DVR with North-South and East-West. Network
Jiri Broulik74f61112016-11-21 20:23:47 +0100368Node is used only for SNAT.
369
Aleš Komárek41e82312017-04-11 13:37:44 +0200370Neutron Server
Jiri Broulik74f61112016-11-21 20:23:47 +0100371
372.. code-block:: yaml
373
374 neutron:
375 server:
376 version: mitaka
377 plugin: ml2
378 bind:
379 address: 172.20.0.1
380 port: 9696
381 database:
382 engine: mysql
383 host: 127.0.0.1
384 port: 3306
385 name: neutron
386 user: neutron
387 password: pwd
388 identity:
389 engine: keystone
390 host: 127.0.0.1
391 port: 35357
392 user: neutron
393 password: pwd
394 tenant: service
Dennis Dmitriev37114722017-03-06 16:52:26 +0200395 endpoint_type: internal
Jiri Broulik74f61112016-11-21 20:23:47 +0100396 message_queue:
397 engine: rabbitmq
398 host: 127.0.0.1
399 port: 5672
400 user: openstack
401 password: pwd
402 virtual_host: '/openstack'
403 global_physnet_mtu: 9000
404 l3_ha: False
405 dvr: True
406 backend:
407 engine: ml2
408 tenant_network_types= "flat,vxlan"
409 external_mtu: 9000
410 mechanism:
411 ovs:
412 driver: openvswitch
413
Aleš Komárek41e82312017-04-11 13:37:44 +0200414Network Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100415
416.. code-block:: yaml
417
418 neutron:
419 gateway:
420 enabled: True
421 version: mitaka
422 message_queue:
423 engine: rabbitmq
424 host: 127.0.0.1
425 port: 5672
426 user: openstack
427 password: pwd
428 virtual_host: '/openstack'
429 local_ip: 192.168.20.20 # br-mesh ip address
430 dvr: True
431 agent_mode: dvr_snat
Simon Pasquierc03af112017-04-10 10:35:14 +0200432 availability_zone: az1
Jiri Broulik74f61112016-11-21 20:23:47 +0100433 metadata:
434 host: 127.0.0.1
435 password: pass
436 backend:
437 engine: ml2
438 tenant_network_types: "flat,vxlan"
439 mechanism:
440 ovs:
Vasyl Saienko2fffc842017-06-14 10:35:26 +0300441 driver: openvswitch
Jiri Broulik74f61112016-11-21 20:23:47 +0100442
443Compute Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100444
445.. code-block:: yaml
446
447 neutron:
448 compute:
449 enabled: True
450 version: mitaka
451 message_queue:
452 engine: rabbitmq
453 host: 127.0.0.1
454 port: 5672
455 user: openstack
456 password: pwd
457 virtual_host: '/openstack'
458 local_ip: 192.168.20.20 # br-mesh ip address
459 dvr: True
Vasyl Saienko2fffc842017-06-14 10:35:26 +0300460 external_access: True
Jiri Broulik74f61112016-11-21 20:23:47 +0100461 agent_mode: dvr
Simon Pasquierc03af112017-04-10 10:35:14 +0200462 availability_zone: az1
Jiri Broulik74f61112016-11-21 20:23:47 +0100463 metadata:
464 host: 127.0.0.1
465 password: pass
466 backend:
467 engine: ml2
468 tenant_network_types: "flat,vxlan"
469 mechanism:
470 ovs:
471 driver: openvswitch
472
473Sample Linux network configuration for DVR
Jiri Broulik74f61112016-11-21 20:23:47 +0100474
475.. code-block:: yaml
476
477 linux:
478 network:
479 bridge: openvswitch
480 interface:
481 eth1:
482 enabled: true
483 type: eth
484 mtu: 9000
485 proto: manual
486 eth2:
487 enabled: true
488 type: eth
489 mtu: 9000
490 proto: manual
491 eth3:
492 enabled: true
493 type: eth
494 mtu: 9000
495 proto: manual
496 br-int:
497 enabled: true
498 mtu: 9000
499 type: ovs_bridge
500 br-floating:
501 enabled: true
502 mtu: 9000
503 type: ovs_bridge
504 float-to-ex:
505 enabled: true
506 type: ovs_port
507 mtu: 65000
508 bridge: br-floating
509 br-mgmt:
510 enabled: true
511 type: bridge
512 mtu: 9000
513 address: ${_param:single_address}
514 netmask: 255.255.255.0
515 use_interfaces:
516 - eth1
517 br-mesh:
518 enabled: true
519 type: bridge
520 mtu: 9000
521 address: ${_param:tenant_address}
522 netmask: 255.255.255.0
523 use_interfaces:
524 - eth2
525 br-ex:
526 enabled: true
527 type: bridge
528 mtu: 9000
529 address: ${_param:external_address}
530 netmask: 255.255.255.0
531 use_interfaces:
532 - eth3
533 use_ovs_ports:
534 - float-to-ex
535
Thom Gerdes3282d072017-05-30 22:06:04 +0000536Additonal VXLAN tenant network settings
537---------------------------------------
538
539The default multicast group of 224.0.0.1 only multicasts to a single subnet.
540Allow overriding it to allow larger underlay network topologies.
541
542Neutron Server
543
544.. code-block:: yaml
545
546 neutron:
547 server:
548 vxlan:
549 group: 239.0.0.0/8
550 vni_ranges: "2:65535"
551
Jiri Broulik74f61112016-11-21 20:23:47 +0100552Neutron VLAN tenant networks with Network Nodes
Aleš Komárek41e82312017-04-11 13:37:44 +0200553-----------------------------------------------
Jiri Broulik74f61112016-11-21 20:23:47 +0100554
555VLAN tenant provider
556
557Neutron Server only
Jiri Broulik74f61112016-11-21 20:23:47 +0100558
559.. code-block:: yaml
560
561 neutron:
562 server:
563 version: mitaka
564 plugin: ml2
565 ...
566 global_physnet_mtu: 9000
567 l3_ha: False
568 dvr: True
569 backend:
570 engine: ml2
571 tenant_network_types: "flat,vlan" # Can be mixed flat,vlan,vxlan
572 tenant_vlan_range: "1000:2000"
573 external_vlan_range: "100:200" # Does not have to be defined.
574 external_mtu: 9000
575 mechanism:
576 ovs:
577 driver: openvswitch
578
579Compute node
Jiri Broulik74f61112016-11-21 20:23:47 +0100580
581.. code-block:: yaml
582
583 neutron:
584 compute:
585 version: mitaka
586 plugin: ml2
587 ...
588 dvr: True
589 agent_mode: dvr
590 external_access: False
591 backend:
592 engine: ml2
593 tenant_network_types: "flat,vlan" # Can be mixed flat,vlan,vxlan
594 mechanism:
595 ovs:
596 driver: openvswitch
597
Aleš Komárek41e82312017-04-11 13:37:44 +0200598Advanced Neutron Features (DPDK, SR-IOV)
599
Jakub Pavlik8f83ccc2017-02-27 11:15:39 +0100600Neutron OVS DPDK
Jakub Pavlik8f83ccc2017-02-27 11:15:39 +0100601
602Enable datapath netdev for neutron openvswitch agent
603
604.. code-block:: yaml
605
606 neutron:
607 server:
608 version: mitaka
609 ...
610 dpdk: True
611 ...
612
613 neutron:
614 compute:
615 version: mitaka
616 plugin: ml2
617 dpdk: True
618 backend:
619 engine: ml2
620 ...
621 mechanism:
622 ovs:
623 driver: openvswitch
624
Jakub Pavlik70555cb2017-02-26 18:48:02 +0100625Neutron OVS SR-IOV
Jakub Pavlik70555cb2017-02-26 18:48:02 +0100626
627.. code-block:: yaml
628
629 neutron:
630 server:
631 version: mitaka
632 plugin: ml2
633 backend:
634 engine: ml2
635 ...
636 mechanism:
637 ovs:
638 driver: openvswitch
639 sriov:
640 driver: sriovnicswitch
641
642 neutron:
643 compute:
644 version: mitaka
645 plugin: ml2
646 ...
647 backend:
648 engine: ml2
649 tenant_network_types: "flat,vlan" # Can be mixed flat,vlan,vxlan
650 sriov:
651 nic_one:
652 devname: eth1
653 physical_network: physnet3
654 mechanism:
655 ovs:
656 driver: openvswitch
657
Ilya Chukhnakovf4c2bb32017-06-08 02:03:15 +0300658Neutron with VLAN-aware-VMs
659
660.. code-block:: yaml
661
662 neutron:
663 server:
664 vlan_aware_vms: true
665 ....
666 compute:
667 vlan_aware_vms: true
668 ....
669 gateway:
670 vlan_aware_vms: true
671
Aleš Komárek41e82312017-04-11 13:37:44 +0200672Neutron Server
673--------------
674
Jiri Broulik74f61112016-11-21 20:23:47 +0100675Neutron Server with OpenContrail
Jiri Broulik74f61112016-11-21 20:23:47 +0100676
677.. code-block:: yaml
678
679 neutron:
680 server:
681 plugin: contrail
marcoa4428a32016-06-10 11:50:16 +0200682 backend:
683 engine: contrail
684 host: contrail_discovery_host
685 port: 8082
686 user: admin
687 password: password
688 tenant: admin
689 token: token
690
691Neutron Server with Midonet
692
693.. code-block:: yaml
694
695 neutron:
696 server:
697 backend:
698 engine: midonet
699 host: midonet_api_host
700 port: 8181
701 user: admin
702 password: password
703
Filip Pytlouncd028e42015-10-06 16:28:32 +0200704
Jakub Pavlik6dd5c0a2016-03-09 14:18:15 +0100705Neutron Keystone region
706
707.. code-block:: yaml
708
709 neutron:
710 server:
711 enabled: true
712 version: kilo
713 ...
714 identity:
715 region: RegionTwo
716 ...
717 compute:
718 region: RegionTwo
719 ...
720
Jiri Konecny93b19992016-04-12 11:15:39 +0200721Client-side RabbitMQ HA setup
722
723.. code-block:: yaml
724
725 neutron:
726 server:
727 ....
728 message_queue:
729 engine: rabbitmq
730 members:
731 - host: 10.0.16.1
732 - host: 10.0.16.2
733 - host: 10.0.16.3
734 user: openstack
735 password: pwd
736 virtual_host: '/openstack'
737 ....
738
Petr Michalec61f7ab22016-11-29 16:29:09 +0100739Enable auditing filter, ie: CADF
740
741.. code-block:: yaml
742
743 neutron:
744 server:
745 audit:
746 enabled: true
747 ....
748 filter_factory: 'keystonemiddleware.audit:filter_factory'
749 map_file: '/etc/pycadf/neutron_api_audit_map.conf'
750 ....
751 compute:
752 audit:
753 enabled: true
754 ....
755 filter_factory: 'keystonemiddleware.audit:filter_factory'
756 map_file: '/etc/pycadf/neutron_api_audit_map.conf'
757 ....
Jiri Konecny93b19992016-04-12 11:15:39 +0200758
Oleg Bondarev98870a32017-05-29 16:53:19 +0400759Neutron with security groups disabled
760
761.. code-block:: yaml
762
763 neutron:
764 server:
765 security_groups_enabled: False
766 ....
767 compute:
768 security_groups_enabled: False
769 ....
770 gateway:
771 security_groups_enabled: False
772
Jiri Konecny93b19992016-04-12 11:15:39 +0200773
Aleš Komárek41e82312017-04-11 13:37:44 +0200774Neutron Client
775--------------
Jiri Broulik5368cc52017-02-08 18:53:59 +0100776
777Neutron networks
778
779.. code-block:: yaml
780
781 neutron:
782 client:
783 enabled: true
784 server:
785 identity:
Richard Felklaac256a2017-03-23 15:43:49 +0100786 endpoint_type: internalURL
Jiri Broulik5368cc52017-02-08 18:53:59 +0100787 network:
788 inet1:
789 tenant: demo
790 shared: False
791 admin_state_up: True
792 router_external: True
793 provider_physical_network: inet
794 provider_network_type: flat
795 provider_segmentation_id: 2
796 subnet:
797 inet1-subnet1:
798 cidr: 192.168.90.0/24
799 enable_dhcp: False
800 inet2:
801 tenant: admin
802 shared: False
803 router_external: True
804 provider_network_type: "vlan"
805 subnet:
806 inet2-subnet1:
807 cidr: 192.168.92.0/24
808 enable_dhcp: False
809 inet2-subnet2:
810 cidr: 192.168.94.0/24
811 enable_dhcp: True
812 identity1:
813 network:
814 ...
815
Jiri Broulik5368cc52017-02-08 18:53:59 +0100816Neutron routers
817
818.. code-block:: yaml
819
820 neutron:
821 client:
822 enabled: true
823 server:
824 identity:
Richard Felklaac256a2017-03-23 15:43:49 +0100825 endpoint_type: internalURL
Jiri Broulik5368cc52017-02-08 18:53:59 +0100826 router:
827 inet1-router:
828 tenant: demo
829 admin_state_up: True
830 gateway_network: inet
831 interfaces:
832 - inet1-subnet1
833 - inet1-subnet2
834 identity1:
835 router:
836 ...
837
838 TODO: implement adding new interfaces to a router while updating it
839
840
841Neutron security groups
842
843.. code-block:: yaml
844
845 neutron:
846 client:
847 enabled: true
848 server:
849 identity:
Richard Felklaac256a2017-03-23 15:43:49 +0100850 endpoint_type: internalURL
Jiri Broulik5368cc52017-02-08 18:53:59 +0100851 security_group:
852 security_group1:
853 tenant: demo
854 description: security group 1
855 rules:
856 - direction: ingress
857 ethertype: IPv4
858 protocol: TCP
859 port_range_min: 1
860 port_range_max: 65535
861 remote_ip_prefix: 0.0.0.0/0
862 - direction: ingress
863 ethertype: IPv4
864 protocol: UDP
865 port_range_min: 1
866 port_range_max: 65535
867 remote_ip_prefix: 0.0.0.0/0
868 - direction: ingress
869 protocol: ICMP
870 remote_ip_prefix: 0.0.0.0/0
871 identity1:
872 security_group:
873 ...
874
875 TODO: implement updating existing security rules (now it adds new rule if trying to update existing one)
876
Jiri Broulikde2e2902017-02-13 15:03:47 +0100877
878Floating IP addresses
879
880.. code-block:: yaml
881
882 neutron:
883 client:
884 enabled: true
885 server:
886 identity:
Richard Felklaac256a2017-03-23 15:43:49 +0100887 endpoint_type: internalURL
Jiri Broulikde2e2902017-02-13 15:03:47 +0100888 floating_ip:
889 prx01-instance:
890 server: prx01.mk22-lab-basic.local
891 subnet: private-subnet1
892 network: public-net1
893 tenant: demo
894 gtw01-instance:
895 ...
896
897.. note:: The network must have flag router:external set to True.
898 Instance port in the stated subnet will be associated with the dynamically generated floating IP.
899
900
Filip Pytloun20c0a442017-02-02 13:05:13 +0100901Documentation and Bugs
902======================
903
904To learn how to install and update salt-formulas, consult the documentation
905available online at:
906
907 http://salt-formulas.readthedocs.io/
908
909In the unfortunate event that bugs are discovered, they should be reported to
910the appropriate issue tracker. Use Github issue tracker for specific salt
911formula:
912
913 https://github.com/salt-formulas/salt-formula-neutron/issues
914
915For feature requests, bug reports or blueprints affecting entire ecosystem,
916use Launchpad salt-formulas project:
917
918 https://launchpad.net/salt-formulas
919
920You can also join salt-formulas-users team and subscribe to mailing list:
921
922 https://launchpad.net/~salt-formulas-users
923
924Developers wishing to work on the salt-formulas projects should always base
925their work on master branch and submit pull request against specific formula.
926
927 https://github.com/salt-formulas/salt-formula-neutron
928
929Any questions or feedback is always welcome so feel free to join our IRC
930channel:
931
932 #salt-formulas @ irc.freenode.net