blob: 5330ff0f26ec0098c82e5e21f979af64e7d585cf [file] [log] [blame]
Michael Polenchuk37aacbf2018-12-11 17:27:40 +04001{%- if pillar.neutron.gateway is defined %}
2{%- from "neutron/map.jinja" import gateway as neutron with context %}
3{%- else %}
4{%- from "neutron/map.jinja" import compute as neutron with context %}
5{%- endif %}
6[DEFAULT]
7
8{%- if neutron.logging is defined %}
9{%- set _data = neutron.logging %}
10{%- include "oslo_templates/files/" ~ neutron.version ~ "/oslo/_log.conf" %}
11{%- endif %}
12
13
14[agent]
15
16#
17# From neutron.ml2.ovs.agent
18#
19
20# Minimize polling by monitoring ovsdb for interface changes. (boolean value)
21#minimize_polling = true
22
23# The number of seconds to wait before respawning the ovsdb monitor after
24# losing communication with it. (integer value)
25#ovsdb_monitor_respawn_interval = 30
26
27{%- if "vxlan" in neutron.backend.tenant_network_types %}
28# Network types supported by the agent (gre, vxlan and/or geneve). (list value)
29tunnel_types = vxlan
30
31# The UDP port to use for VXLAN tunnels. (port value)
32# Minimum value: 0
33# Maximum value: 65535
34vxlan_udp_port = 4789
35
36# MTU size of veth interfaces (integer value)
37#veth_mtu = 9000
38
39# Use ML2 l2population mechanism driver to learn remote MAC and IPs and improve
40# tunnel scalability. (boolean value)
41l2_population = true
42
43# Enable local ARP responder if it is supported. Requires OVS 2.1 and ML2
44# l2population driver. Allows the switch (when supporting an overlay) to
45# respond to an ARP request locally without performing a costly ARP broadcast
46# into the overlay. (boolean value)
47arp_responder = true
48
49# Set or un-set the don't fragment (DF) bit on outgoing IP packet carrying
50# GRE/VXLAN tunnel. (boolean value)
51#dont_fragment = true
52{%- endif %}
53
54# Make the l2 agent run in DVR mode. (boolean value)
55enable_distributed_routing = {{ neutron.get('dvr', 'false') }}
56
57# Reset flow table on start. Setting this to True will cause brief traffic
58# interruption. (boolean value)
59drop_flows_on_start = false
60
61# Set or un-set the tunnel header checksum on outgoing IP packet carrying
62# GRE/VXLAN tunnel. (boolean value)
63#tunnel_csum = false
64
65# DEPRECATED: Selects the Agent Type reported (string value)
66# This option is deprecated for removal.
67# Its value may be silently ignored in the future.
68#agent_type = Open vSwitch agent
69
70# Extensions list to use (list value)
71{%- set extensions = [] %}
72{%- for section_key in ('ovs_extension', 'extension') %}
73{%- for ext_name, ext_params in neutron.backend.get(section_key, {}).iteritems() %}
74{%- do extensions.append(ext_name) if ext_params.get('enabled', False) %}
75{%- endfor %}
76{%- endfor %}
77{#- NOTE: Below section is for backward compatible when extentions were #}
78{#- separated properties without neutron:backend:extension pillar #}
79{%- do extensions.append('qos') if neutron.get('qos', True) %}
80extensions = {{ extensions|unique|join(',') }}
81
82
83[network_log]
84
85#
86# From neutron.ml2.ovs.agent
87#
88
89# Maximum packets logging per second. (integer value)
90# Minimum value: 100
91#rate_limit = 100
92
93# Maximum number of packets per rate_limit. (integer value)
94# Minimum value: 25
95#burst_limit = 25
96
97# Output logfile path on agent side, default syslog file. (string value)
98#local_output_log_base = <None>
99
100
101[ovs]
102
103#
104# From neutron.ml2.ovs.agent
105#
106
107# Integration bridge to use. Do not change this parameter unless you have a
108# good reason to. This is the name of the OVS integration bridge. There is one
109# per hypervisor. The integration bridge acts as a virtual 'patch bay'. All VM
110# VIFs are attached to this bridge and then 'patched' according to their
111# network connectivity. (string value)
112#integration_bridge = br-int
113
114# Tunnel bridge to use. (string value)
115#tunnel_bridge = br-tun
116
117# Peer patch port in integration bridge for tunnel bridge. (string value)
118#int_peer_patch_port = patch-tun
119
120# Peer patch port in tunnel bridge for integration bridge. (string value)
121#tun_peer_patch_port = patch-int
122
123# IP address of local overlay (tunnel) network endpoint. Use either an IPv4 or
124# IPv6 address that resides on one of the host network interfaces. The IP
125# version of this value must match the value of the 'overlay_ip_version' option
126# in the ML2 plug-in configuration file on the neutron server node(s). (IP
127# address value)
128#local_ip = <None>
129{%- if 'vxlan' in neutron.backend.tenant_network_types %}
130local_ip = {{ neutron.local_ip }}
131{%- endif %}
132
133# Comma-separated list of <physical_network>:<bridge> tuples mapping physical
134# network names to the agent's node-specific Open vSwitch bridge names to be
135# used for flat and VLAN networks. The length of bridge names should be no more
136# than 11. Each bridge must exist, and should have a physical network interface
137# configured as a port. All physical networks configured on the server should
138# have mappings to appropriate bridges on each agent. Note: If you remove a
139# bridge from this mapping, make sure to disconnect it from the integration
140# bridge as it won't be managed by the agent anymore. (list value)
141{% set bridge_mappings = [] %}
142{%- if neutron.bridge_mappings is defined %}
143{%- for physnet, bridge in neutron.bridge_mappings.iteritems() %}
144{%- do bridge_mappings.append(physnet ~ ':' ~ bridge) %}
145{%- endfor %}
146{%- endif %}
147{%- if 'br-floating' not in neutron.get('bridge_mappings', {}).values() %}
148{%- if neutron.get('external_access', True) %}
149{%- do bridge_mappings.append('physnet1:br-floating') %}
150{%- endif %}
151{%- endif %}
152{%- if 'br-prv' not in neutron.get('bridge_mappings', {}).values() %}
153{%- if "vlan" in neutron.backend.tenant_network_types %}
154{%- do bridge_mappings.append('physnet2:br-prv') %}
155{%- endif %}
156{%- endif %}
157{%- if 'br-baremetal' not in neutron.get('bridge_mappings', {}).values() %}
158{%- if neutron.get('ironic_enabled', False) %}
159{%- do bridge_mappings.append('physnet3:br-baremetal') %}
160{%- endif %}
161{%- endif %}
162{%- if bridge_mappings %}
163bridge_mappings = {{ bridge_mappings|join(',') }}
164{%- else %}
165#bridge_mappings =
166{%- endif %}
167
168# Use veths instead of patch ports to interconnect the integration bridge to
169# physical networks. Support kernel without Open vSwitch patch port support so
170# long as it is set to True. (boolean value)
171#use_veth_interconnection = false
172
173# DEPRECATED: OpenFlow interface to use. (string value)
174# Possible values:
175# ovs-ofctl - <No description provided>
176# native - <No description provided>
177# This option is deprecated for removal.
178# Its value may be silently ignored in the future.
179#of_interface = native
180
181# OVS datapath to use. 'system' is the default value and corresponds to the
182# kernel datapath. To enable the userspace datapath set this value to 'netdev'.
183# (string value)
184# Possible values:
185# system - <No description provided>
186# netdev - <No description provided>
187#datapath_type = system
188{%- if neutron.dpdk %}
189datapath_type = netdev
190{%- endif %}
191
192# OVS vhost-user socket directory. (string value)
193#vhostuser_socket_dir = /var/run/openvswitch
194{%- if neutron.vhost_socket_dir is defined %}
195vhostuser_socket_dir = {{ neutron.vhost_socket_dir }}
196{%- endif %}
197
198# Address to listen on for OpenFlow connections. Used only for 'native' driver.
199# (IP address value)
200#of_listen_address = 127.0.0.1
201
202# Port to listen on for OpenFlow connections. Used only for 'native' driver.
203# (port value)
204# Minimum value: 0
205# Maximum value: 65535
206#of_listen_port = 6633
207
208# Timeout in seconds to wait for the local switch connecting the controller.
209# Used only for 'native' driver. (integer value)
210#of_connect_timeout = 30
211
212# Timeout in seconds to wait for a single OpenFlow request. Used only for
213# 'native' driver. (integer value)
214#of_request_timeout = 10
215
216# DEPRECATED: The interface for interacting with the OVSDB (string value)
217# Possible values:
218# native - <No description provided>
219# vsctl - <No description provided>
220# This option is deprecated for removal.
221# Its value may be silently ignored in the future.
222#ovsdb_interface = native
223
224# The connection string for the OVSDB backend. Will be used by ovsdb-client
225# when monitoring and used for the all ovsdb commands when native
226# ovsdb_interface is enabled (string value)
227#ovsdb_connection = tcp:127.0.0.1:6640
228
229# The SSL private key file to use when interacting with OVSDB. Required when
230# using an "ssl:" prefixed ovsdb_connection (string value)
231#ssl_key_file = <None>
232
233# The SSL certificate file to use when interacting with OVSDB. Required when
234# using an "ssl:" prefixed ovsdb_connection (string value)
235#ssl_cert_file = <None>
236
237# The Certificate Authority (CA) certificate to use when interacting with
238# OVSDB. Required when using an "ssl:" prefixed ovsdb_connection (string
239# value)
240#ssl_ca_cert_file = <None>
241
242# Enable OVSDB debug logs (boolean value)
243#ovsdb_debug = false
244
245
246[securitygroup]
247
248#
249# From neutron.ml2.ovs.agent
250#
251
252# Driver for security groups firewall in the L2 agent (string value)
253{%- if not neutron.get('security_groups_enabled', True) %}
254{%- set _firewall_driver = 'noop' %}
255{%- elif neutron.dpdk or neutron.get('vlan_aware_vms', False) %}
256{%- set _firewall_driver = 'openvswitch' %}
257{%- else %}
258{%- set _firewall_driver = 'iptables_hybrid' %}
259{%- endif %}
260firewall_driver = {{ neutron.get('firewall_driver', _firewall_driver) }}
261
262# Controls whether the neutron security group API is enabled in the server. It
263# should be false when using no security groups or using the nova security
264# group API. (boolean value)
265enable_security_group = {{ neutron.get('security_groups_enabled', 'true') }}
266
267# Use ipset to speed-up the iptables based security groups. Enabling ipset
268# support requires that ipset is installed on L2 agent node. (boolean value)
269#enable_ipset = true
270
271
272[xenapi]
273
274#
275# From neutron.ml2.xenapi
276#
277
278# URL for connection to XenServer/Xen Cloud Platform. (string value)
279#connection_url = <None>
280
281# Username for connection to XenServer/Xen Cloud Platform. (string value)
282#connection_username = <None>
283
284# Password for connection to XenServer/Xen Cloud Platform. (string value)
285#connection_password = <None>