blob: 7e63a20b66af0b86f37e5b6157b8fbcbe8b41b4f [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
Mykyta Karpin253406d2017-12-08 17:01:37 +020026 api_workers: 2
27 rpc_workers: 2
28 rpc_state_report_workers: 2
Michael Polenchuk1ff88652018-03-06 16:15:57 +040029 root_helper_daemon: false
Michael Polenchuk2151b272018-06-19 18:32:31 +040030 dhcp_lease_duration: 600
Michael Polenchukcece76d2018-06-21 14:56:17 +040031 firewall_driver: iptables_hybrid
Filip Pytlouncd028e42015-10-06 16:28:32 +020032 bind:
33 address: 172.20.0.1
34 port: 9696
Filip Pytlouncd028e42015-10-06 16:28:32 +020035 database:
36 engine: mysql
37 host: 127.0.0.1
38 port: 3306
39 name: neutron
40 user: neutron
41 password: pwd
42 identity:
43 engine: keystone
44 host: 127.0.0.1
45 port: 35357
46 user: neutron
47 password: pwd
48 tenant: service
Dennis Dmitriev37114722017-03-06 16:52:26 +020049 endpoint_type: internal
Filip Pytlouncd028e42015-10-06 16:28:32 +020050 message_queue:
51 engine: rabbitmq
52 host: 127.0.0.1
53 port: 5672
54 user: openstack
55 password: pwd
56 virtual_host: '/openstack'
57 metadata:
58 host: 127.0.0.1
59 port: 8775
60 password: pass
Mykyta Karpin253406d2017-12-08 17:01:37 +020061 workers: 2
Petr Michalec61f7ab22016-11-29 16:29:09 +010062 audit:
63 enabled: false
Filip Pytlouncd028e42015-10-06 16:28:32 +020064
Swann Croiset9407daf2017-02-02 15:27:56 +010065Note: The pagination is useful to retrieve a large bunch of resources,
66because a single request may fail (timeout). This is enabled with both
67parameters *allow_pagination* and *pagination_max_limit* as shown above.
68
Dmitry Ukov596ddcf2017-05-04 18:16:16 +040069
70Configuration of policy.json file
71
72.. code-block:: yaml
73
74 neutron:
75 server:
76 ....
77 policy:
78 create_subnet: 'rule:admin_or_network_owner'
79 'get_network:queue_id': 'rule:admin_only'
80 # Add key without value to remove line from policy.json
81 'create_network:shared':
82
Elena Ezhovacd67cfe2017-06-16 23:35:07 +040083Neutron LBaaSv2 enablement
84--------------------------
Ondrej Smola314eee22017-03-08 21:21:16 +010085
86.. code-block:: yaml
87
88 neutron:
89 server:
90 lbaas:
91 enabled: true
92 providers:
Elena Ezhovacd67cfe2017-06-16 23:35:07 +040093 octavia:
94 engine: octavia
95 driver_path: 'neutron_lbaas.drivers.octavia.driver.OctaviaDriver'
96 base_url: 'http://127.0.0.1:9876'
Ondrej Smola314eee22017-03-08 21:21:16 +010097 avi_adc:
Ondrej Smola314eee22017-03-08 21:21:16 +010098 engine: avinetworks
Elena Ezhovacd67cfe2017-06-16 23:35:07 +040099 driver_path: 'avi_lbaasv2.avi_driver.AviDriver'
Ondrej Smola314eee22017-03-08 21:21:16 +0100100 controller_address: 10.182.129.239
101 controller_user: admin
102 controller_password: Cloudlab2016
103 controller_cloud_name: Default-Cloud
104 avi_adc2:
105 engine: avinetworks
106 ...
107
Elena Ezhovacd67cfe2017-06-16 23:35:07 +0400108Note: If the Contrail backend is set, Opencontrail loadbalancer would be enabled
109automatically. In this case lbaas should disabled in pillar:
Ondrej Smola314eee22017-03-08 21:21:16 +0100110
111.. code-block:: yaml
112
113 neutron:
114 server:
115 lbaas:
Elena Ezhovacd67cfe2017-06-16 23:35:07 +0400116 enabled: false
Ondrej Smola314eee22017-03-08 21:21:16 +0100117
Elena Ezhova166d4012017-08-17 12:53:52 +0400118
119Neutron FWaaSv1 enablement
120--------------------------
121
122.. code-block:: yaml
123
124 neutron:
125 fwaas:
126 enabled: true
127 version: ocata
128 api_version: v1
129
130
Ondrej Smola12ff8192017-04-28 12:39:11 +0200131Enable CORS parameters
Elena Ezhova166d4012017-08-17 12:53:52 +0400132----------------------
Ondrej Smola12ff8192017-04-28 12:39:11 +0200133
134.. code-block:: yaml
135
136 neutron:
137 server:
138 cors:
139 allowed_origin: https:localhost.local,http:localhost.local
140 expose_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
141 allow_methods: GET,PUT,POST,DELETE,PATCH
142 allow_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
143 allow_credentials: True
144 max_age: 86400
145
146
Aleš Komárek41e82312017-04-11 13:37:44 +0200147Neutron VXLAN tenant networks with Network nodes
148------------------------------------------------
Swann Croiset9407daf2017-02-02 15:27:56 +0100149
Aleš Komárek41e82312017-04-11 13:37:44 +0200150With DVR for East-West and Network node for North-South.
Jiri Broulik74f61112016-11-21 20:23:47 +0100151
152This use case describes a model utilising VxLAN overlay with DVR. The DVR
Aleš Komárek41e82312017-04-11 13:37:44 +0200153routers will only be utilized for traffic that is router within the cloud
Vasyl Saienko2fffc842017-06-14 10:35:26 +0300154infrastructure and that remains encapsulated. External traffic will be
155routed to via the network nodes.
Jiri Broulik74f61112016-11-21 20:23:47 +0100156
Vasyl Saienko2fffc842017-06-14 10:35:26 +0300157The intention is that each tenant will require at least two (2) vrouters
158one to be utilised
Jiri Broulik74f61112016-11-21 20:23:47 +0100159
Aleš Komárek41e82312017-04-11 13:37:44 +0200160Neutron Server
marcoa4428a32016-06-10 11:50:16 +0200161
162.. code-block:: yaml
163
164 neutron:
165 server:
Jiri Broulik74f61112016-11-21 20:23:47 +0100166 version: mitaka
Dmitry Stremkouski3c1be3e2017-11-18 11:04:20 +0300167 path_mtu: 1500
Jiri Broulik74f61112016-11-21 20:23:47 +0100168 bind:
169 address: 172.20.0.1
170 port: 9696
171 database:
172 engine: mysql
173 host: 127.0.0.1
174 port: 3306
175 name: neutron
176 user: neutron
177 password: pwd
178 identity:
179 engine: keystone
180 host: 127.0.0.1
181 port: 35357
182 user: neutron
183 password: pwd
184 tenant: service
Dennis Dmitriev37114722017-03-06 16:52:26 +0200185 endpoint_type: internal
Jiri Broulik74f61112016-11-21 20:23:47 +0100186 message_queue:
187 engine: rabbitmq
188 host: 127.0.0.1
189 port: 5672
190 user: openstack
191 password: pwd
192 virtual_host: '/openstack'
193 global_physnet_mtu: 9000
194 l3_ha: False # Which type of router will be created by default
195 dvr: True # disabled for non DVR use case
196 backend:
197 engine: ml2
198 tenant_network_types: "flat,vxlan"
199 external_mtu: 9000
200 mechanism:
Elena Ezhovad6a080c2017-10-09 15:25:16 +0400201 ovs:
202 driver: openvswitch
Jiri Broulik74f61112016-11-21 20:23:47 +0100203
Aleš Komárek41e82312017-04-11 13:37:44 +0200204Network Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100205
206.. code-block:: yaml
207
208 neutron:
209 gateway:
210 enabled: True
211 version: mitaka
Michael Polenchuk2151b272018-06-19 18:32:31 +0400212 dhcp_lease_duration: 600
Michael Polenchukcece76d2018-06-21 14:56:17 +0400213 firewall_driver: iptables_hybrid
Jiri Broulik74f61112016-11-21 20:23:47 +0100214 message_queue:
215 engine: rabbitmq
216 host: 127.0.0.1
217 port: 5672
218 user: openstack
219 password: pwd
220 virtual_host: '/openstack'
221 local_ip: 192.168.20.20 # br-mesh ip address
222 dvr: True # disabled for non DVR use case
223 agent_mode: dvr_snat
224 metadata:
225 host: 127.0.0.1
226 password: pass
227 backend:
228 engine: ml2
229 tenant_network_types: "flat,vxlan"
230 mechanism:
Elena Ezhovad6a080c2017-10-09 15:25:16 +0400231 ovs:
232 driver: openvswitch
Jiri Broulik74f61112016-11-21 20:23:47 +0100233
234Compute Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100235
236.. code-block:: yaml
237
238 neutron:
239 compute:
240 enabled: True
241 version: mitaka
242 message_queue:
243 engine: rabbitmq
244 host: 127.0.0.1
245 port: 5672
246 user: openstack
247 password: pwd
248 virtual_host: '/openstack'
249 local_ip: 192.168.20.20 # br-mesh ip address
250 dvr: True # disabled for non DVR use case
251 agent_mode: dvr
252 external_access: false # Compute node with DVR for east-west only, Network Node has True as default
253 metadata:
254 host: 127.0.0.1
Vasyl Saienko2fffc842017-06-14 10:35:26 +0300255 password: pass
Jiri Broulik74f61112016-11-21 20:23:47 +0100256 backend:
257 engine: ml2
258 tenant_network_types: "flat,vxlan"
259 mechanism:
Elena Ezhovad6a080c2017-10-09 15:25:16 +0400260 ovs:
261 driver: openvswitch
Petr Michalec61f7ab22016-11-29 16:29:09 +0100262 audit:
263 enabled: false
Jiri Broulik74f61112016-11-21 20:23:47 +0100264
Aleš Komárek41e82312017-04-11 13:37:44 +0200265
Dmitry Stremkouskia3a4ab42017-10-23 17:37:12 +0300266Disable physnet1 bridge
267-----------------------
268
269By default we have external access turned on, so among any physnets in
270your reclass there would be additional one: physnet1, which is mapped to
271br-floating
272
273If you need internal nets only without this bridge, remove br-floating
274and configurations mappings. Disable mappings for this bridge on
275neutron-servers:
276
277.. code-block:: yaml
278
279 neutron:
280 server:
281 external_access: false
282
283gateways:
284
285.. code-block:: yaml
286
287 neutron:
288 gateway:
289 external_access: false
290
291compute nodes:
292
293.. code-block:: yaml
294
295 neutron:
296 compute:
297 external_access: false
298
299
Marcin Iwinskic50137a2018-01-22 14:18:24 +0100300Add additional bridge mappings for OVS bridges
301----------------------------------------------
302
303By default we have external access turned on, so among any physnets in
304your reclass there would be additional one: physnet1, which is mapped to
305br-floating
306
307If you need to add extra non-default bridge mappings they can be defined
308separately for both gateways and compute nodes:
309
310gateways:
311
312.. code-block:: yaml
313
314 neutron:
315 gateway:
316 bridge_mappings:
317 physnet4: br-floating-internet
318
319compute nodes:
320
321.. code-block:: yaml
322
323 neutron:
324 compute:
325 bridge_mappings:
326 physnet4: br-floating-internet
327
328
Dmitry Stremkouski4b410222017-11-18 11:29:55 +0300329Specify different mtu values for different physnets
330---------------------------------------------------
331
332Neutron Server
333
334.. code-block:: yaml
335
336 neutron:
337 server:
338 version: mitaka
339 backend:
340 external_mtu: 1500
341 tenant_net_mtu: 9000
342 ironic_net_mtu: 9000
343
Jiri Broulik74f61112016-11-21 20:23:47 +0100344Neutron VXLAN tenant networks with Network Nodes (non DVR)
Aleš Komárek41e82312017-04-11 13:37:44 +0200345----------------------------------------------------------
Jiri Broulik74f61112016-11-21 20:23:47 +0100346
347This section describes a network solution that utilises VxLAN overlay
348 networks without DVR with all routers being managed on the network nodes.
349
Aleš Komárek41e82312017-04-11 13:37:44 +0200350Neutron Server
Jiri Broulik74f61112016-11-21 20:23:47 +0100351
352.. code-block:: yaml
353
354 neutron:
355 server:
356 version: mitaka
Jiri Broulik74f61112016-11-21 20:23:47 +0100357 bind:
358 address: 172.20.0.1
359 port: 9696
360 database:
361 engine: mysql
362 host: 127.0.0.1
363 port: 3306
364 name: neutron
365 user: neutron
366 password: pwd
367 identity:
368 engine: keystone
369 host: 127.0.0.1
370 port: 35357
371 user: neutron
372 password: pwd
373 tenant: service
Dennis Dmitriev37114722017-03-06 16:52:26 +0200374 endpoint_type: internal
Jiri Broulik74f61112016-11-21 20:23:47 +0100375 message_queue:
376 engine: rabbitmq
377 host: 127.0.0.1
378 port: 5672
379 user: openstack
380 password: pwd
381 virtual_host: '/openstack'
382 global_physnet_mtu: 9000
383 l3_ha: True
384 dvr: False
385 backend:
386 engine: ml2
387 tenant_network_types= "flat,vxlan"
388 external_mtu: 9000
389 mechanism:
Elena Ezhovad6a080c2017-10-09 15:25:16 +0400390 ovs:
391 driver: openvswitch
Jiri Broulik74f61112016-11-21 20:23:47 +0100392
Aleš Komárek41e82312017-04-11 13:37:44 +0200393Network Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100394
395.. code-block:: yaml
396
397 neutron:
398 gateway:
399 enabled: True
400 version: mitaka
401 message_queue:
402 engine: rabbitmq
403 host: 127.0.0.1
404 port: 5672
405 user: openstack
406 password: pwd
407 virtual_host: '/openstack'
408 local_ip: 192.168.20.20 # br-mesh ip address
409 dvr: False
410 agent_mode: legacy
Simon Pasquierc03af112017-04-10 10:35:14 +0200411 availability_zone: az1
Jiri Broulik74f61112016-11-21 20:23:47 +0100412 metadata:
413 host: 127.0.0.1
414 password: pass
415 backend:
416 engine: ml2
417 tenant_network_types: "flat,vxlan"
418 mechanism:
Elena Ezhovad6a080c2017-10-09 15:25:16 +0400419 ovs:
420 driver: openvswitch
Jiri Broulik74f61112016-11-21 20:23:47 +0100421
422Compute Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100423
424.. code-block:: yaml
425
426 neutron:
427 compute:
428 enabled: True
429 version: mitaka
430 message_queue:
431 engine: rabbitmq
432 host: 127.0.0.1
433 port: 5672
434 user: openstack
435 password: pwd
436 virtual_host: '/openstack'
437 local_ip: 192.168.20.20 # br-mesh ip address
438 external_access: False
Vasyl Saienko2fffc842017-06-14 10:35:26 +0300439 dvr: False
Jiri Broulik74f61112016-11-21 20:23:47 +0100440 backend:
441 engine: ml2
442 tenant_network_types: "flat,vxlan"
443 mechanism:
Elena Ezhovad6a080c2017-10-09 15:25:16 +0400444 ovs:
445 driver: openvswitch
Jiri Broulik74f61112016-11-21 20:23:47 +0100446
Aleš Komárek41e82312017-04-11 13:37:44 +0200447Neutron VXLAN tenant networks with Network Nodes with DVR
448---------------------------------------------------------
449
450With DVR for East-West and North-South, DVR everywhere, Network node for SNAT.
Jiri Broulik74f61112016-11-21 20:23:47 +0100451
Vasyl Saienko2fffc842017-06-14 10:35:26 +0300452This section describes a network solution that utilises VxLAN
453overlay networks with DVR with North-South and East-West. Network
Jiri Broulik74f61112016-11-21 20:23:47 +0100454Node is used only for SNAT.
455
Aleš Komárek41e82312017-04-11 13:37:44 +0200456Neutron Server
Jiri Broulik74f61112016-11-21 20:23:47 +0100457
458.. code-block:: yaml
459
460 neutron:
461 server:
462 version: mitaka
Jiri Broulik74f61112016-11-21 20:23:47 +0100463 bind:
464 address: 172.20.0.1
465 port: 9696
466 database:
467 engine: mysql
468 host: 127.0.0.1
469 port: 3306
470 name: neutron
471 user: neutron
472 password: pwd
473 identity:
474 engine: keystone
475 host: 127.0.0.1
476 port: 35357
477 user: neutron
478 password: pwd
479 tenant: service
Dennis Dmitriev37114722017-03-06 16:52:26 +0200480 endpoint_type: internal
Jiri Broulik74f61112016-11-21 20:23:47 +0100481 message_queue:
482 engine: rabbitmq
483 host: 127.0.0.1
484 port: 5672
485 user: openstack
486 password: pwd
487 virtual_host: '/openstack'
488 global_physnet_mtu: 9000
489 l3_ha: False
490 dvr: True
491 backend:
492 engine: ml2
493 tenant_network_types= "flat,vxlan"
494 external_mtu: 9000
495 mechanism:
Elena Ezhovad6a080c2017-10-09 15:25:16 +0400496 ovs:
497 driver: openvswitch
Jiri Broulik74f61112016-11-21 20:23:47 +0100498
Aleš Komárek41e82312017-04-11 13:37:44 +0200499Network Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100500
501.. code-block:: yaml
502
503 neutron:
504 gateway:
505 enabled: True
506 version: mitaka
507 message_queue:
508 engine: rabbitmq
509 host: 127.0.0.1
510 port: 5672
511 user: openstack
512 password: pwd
513 virtual_host: '/openstack'
514 local_ip: 192.168.20.20 # br-mesh ip address
515 dvr: True
516 agent_mode: dvr_snat
Simon Pasquierc03af112017-04-10 10:35:14 +0200517 availability_zone: az1
Jiri Broulik74f61112016-11-21 20:23:47 +0100518 metadata:
519 host: 127.0.0.1
520 password: pass
521 backend:
522 engine: ml2
523 tenant_network_types: "flat,vxlan"
524 mechanism:
Elena Ezhovad6a080c2017-10-09 15:25:16 +0400525 ovs:
526 driver: openvswitch
Jiri Broulik74f61112016-11-21 20:23:47 +0100527
528Compute Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100529
530.. code-block:: yaml
531
532 neutron:
533 compute:
534 enabled: True
535 version: mitaka
536 message_queue:
537 engine: rabbitmq
538 host: 127.0.0.1
539 port: 5672
540 user: openstack
541 password: pwd
542 virtual_host: '/openstack'
543 local_ip: 192.168.20.20 # br-mesh ip address
544 dvr: True
Vasyl Saienko2fffc842017-06-14 10:35:26 +0300545 external_access: True
Jiri Broulik74f61112016-11-21 20:23:47 +0100546 agent_mode: dvr
Simon Pasquierc03af112017-04-10 10:35:14 +0200547 availability_zone: az1
Jiri Broulik74f61112016-11-21 20:23:47 +0100548 metadata:
549 host: 127.0.0.1
550 password: pass
551 backend:
552 engine: ml2
553 tenant_network_types: "flat,vxlan"
554 mechanism:
Elena Ezhovad6a080c2017-10-09 15:25:16 +0400555 ovs:
556 driver: openvswitch
Jiri Broulik74f61112016-11-21 20:23:47 +0100557
558Sample Linux network configuration for DVR
Jiri Broulik74f61112016-11-21 20:23:47 +0100559
560.. code-block:: yaml
561
562 linux:
563 network:
564 bridge: openvswitch
565 interface:
566 eth1:
567 enabled: true
568 type: eth
569 mtu: 9000
570 proto: manual
571 eth2:
572 enabled: true
573 type: eth
574 mtu: 9000
575 proto: manual
576 eth3:
577 enabled: true
578 type: eth
579 mtu: 9000
580 proto: manual
581 br-int:
582 enabled: true
583 mtu: 9000
584 type: ovs_bridge
585 br-floating:
586 enabled: true
587 mtu: 9000
588 type: ovs_bridge
589 float-to-ex:
590 enabled: true
591 type: ovs_port
592 mtu: 65000
593 bridge: br-floating
594 br-mgmt:
595 enabled: true
596 type: bridge
597 mtu: 9000
598 address: ${_param:single_address}
599 netmask: 255.255.255.0
600 use_interfaces:
601 - eth1
602 br-mesh:
603 enabled: true
604 type: bridge
605 mtu: 9000
606 address: ${_param:tenant_address}
607 netmask: 255.255.255.0
608 use_interfaces:
609 - eth2
610 br-ex:
611 enabled: true
612 type: bridge
613 mtu: 9000
614 address: ${_param:external_address}
615 netmask: 255.255.255.0
616 use_interfaces:
617 - eth3
618 use_ovs_ports:
619 - float-to-ex
620
Thom Gerdes3282d072017-05-30 22:06:04 +0000621Additonal VXLAN tenant network settings
622---------------------------------------
623
624The default multicast group of 224.0.0.1 only multicasts to a single subnet.
625Allow overriding it to allow larger underlay network topologies.
626
627Neutron Server
628
629.. code-block:: yaml
630
631 neutron:
632 server:
633 vxlan:
634 group: 239.0.0.0/8
635 vni_ranges: "2:65535"
636
Jiri Broulik74f61112016-11-21 20:23:47 +0100637Neutron VLAN tenant networks with Network Nodes
Aleš Komárek41e82312017-04-11 13:37:44 +0200638-----------------------------------------------
Jiri Broulik74f61112016-11-21 20:23:47 +0100639
640VLAN tenant provider
641
642Neutron Server only
Jiri Broulik74f61112016-11-21 20:23:47 +0100643
644.. code-block:: yaml
645
646 neutron:
647 server:
648 version: mitaka
Jiri Broulik74f61112016-11-21 20:23:47 +0100649 ...
650 global_physnet_mtu: 9000
651 l3_ha: False
652 dvr: True
653 backend:
654 engine: ml2
655 tenant_network_types: "flat,vlan" # Can be mixed flat,vlan,vxlan
656 tenant_vlan_range: "1000:2000"
657 external_vlan_range: "100:200" # Does not have to be defined.
658 external_mtu: 9000
659 mechanism:
Elena Ezhovad6a080c2017-10-09 15:25:16 +0400660 ovs:
661 driver: openvswitch
Jiri Broulik74f61112016-11-21 20:23:47 +0100662
663Compute node
Jiri Broulik74f61112016-11-21 20:23:47 +0100664
665.. code-block:: yaml
666
667 neutron:
668 compute:
669 version: mitaka
Jiri Broulik74f61112016-11-21 20:23:47 +0100670 ...
671 dvr: True
672 agent_mode: dvr
673 external_access: False
674 backend:
675 engine: ml2
676 tenant_network_types: "flat,vlan" # Can be mixed flat,vlan,vxlan
677 mechanism:
Elena Ezhovad6a080c2017-10-09 15:25:16 +0400678 ovs:
679 driver: openvswitch
Jiri Broulik74f61112016-11-21 20:23:47 +0100680
Oleg Bondarevddb9af12018-07-02 19:07:57 +0400681Neutron with explicit physical networks
682---------------------------------------
Oleg Bondarevada324f2018-06-04 14:55:38 +0400683
684Neutron Server only
685
686.. code-block:: yaml
687
688 neutron:
689 server:
690 version: ocata
691 ...
692 backend:
693 engine: ml2
694 tenant_network_types: "flat,vlan" # Can be mixed flat,vlan,vxlan
695 ...
Oleg Bondarevddb9af12018-07-02 19:07:57 +0400696 # also need to configure corresponding bridge_mappings on
Oleg Bondarevada324f2018-06-04 14:55:38 +0400697 # compute and gateway nodes
Oleg Bondarev47d9e2d2018-07-03 13:22:26 +0400698 flat_networks_default: '*' # '*' to allow arbitrary names or '' to disable
Oleg Bondarevddb9af12018-07-02 19:07:57 +0400699 physnets: # only listed physnets will be configured (overrides physnet1/2/3)
700 external:
701 mtu: 1500
Oleg Bondarev47d9e2d2018-07-03 13:22:26 +0400702 types:
703 - flat # possible values - 'flat' or 'vlan'
Oleg Bondarevada324f2018-06-04 14:55:38 +0400704 sriov_net:
705 mtu: 9000 # Optional, defaults to 1500
706 vlan_range: '100:200' # Optional
Oleg Bondarev47d9e2d2018-07-03 13:22:26 +0400707 types:
708 - vlan
Oleg Bondarevada324f2018-06-04 14:55:38 +0400709 ext_net2:
710 mtu: 1500
Oleg Bondarev47d9e2d2018-07-03 13:22:26 +0400711 types:
712 - flat
713 - vlan
Oleg Bondarevada324f2018-06-04 14:55:38 +0400714 mechanism:
715 ovs:
716 driver: openvswitch
717
Aleš Komárek41e82312017-04-11 13:37:44 +0200718Advanced Neutron Features (DPDK, SR-IOV)
Oleg Bondarev0575ae42017-07-28 16:36:25 +0400719----------------------------------------
Aleš Komárek41e82312017-04-11 13:37:44 +0200720
Jakub Pavlik8f83ccc2017-02-27 11:15:39 +0100721Neutron OVS DPDK
Jakub Pavlik8f83ccc2017-02-27 11:15:39 +0100722
723Enable datapath netdev for neutron openvswitch agent
724
725.. code-block:: yaml
726
727 neutron:
728 server:
729 version: mitaka
730 ...
731 dpdk: True
732 ...
733
734 neutron:
735 compute:
736 version: mitaka
Jakub Pavlik8f83ccc2017-02-27 11:15:39 +0100737 dpdk: True
Michael Polenchuk52911652018-04-12 22:09:49 +0400738 vhost_mode: client # options: client|server (default)
Oleg Bondarevee7e8302017-10-16 17:20:38 +0400739 vhost_socket_dir: /var/run/openvswitch
Jakub Pavlik8f83ccc2017-02-27 11:15:39 +0100740 backend:
741 engine: ml2
742 ...
743 mechanism:
Elena Ezhovad6a080c2017-10-09 15:25:16 +0400744 ovs:
745 driver: openvswitch
Jakub Pavlik8f83ccc2017-02-27 11:15:39 +0100746
Jakub Pavlik70555cb2017-02-26 18:48:02 +0100747Neutron OVS SR-IOV
Jakub Pavlik70555cb2017-02-26 18:48:02 +0100748
749.. code-block:: yaml
750
751 neutron:
752 server:
753 version: mitaka
Jakub Pavlik70555cb2017-02-26 18:48:02 +0100754 backend:
755 engine: ml2
756 ...
757 mechanism:
Elena Ezhovad6a080c2017-10-09 15:25:16 +0400758 ovs:
759 driver: openvswitch
760 sriov:
761 driver: sriovnicswitch
Michael Polenchuk0bf59a72018-06-19 18:06:56 +0400762 # Driver w/ highest number will be placed ahead in the list (default is 0).
763 # It's recommended for SR-IOV driver to set an order >0 to get it
764 # before (for example) the opendaylight one.
765 order: 9
Jakub Pavlik70555cb2017-02-26 18:48:02 +0100766
767 neutron:
768 compute:
769 version: mitaka
Jakub Pavlik70555cb2017-02-26 18:48:02 +0100770 ...
771 backend:
772 engine: ml2
773 tenant_network_types: "flat,vlan" # Can be mixed flat,vlan,vxlan
774 sriov:
775 nic_one:
776 devname: eth1
777 physical_network: physnet3
778 mechanism:
Elena Ezhovad6a080c2017-10-09 15:25:16 +0400779 ovs:
780 driver: openvswitch
Jakub Pavlik70555cb2017-02-26 18:48:02 +0100781
Ilya Chukhnakovf4c2bb32017-06-08 02:03:15 +0300782Neutron with VLAN-aware-VMs
Oleg Bondarev0575ae42017-07-28 16:36:25 +0400783---------------------------
Ilya Chukhnakovf4c2bb32017-06-08 02:03:15 +0300784
785.. code-block:: yaml
786
787 neutron:
788 server:
789 vlan_aware_vms: true
790 ....
791 compute:
792 vlan_aware_vms: true
793 ....
794 gateway:
795 vlan_aware_vms: true
796
Oleg Bondarevacb2e532018-03-06 10:43:59 +0400797Neutron with BGP VPN (BaGPipe driver)
Oleg Bondarevb63d27f2018-02-14 19:21:06 +0400798---------------------------
799
800.. code-block:: yaml
801
802 neutron:
803 server:
804 version: pike
805 bgp_vpn:
Oleg Bondarevacb2e532018-03-06 10:43:59 +0400806 enabled: true
Michael Polenchuk0b3c5dd2018-06-27 12:04:32 +0400807 driver: bagpipe # Options: bagpipe/opencontrail/opendaylight[_v2]
Oleg Bondarevb63d27f2018-02-14 19:21:06 +0400808 ....
809 compute:
810 version: pike
811 bgp_vpn:
Oleg Bondarevacb2e532018-03-06 10:43:59 +0400812 enabled: true
Michael Polenchuk0b3c5dd2018-06-27 12:04:32 +0400813 driver: bagpipe # Options: bagpipe/opencontrail/opendaylight[_v2]
Oleg Bondarevacb2e532018-03-06 10:43:59 +0400814 bagpipe:
815 local_address: 192.168.20.20 # IP address for mpls/gre tunnels
816 peers: 192.168.20.30 # IP addresses of BGP peers
817 autonomous_system: 64512 # Autonomous System number
818 enable_rtc: True # Enable RT Constraint (RFC4684)
Oleg Bondarevb63d27f2018-02-14 19:21:06 +0400819 backend:
Oleg Bondarev878ac462018-04-23 17:48:15 +0400820 ovs_extension: # for OVS agent only, not supported in SRIOV agent
Oleg Bondarevb63d27f2018-02-14 19:21:06 +0400821 bagpipe_bgpvpn:
822 enabled: True
823
Oleksii Chupryn16cb4e02018-02-26 14:20:39 +0200824Neutron with DHCP agent on compute node
825---------------------------------------
826
827.. code-block:: yaml
828
829 neutron:
830 ....
831 compute:
832 dhcp_agent_enabled: true
833 ....
834
Oleg Bondarev0575ae42017-07-28 16:36:25 +0400835Neutron with OVN
836----------------
837
838Control node:
839
840.. code-block:: yaml
841
842 neutron:
843 server:
844 backend:
845 engine: ovn
846 mechanism:
847 ovn:
848 driver: ovn
849 tenant_network_types: "geneve,flat"
Michael Polenchukf59229b2018-06-19 16:24:49 +0400850 ovn:
851 ovn_l3_scheduler: leastloaded # valid options: chance, leastloaded
852 neutron_sync_mode: repair # valid options: log, off, repair
Michael Polenchuka3d492b2017-12-27 15:49:43 +0400853 ovn_ctl_opts:
854 db-nb-create-insecure-remote: 'yes'
855 db-sb-create-insecure-remote: 'yes'
Oleg Bondarev0575ae42017-07-28 16:36:25 +0400856
857Compute node:
858
859.. code-block:: yaml
860
861 neutron:
862 compute:
863 local_ip: 10.2.0.105
864 controller_vip: 10.1.0.101
865 external_access: false
866 backend:
867 engine: ovn
868
Michael Polenchukcccd1a52018-02-02 17:41:16 +0400869
870Neutron L2 Gateway
871----------------
872
873Control node:
874
875.. code-block:: yaml
876
877 neutron:
878 server:
879 version: pike
880 l2gw:
881 enabled: true
882 periodic_monitoring_interval: 5
883 quota_l2_gateway: 20
884 # service_provider=<service_type>:<name>:<driver>[:default]
885 service_provider: L2GW:OpenDaylight:networking_odl.l2gateway.driver.OpenDaylightL2gwDriver:default
886 backend:
887 engine: ml2
888
889Network/Gateway node:
890
891.. code-block:: yaml
892
893 neutron:
894 gateway:
895 version: pike
896 l2gw:
897 enabled: true
898 debug: true
899 socket_timeout: 20
900 ovsdb_hosts:
901 # <ovsdb_name>: <ip address>:<port>
902 # - ovsdb_name: a user defined symbolic identifier of physical switch
903 # - ip address: the address or dns name for the OVSDB server (i.e. pointer to the switch)
904 ovsdb1: 10.164.5.33:6632
905 ovsdb2: 10.164.4.33:6632
906
907
Michael Polenchuk87d2b742017-06-29 12:05:25 +0400908OpenDaylight integration
909------------------------
910
911Control node:
912
913.. code-block:: yaml
914
915 neutron:
916 server:
917 backend:
918 opendaylight: true
919 router: odl-router_v2
920 host: 10.20.0.77
921 rest_api_port: 8282
922 user: admin
923 password: admin
924 ovsdb_connection: tcp:127.0.0.1:6639
Oleksii Chuprynfed79572018-07-20 14:11:35 +0300925 ovsdb_interface: native
Michael Polenchuk87d2b742017-06-29 12:05:25 +0400926 enable_websocket: true
927 enable_dhcp_service: false
928 mechanism:
929 ovs:
930 driver: opendaylight_v2
Michael Polenchuk0bf59a72018-06-19 18:06:56 +0400931 order: 1
Michael Polenchuk87d2b742017-06-29 12:05:25 +0400932
933Network/Gateway node:
934
935.. code-block:: yaml
936
937 neutron:
938 gateway:
939 backend:
940 router: odl-router_v2
941 ovsdb_connection: tcp:127.0.0.1:6639
Oleksii Chuprynfed79572018-07-20 14:11:35 +0300942 ovsdb_interface: native
Michael Polenchuk87d2b742017-06-29 12:05:25 +0400943 opendaylight:
944 ovsdb_server_iface: ptcp:6639:127.0.0.1
945 ovsdb_odl_iface: tcp:10.20.0.77:6640
946 tunnel_ip: 10.1.0.110
947 provider_mappings: physnet1:br-floating
948
949Compute node:
950
951.. code-block:: yaml
952
953 neutron:
954 compute:
955 opendaylight:
956 ovsdb_server_iface: ptcp:6639:127.0.0.1
957 ovsdb_odl_iface: tcp:10.20.0.77:6640
958 tunnel_ip: 10.1.0.105
959 provider_mappings: physnet1:br-floating
960
961
Aleš Komárek41e82312017-04-11 13:37:44 +0200962Neutron Server
963--------------
964
Jiri Broulik74f61112016-11-21 20:23:47 +0100965Neutron Server with OpenContrail
Jiri Broulik74f61112016-11-21 20:23:47 +0100966
967.. code-block:: yaml
968
969 neutron:
970 server:
marcoa4428a32016-06-10 11:50:16 +0200971 backend:
972 engine: contrail
973 host: contrail_discovery_host
974 port: 8082
975 user: admin
976 password: password
977 tenant: admin
978 token: token
979
980Neutron Server with Midonet
981
982.. code-block:: yaml
983
984 neutron:
985 server:
986 backend:
987 engine: midonet
988 host: midonet_api_host
989 port: 8181
990 user: admin
991 password: password
992
Jakub Pavlik6dd5c0a2016-03-09 14:18:15 +0100993Neutron Keystone region
994
995.. code-block:: yaml
996
997 neutron:
998 server:
999 enabled: true
1000 version: kilo
1001 ...
1002 identity:
1003 region: RegionTwo
1004 ...
1005 compute:
1006 region: RegionTwo
1007 ...
1008
Jiri Konecny93b19992016-04-12 11:15:39 +02001009Client-side RabbitMQ HA setup
1010
1011.. code-block:: yaml
1012
1013 neutron:
1014 server:
1015 ....
1016 message_queue:
1017 engine: rabbitmq
1018 members:
1019 - host: 10.0.16.1
1020 - host: 10.0.16.2
1021 - host: 10.0.16.3
1022 user: openstack
1023 password: pwd
1024 virtual_host: '/openstack'
1025 ....
1026
Kirill Bespalov8fffe022017-08-03 17:55:02 +03001027
Kirill Bespalovdd748b62017-11-21 10:42:57 +03001028Configuring TLS communications
1029------------------------------
Kirill Bespalov8fffe022017-08-03 17:55:02 +03001030
Kirill Bespalov8fffe022017-08-03 17:55:02 +03001031
Kirill Bespalovdd748b62017-11-21 10:42:57 +03001032**Note:** by default system wide installed CA certs are used, so ``cacert_file`` param is optional, as well as ``cacert``.
1033
1034
1035- **RabbitMQ TLS**
Kirill Bespalov8fffe022017-08-03 17:55:02 +03001036
1037.. code-block:: yaml
1038
Kirill Bespalovdd748b62017-11-21 10:42:57 +03001039 neutron:
1040 server, gateway, compute:
Kirill Bespalov8fffe022017-08-03 17:55:02 +03001041 message_queue:
Kirill Bespalovdd748b62017-11-21 10:42:57 +03001042 port: 5671
Kirill Bespalov8fffe022017-08-03 17:55:02 +03001043 ssl:
1044 enabled: True
Kirill Bespalovdd748b62017-11-21 10:42:57 +03001045 (optional) cacert: cert body if the cacert_file does not exists
1046 (optional) cacert_file: /etc/openstack/rabbitmq-ca.pem
1047 (optional) version: TLSv1_2
Kirill Bespalov8fffe022017-08-03 17:55:02 +03001048
1049
Kirill Bespalovdd748b62017-11-21 10:42:57 +03001050- **MySQL TLS**
Kirill Bespalov8fffe022017-08-03 17:55:02 +03001051
1052.. code-block:: yaml
1053
Kirill Bespalovdd748b62017-11-21 10:42:57 +03001054 neutron:
1055 server:
1056 database:
Kirill Bespalov8fffe022017-08-03 17:55:02 +03001057 ssl:
1058 enabled: True
Kirill Bespalovdd748b62017-11-21 10:42:57 +03001059 (optional) cacert: cert body if the cacert_file does not exists
1060 (optional) cacert_file: /etc/openstack/mysql-ca.pem
Kirill Bespalov8fffe022017-08-03 17:55:02 +03001061
Kirill Bespalovdd748b62017-11-21 10:42:57 +03001062- **Openstack HTTPS API**
1063
Kirill Bespalov8fffe022017-08-03 17:55:02 +03001064
1065.. code-block:: yaml
1066
Kirill Bespalovdd748b62017-11-21 10:42:57 +03001067 neutron:
1068 server:
1069 identity:
1070 protocol: https
1071 (optional) cacert_file: /etc/openstack/proxy.pem
Kirill Bespalov8fffe022017-08-03 17:55:02 +03001072
1073
Petr Michalec61f7ab22016-11-29 16:29:09 +01001074Enable auditing filter, ie: CADF
1075
1076.. code-block:: yaml
1077
1078 neutron:
1079 server:
1080 audit:
1081 enabled: true
1082 ....
1083 filter_factory: 'keystonemiddleware.audit:filter_factory'
1084 map_file: '/etc/pycadf/neutron_api_audit_map.conf'
1085 ....
1086 compute:
1087 audit:
1088 enabled: true
1089 ....
1090 filter_factory: 'keystonemiddleware.audit:filter_factory'
1091 map_file: '/etc/pycadf/neutron_api_audit_map.conf'
1092 ....
Jiri Konecny93b19992016-04-12 11:15:39 +02001093
Oleg Bondarev98870a32017-05-29 16:53:19 +04001094Neutron with security groups disabled
1095
1096.. code-block:: yaml
1097
1098 neutron:
1099 server:
1100 security_groups_enabled: False
1101 ....
1102 compute:
1103 security_groups_enabled: False
1104 ....
1105 gateway:
1106 security_groups_enabled: False
1107
Jiri Konecny93b19992016-04-12 11:15:39 +02001108
Aleš Komárek41e82312017-04-11 13:37:44 +02001109Neutron Client
1110--------------
Jiri Broulik5368cc52017-02-08 18:53:59 +01001111
1112Neutron networks
1113
1114.. code-block:: yaml
1115
1116 neutron:
1117 client:
1118 enabled: true
1119 server:
1120 identity:
Richard Felklaac256a2017-03-23 15:43:49 +01001121 endpoint_type: internalURL
Jiri Broulik5368cc52017-02-08 18:53:59 +01001122 network:
1123 inet1:
1124 tenant: demo
1125 shared: False
1126 admin_state_up: True
1127 router_external: True
1128 provider_physical_network: inet
1129 provider_network_type: flat
1130 provider_segmentation_id: 2
1131 subnet:
1132 inet1-subnet1:
1133 cidr: 192.168.90.0/24
1134 enable_dhcp: False
1135 inet2:
1136 tenant: admin
1137 shared: False
1138 router_external: True
1139 provider_network_type: "vlan"
1140 subnet:
1141 inet2-subnet1:
1142 cidr: 192.168.92.0/24
1143 enable_dhcp: False
1144 inet2-subnet2:
1145 cidr: 192.168.94.0/24
1146 enable_dhcp: True
1147 identity1:
1148 network:
1149 ...
1150
Jiri Broulik5368cc52017-02-08 18:53:59 +01001151Neutron routers
1152
1153.. code-block:: yaml
1154
1155 neutron:
1156 client:
1157 enabled: true
1158 server:
1159 identity:
Richard Felklaac256a2017-03-23 15:43:49 +01001160 endpoint_type: internalURL
Jiri Broulik5368cc52017-02-08 18:53:59 +01001161 router:
1162 inet1-router:
1163 tenant: demo
1164 admin_state_up: True
1165 gateway_network: inet
1166 interfaces:
1167 - inet1-subnet1
1168 - inet1-subnet2
1169 identity1:
1170 router:
1171 ...
1172
1173 TODO: implement adding new interfaces to a router while updating it
1174
1175
1176Neutron security groups
1177
1178.. code-block:: yaml
1179
1180 neutron:
1181 client:
1182 enabled: true
1183 server:
1184 identity:
Richard Felklaac256a2017-03-23 15:43:49 +01001185 endpoint_type: internalURL
Jiri Broulik5368cc52017-02-08 18:53:59 +01001186 security_group:
1187 security_group1:
1188 tenant: demo
1189 description: security group 1
1190 rules:
1191 - direction: ingress
1192 ethertype: IPv4
1193 protocol: TCP
1194 port_range_min: 1
1195 port_range_max: 65535
1196 remote_ip_prefix: 0.0.0.0/0
1197 - direction: ingress
1198 ethertype: IPv4
1199 protocol: UDP
1200 port_range_min: 1
1201 port_range_max: 65535
1202 remote_ip_prefix: 0.0.0.0/0
1203 - direction: ingress
1204 protocol: ICMP
1205 remote_ip_prefix: 0.0.0.0/0
1206 identity1:
1207 security_group:
1208 ...
1209
1210 TODO: implement updating existing security rules (now it adds new rule if trying to update existing one)
1211
Jiri Broulikde2e2902017-02-13 15:03:47 +01001212
1213Floating IP addresses
1214
1215.. code-block:: yaml
1216
1217 neutron:
1218 client:
1219 enabled: true
1220 server:
1221 identity:
Richard Felklaac256a2017-03-23 15:43:49 +01001222 endpoint_type: internalURL
Jiri Broulikde2e2902017-02-13 15:03:47 +01001223 floating_ip:
1224 prx01-instance:
1225 server: prx01.mk22-lab-basic.local
1226 subnet: private-subnet1
1227 network: public-net1
1228 tenant: demo
1229 gtw01-instance:
1230 ...
1231
1232.. note:: The network must have flag router:external set to True.
1233 Instance port in the stated subnet will be associated with the dynamically generated floating IP.
1234
1235
Oleg Iurchenkode71cc22017-09-18 17:58:56 +03001236
1237Enable Neutron extensions (QoS, DNS, etc.)
1238------------------------------------------
1239.. code-block:: yaml
1240
1241 neutron:
1242 server:
1243 backend:
1244 extension:
Oleg Iurchenkoac17f4f2017-10-06 11:24:27 +03001245 dns:
1246 enabled: True
1247 host: 127.0.0.1
1248 port: 9001
1249 protocol: http
1250 ....
1251 qos
1252 enabled: True
Oleg Iurchenkode71cc22017-09-18 17:58:56 +03001253
Oleg Bondarev878ac462018-04-23 17:48:15 +04001254Different Neutron extensions for different agents
1255-------------------------------------------------
1256.. code-block:: yaml
1257
1258 neutron:
1259 server:
1260 backend:
1261 extension: # common extensions for OVS and SRIOV agents
1262 dns:
1263 enabled: True
1264 ...
1265 qos
1266 enabled: True
1267 ovs_extension: # OVS specific extensions
1268 bagpipe_bgpvpn:
1269 enabled: True
1270 sriov_extension: # SRIOV specific extensions
1271 dummy:
1272 enabled: True
Oleg Iurchenkode71cc22017-09-18 17:58:56 +03001273
Oleg Iurchenko8cf6cf52017-09-18 15:44:03 +03001274
1275Neutron with Designate
1276-----------------------------------------
1277.. code-block:: yaml
1278
1279 neutron:
1280 server:
1281 backend:
1282 extension:
1283 dns:
1284 enabled: True
1285 host: 127.0.0.1
1286 port: 9001
1287 protocol: http
1288
Marek Celoud67ce2062018-01-31 13:44:55 +01001289Enable RBAC for OpenContrail engine
1290-----------------------------------
1291.. code-block:: yaml
1292
1293 neutron:
1294 server:
1295 backend:
1296 engine: contrail
1297 rbac:
1298 enabled: True
Oleg Iurchenko8cf6cf52017-09-18 15:44:03 +03001299
Dmitry Kalashnik35dd0e02017-12-07 14:16:25 +04001300Enhanced logging with logging.conf
1301----------------------------------
1302
1303By default logging.conf is disabled.
1304
1305That is possible to enable per-binary logging.conf with new variables:
1306 * openstack_log_appender - set it to true to enable log_config_append for all OpenStack services;
1307 * openstack_fluentd_handler_enabled - set to true to enable FluentHandler for all Openstack services.
Oleksii Chupryn156c5f42018-02-07 10:06:50 +02001308 * openstack_ossyslog_handler_enabled - set to true to enable OSSysLogHandler for all Openstack services.
Dmitry Kalashnik35dd0e02017-12-07 14:16:25 +04001309
Oleksii Chupryn156c5f42018-02-07 10:06:50 +02001310Only WatchedFileHandler, OSSysLogHandler and FluentHandler are available.
Dmitry Kalashnik35dd0e02017-12-07 14:16:25 +04001311
1312Also it is possible to configure this with pillar:
1313
1314.. code-block:: yaml
1315
1316 neutron:
1317 server:
1318 logging:
1319 log_appender: true
1320 log_handlers:
1321 watchedfile:
1322 enabled: true
1323 fluentd:
1324 enabled: true
Oleksii Chupryn156c5f42018-02-07 10:06:50 +02001325 ossyslog:
1326 enabled: true
Dmitry Kalashnik35dd0e02017-12-07 14:16:25 +04001327 ....
1328 compute:
1329 logging:
1330 log_appender: true
1331 log_handlers:
1332 watchedfile:
1333 enabled: true
1334 fluentd:
1335 enabled: true
Oleksii Chupryn156c5f42018-02-07 10:06:50 +02001336 ossyslog:
1337 enabled: true
Dmitry Kalashnik35dd0e02017-12-07 14:16:25 +04001338 ....
1339 gateway:
1340 logging:
1341 log_appender: true
1342 log_handlers:
1343 watchedfile:
1344 enabled: true
1345 fluentd:
1346 enabled: true
Oleksii Chupryn156c5f42018-02-07 10:06:50 +02001347 ossyslog:
1348 enabled: true
Oleg Iurchenko8cf6cf52017-09-18 15:44:03 +03001349
Oleksii Grudevfe73ee52018-05-14 14:08:11 +03001350Logging levels pillar example:
1351
1352.. code-block:: yaml
1353
1354 neutron:
1355 server:
1356 logging:
1357 log_appender: true
1358 loggers:
1359 root:
1360 level: 'DEBUG'
1361 neutron:
1362 level: 'DEBUG'
1363 amqplib:
1364 level: 'DEBUG'
1365 sqlalchemy:
1366 level: 'DEBUG'
1367 boto:
1368 level: 'DEBUG'
1369 suds:
1370 level: 'DEBUG'
1371 eventletwsgi:
1372 level: 'DEBUG'
1373 ......
1374
1375
Filip Pytloun20c0a442017-02-02 13:05:13 +01001376Documentation and Bugs
1377======================
1378
1379To learn how to install and update salt-formulas, consult the documentation
1380available online at:
1381
1382 http://salt-formulas.readthedocs.io/
1383
1384In the unfortunate event that bugs are discovered, they should be reported to
1385the appropriate issue tracker. Use Github issue tracker for specific salt
1386formula:
1387
1388 https://github.com/salt-formulas/salt-formula-neutron/issues
1389
1390For feature requests, bug reports or blueprints affecting entire ecosystem,
1391use Launchpad salt-formulas project:
1392
1393 https://launchpad.net/salt-formulas
1394
1395You can also join salt-formulas-users team and subscribe to mailing list:
1396
1397 https://launchpad.net/~salt-formulas-users
1398
1399Developers wishing to work on the salt-formulas projects should always base
1400their work on master branch and submit pull request against specific formula.
1401
1402 https://github.com/salt-formulas/salt-formula-neutron
1403
1404Any questions or feedback is always welcome so feel free to join our IRC
1405channel:
1406
1407 #salt-formulas @ irc.freenode.net