blob: 62d1a487dd1aa327c86f3b024ebcfd091879c9a0 [file] [log] [blame]
Pavel Cizinsky0a0ebdc2017-08-31 21:37:37 +02001{%- from "neutron/map.jinja" import fwaas, server with context %}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +02002[DEFAULT]
3
4#
5# From neutron
6#
7
8# Where to store Neutron state files. This directory must be writable by the
9# agent. (string value)
10#state_path = /var/lib/neutron
11state_path = /var/lib/neutron
12
13# The host IP to bind to (string value)
14#bind_host = 0.0.0.0
15bind_host = {{ server.bind.address }}
16
17# The port to bind to (port value)
18# Minimum value: 0
19# Maximum value: 65535
20#bind_port = 9696
21bind_port = {{ server.bind.port }}
22
23# The path for API extensions. Note that this can be a colon-separated list of
24# paths. For example: api_extensions_path =
25# extensions:/path/to/more/exts:/even/more/exts. The __path__ of
26# neutron.extensions is appended to this, so if your extensions are in there
27# you don't need to specify them here. (string value)
Jiri Broulik74f61112016-11-21 20:23:47 +010028
29{% if server.backend.engine == "contrail" %}
30
Petr Jediný1f37f542017-05-15 15:15:24 +020031api_extensions_path = extensions:/usr/lib/python2.7/dist-packages/neutron_plugin_contrail/extensions:/usr/lib/python2.7/dist-packages/neutron_lbaas/extensions
Jiri Broulik74f61112016-11-21 20:23:47 +010032# The core plugin Neutron will use (string value)
33core_plugin = neutron_plugin_contrail.plugins.opencontrail.contrail_plugin.NeutronPluginContrailCoreV2
34
Petr Jediný1f37f542017-05-15 15:15:24 +020035service_plugins = neutron_plugin_contrail.plugins.opencontrail.loadbalancer.v2.plugin.LoadBalancerPluginV2
Jiri Broulik74f61112016-11-21 20:23:47 +010036{% elif server.backend.engine == "ml2" %}
37
38core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin
39
Pavel Cizinsky0a0ebdc2017-08-31 21:37:37 +020040service_plugins =neutron.services.l3_router.l3_router_plugin.L3RouterPlugin,neutron.services.metering.metering_plugin.MeteringPlugin
41{%- if server.lbaas is defined -%},neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2{%- endif -%}
42{%- if fwaas.get('enabled', False) -%},{{ fwaas[fwaas.api_version]['service_plugin'] }}{%- endif -%}
Jiri Broulik74f61112016-11-21 20:23:47 +010043
44{% endif %}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +020045
46# The type of authentication to use (string value)
47#auth_strategy = keystone
48auth_strategy = keystone
49
Jakub Pavlik21f60ae2016-04-13 11:07:53 +020050# The service plugins Neutron will use (list value)
Jakub Pavlik21f60ae2016-04-13 11:07:53 +020051# The base MAC address Neutron will use for VIFs. The first 3 octets will
52# remain unchanged. If the 4th octet is not 00, it will also be used. The
53# others will be randomly generated. (string value)
54#base_mac = fa:16:3e:00:00:00
55
56# How many times Neutron will retry MAC generation (integer value)
57#mac_generation_retries = 16
Jiri Broulik74f61112016-11-21 20:23:47 +010058mac_generation_retries = 32
Jakub Pavlik21f60ae2016-04-13 11:07:53 +020059
60# Allow the usage of the bulk API (boolean value)
61#allow_bulk = true
62
63# Allow the usage of the pagination (boolean value)
Swann Croiset9407daf2017-02-02 15:27:56 +010064{% if server.get('allow_pagination', false) %}
65allow_pagination = True
66{% else %}
67allow_pagination = False
68{% endif %}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +020069
70# Allow the usage of the sorting (boolean value)
71#allow_sorting = false
72
73# The maximum number of items returned in a single response, value was
74# 'infinite' or negative integer means no limit (string value)
Swann Croiset9407daf2017-02-02 15:27:56 +010075pagination_max_limit = {{ server.pagination_max_limit|default('-1') }}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +020076
77# Default value of availability zone hints. The availability zone aware
78# schedulers use this when the resources availability_zone_hints is empty.
79# Multiple availability zones can be specified by a comma separated string.
80# This value can be empty. In this case, even if availability_zone_hints for a
81# resource is empty, availability zone is considered for high availability
82# while scheduling the resource. (list value)
83#default_availability_zones =
84
85# Maximum number of DNS nameservers per subnet (integer value)
86#max_dns_nameservers = 5
87
88# Maximum number of host routes per subnet (integer value)
89#max_subnet_host_routes = 20
90
91# Maximum number of fixed ips per port. This option is deprecated and will be
92# removed in the N release. (integer value)
93# This option is deprecated for removal.
94# Its value may be silently ignored in the future.
95#max_fixed_ips_per_port = 5
96
97# Default IPv4 subnet pool to be used for automatic subnet CIDR allocation.
98# Specifies by UUID the pool to be used in case where creation of a subnet is
99# being called without a subnet pool ID. If not set then no pool will be used
100# unless passed explicitly to the subnet create. If no pool is used, then a
101# CIDR must be passed to create a subnet and that subnet will not be allocated
102# from any pool; it will be considered part of the tenant's private address
103# space. This option is deprecated for removal in the N release. (string value)
104# This option is deprecated for removal.
105# Its value may be silently ignored in the future.
106#default_ipv4_subnet_pool = <None>
107
108# Default IPv6 subnet pool to be used for automatic subnet CIDR allocation.
109# Specifies by UUID the pool to be used in case where creation of a subnet is
110# being called without a subnet pool ID. See the description for
111# default_ipv4_subnet_pool for more information. This option is deprecated for
112# removal in the N release. (string value)
113# This option is deprecated for removal.
114# Its value may be silently ignored in the future.
115#default_ipv6_subnet_pool = <None>
116
117# Enables IPv6 Prefix Delegation for automatic subnet CIDR allocation. Set to
118# True to enable IPv6 Prefix Delegation for subnet allocation in a PD-capable
119# environment. Users making subnet creation requests for IPv6 subnets without
120# providing a CIDR or subnetpool ID will be given a CIDR via the Prefix
121# Delegation mechanism. Note that enabling PD will override the behavior of the
122# default IPv6 subnetpool. (boolean value)
123#ipv6_pd_enabled = false
124
125# DHCP lease duration (in seconds). Use -1 to tell dnsmasq to use infinite
126# lease times. (integer value)
127# Deprecated group/name - [DEFAULT]/dhcp_lease_time
128#dhcp_lease_duration = 86400
Jiri Broulik74f61112016-11-21 20:23:47 +0100129dhcp_lease_duration = 600
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200130
131# Domain to use for building the hostnames (string value)
132#dns_domain = openstacklocal
133dns_domain = {{ server.dns_domain }}
134
135# Driver for external DNS integration. (string value)
136#external_dns_driver = <None>
137
138# Allow sending resource operation notification to DHCP agent (boolean value)
139#dhcp_agent_notification = true
140
141# Allow overlapping IP support in Neutron. Attention: the following parameter
142# MUST be set to False if Neutron is being used in conjunction with Nova
143# security groups. (boolean value)
144#allow_overlapping_ips = false
145allow_overlapping_ips = True
146
147# Hostname to be used by the Neutron server, agents and services running on
148# this machine. All the agents and services running on this machine must use
149# the same host value. (string value)
150#host = example.domain
151
152# Ensure that configured gateway is on subnet. For IPv6, validate only if
153# gateway is not a link local address. Deprecated, to be removed during the
154# Newton release, at which point the gateway will not be forced on to subnet.
155# (boolean value)
156# This option is deprecated for removal.
157# Its value may be silently ignored in the future.
158#force_gateway_on_subnet = true
159
160# Send notification to nova when port status changes (boolean value)
161#notify_nova_on_port_status_changes = true
162notify_nova_on_port_status_changes = True
163
164# Send notification to nova when port data (fixed_ips/floatingip) changes so
165# nova can update its cache. (boolean value)
166#notify_nova_on_port_data_changes = true
Jakub Pavlik85ae6882016-10-19 15:10:20 +0200167notify_nova_on_port_data_changes = True
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200168
169# Number of seconds between sending events to nova if there are any events to
170# send. (integer value)
171#send_events_interval = 2
172
173# If True, advertise network MTU values if core plugin calculates them. MTU is
174# advertised to running instances via DHCP and RA MTU options. (boolean value)
175#advertise_mtu = true
Jiri Broulik74f61112016-11-21 20:23:47 +0100176advertise_mtu = True
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200177
178# Neutron IPAM (IP address management) driver to use. If ipam_driver is not set
179# (default behavior), no IPAM driver is used. In order to use the reference
180# implementation of Neutron IPAM driver, use 'internal'. (string value)
181#ipam_driver = <None>
182
183# If True, then allow plugins that support it to create VLAN transparent
184# networks. (boolean value)
185#vlan_transparent = false
186
187# This will choose the web framework in which to run the Neutron API server.
188# 'pecan' is a new experiemental rewrite of the API server. (string value)
189# Allowed values: legacy, pecan
190#web_framework = legacy
191
192# MTU of the underlying physical network. Neutron uses this value to calculate
193# MTU for all virtual network components. For flat and VLAN networks, neutron
194# uses this value without modification. For overlay networks such as VXLAN,
195# neutron automatically subtracts the overlay protocol overhead from this
196# value. Defaults to 1500, the standard value for Ethernet. (integer value)
197# Deprecated group/name - [ml2]/segment_mtu
198#global_physnet_mtu = 1500
Jiri Broulik74f61112016-11-21 20:23:47 +0100199global_physnet_mtu = {{ server.get('global_physnet_mtu', '1500') }}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200200
201# Number of backlog requests to configure the socket with (integer value)
202#backlog = 4096
203
204# Number of seconds to keep retrying to listen (integer value)
205#retry_until_window = 30
206
207# Enable SSL on the API server (boolean value)
208#use_ssl = false
209
210# Seconds between running periodic tasks (integer value)
211#periodic_interval = 40
212
213# Number of separate API worker processes for service. If not specified, the
214# default is equal to the number of CPUs available for best performance.
215# (integer value)
216#api_workers = <None>
217
218# Number of RPC worker processes for service (integer value)
219#rpc_workers = 1
Oleg Bondarevd8d671c2017-07-13 19:15:19 +0400220rpc_workers = {{ grains.num_cpus }}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200221
222# Number of RPC worker processes dedicated to state reports queue (integer
223# value)
224#rpc_state_report_workers = 1
Oleg Bondarevb0caba82017-07-17 16:28:20 +0400225rpc_state_report_workers = 4
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200226
227# Range of seconds to randomly delay when starting the periodic task scheduler
228# to reduce stampeding. (Disable by setting to 0) (integer value)
229#periodic_fuzzy_delay = 5
230
231#
232# From neutron.agent
233#
234
235# The driver used to manage the virtual interface. (string value)
236#interface_driver = <None>
237
238# Location for Metadata Proxy UNIX domain socket. (string value)
239#metadata_proxy_socket = $state_path/metadata_proxy
240
241# User (uid or name) running metadata proxy after its initialization (if empty:
242# agent effective user). (string value)
243#metadata_proxy_user =
244
245# Group (gid or name) running metadata proxy after its initialization (if
246# empty: agent effective group). (string value)
247#metadata_proxy_group =
248
249# Enable/Disable log watch by metadata proxy. It should be disabled when
250# metadata_proxy_user/group is not allowed to read/write its log file and
251# copytruncate logrotate option must be used if logrotate is enabled on
252# metadata proxy log files. Option default value is deduced from
253# metadata_proxy_user: watch log is enabled if metadata_proxy_user is agent
254# effective user id/name. (boolean value)
255#metadata_proxy_watch_log = <None>
256
257#
258# From neutron.db
259#
260
261# Seconds to regard the agent is down; should be at least twice
262# report_interval, to be sure the agent is down for good. (integer value)
263#agent_down_time = 75
Jiri Broulik74f61112016-11-21 20:23:47 +0100264agent_down_time = 30
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200265
266# Representing the resource type whose load is being reported by the agent.
267# This can be "networks", "subnets" or "ports". When specified (Default is
268# networks), the server will extract particular load sent as part of its agent
269# configuration object from the agent report state, which is the number of
270# resources being consumed, at every report_interval.dhcp_load_type can be used
271# in combination with network_scheduler_driver =
272# neutron.scheduler.dhcp_agent_scheduler.WeightScheduler When the
273# network_scheduler_driver is WeightScheduler, dhcp_load_type can be configured
274# to represent the choice for the resource being balanced. Example:
275# dhcp_load_type=networks (string value)
276# Allowed values: networks, subnets, ports
277#dhcp_load_type = networks
278
279# Agent starts with admin_state_up=False when enable_new_agents=False. In the
280# case, user's resources will not be scheduled automatically to the agent until
281# admin changes admin_state_up to True. (boolean value)
282#enable_new_agents = true
283
284# Maximum number of routes per router (integer value)
285#max_routes = 30
286
287# Define the default value of enable_snat if not provided in
288# external_gateway_info. (boolean value)
289#enable_snat_by_default = true
290
291# Driver to use for scheduling network to DHCP agent (string value)
292#network_scheduler_driver = neutron.scheduler.dhcp_agent_scheduler.WeightScheduler
293
294# Allow auto scheduling networks to DHCP agent. (boolean value)
295#network_auto_schedule = true
296
297# Automatically remove networks from offline DHCP agents. (boolean value)
298#allow_automatic_dhcp_failover = true
299
300# Number of DHCP agents scheduled to host a tenant network. If this number is
301# greater than 1, the scheduler automatically assigns multiple DHCP agents for
302# a given tenant network, providing high availability for DHCP service.
303# (integer value)
304#dhcp_agents_per_network = 1
Jiri Broulik74f61112016-11-21 20:23:47 +0100305dhcp_agents_per_network = 2
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200306
307# Enable services on an agent with admin_state_up False. If this option is
308# False, when admin_state_up of an agent is turned False, services on it will
309# be disabled. Agents with admin_state_up False are not selected for automatic
310# scheduling regardless of this option. But manual scheduling to such agents is
311# available if this option is True. (boolean value)
312#enable_services_on_agents_with_admin_state_down = false
313
314# The base mac address used for unique DVR instances by Neutron. The first 3
315# octets will remain unchanged. If the 4th octet is not 00, it will also be
316# used. The others will be randomly generated. The 'dvr_base_mac' *must* be
317# different from 'base_mac' to avoid mixing them up with MAC's allocated for
318# tenant ports. A 4 octet example would be dvr_base_mac = fa:16:3f:4f:00:00.
319# The default is 3 octet (string value)
320#dvr_base_mac = fa:16:3f:00:00:00
321
322# System-wide flag to determine the type of router that tenants can create.
323# Only admin can override. (boolean value)
324#router_distributed = false
Jiri Broulik74f61112016-11-21 20:23:47 +0100325router_distributed = {{ server.get('dvr', 'False') }}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200326
327# Driver to use for scheduling router to a default L3 agent (string value)
328#router_scheduler_driver = neutron.scheduler.l3_agent_scheduler.LeastRoutersScheduler
Jiri Broulik74f61112016-11-21 20:23:47 +0100329router_scheduler_driver = neutron.scheduler.l3_agent_scheduler.ChanceScheduler
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200330
331# Allow auto scheduling of routers to L3 agent. (boolean value)
332#router_auto_schedule = true
333
334# Automatically reschedule routers from offline L3 agents to online L3 agents.
335# (boolean value)
336#allow_automatic_l3agent_failover = false
Oleg Bondarevb0caba82017-07-17 16:28:20 +0400337allow_automatic_l3agent_failover = true
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200338
339# Enable HA mode for virtual routers. (boolean value)
340#l3_ha = false
Jiri Broulik74f61112016-11-21 20:23:47 +0100341l3_ha = {{ server.get('l3_ha', 'False') }}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200342
343# Maximum number of L3 agents which a HA router will be scheduled on. If it is
344# set to 0 then the router will be scheduled on every agent. (integer value)
345#max_l3_agents_per_router = 3
Oleg Bondarevb0caba82017-07-17 16:28:20 +0400346max_l3_agents_per_router = 0
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200347
348# Minimum number of L3 agents which a HA router will be scheduled on. If it is
349# set to 0 then the router will be scheduled on every agent. (integer value)
350#min_l3_agents_per_router = 2
351
352# Subnet used for the l3 HA admin network. (string value)
353#l3_ha_net_cidr = 169.254.192.0/18
354
355# The network type to use when creating the HA network for an HA router. By
356# default or if empty, the first 'tenant_network_types' is used. This is
357# helpful when the VRRP traffic should use a specific network which is not the
358# default one. (string value)
359#l3_ha_network_type =
360
361# The physical network name with which the HA network can be created. (string
362# value)
363#l3_ha_network_physical_name =
364
365#
366# From neutron.extensions
367#
368
369# Maximum number of allowed address pairs (integer value)
370#max_allowed_address_pair = 10
371
372#
373# From neutron.qos
374#
375
376# Drivers list to use to send the update notification (list value)
377#notification_drivers = m,e,s,s,a,g,e,_,q,u,e,u,e
378
379#
380# From oslo.log
381#
382
383# If set to true, the logging level will be set to DEBUG instead of the default
384# INFO level. (boolean value)
385#debug = false
386
387# If set to false, the logging level will be set to WARNING instead of the
388# default INFO level. (boolean value)
389# This option is deprecated for removal.
390# Its value may be silently ignored in the future.
391#verbose = true
392verbose = true
393
394# The name of a logging configuration file. This file is appended to any
395# existing logging configuration files. For details about logging configuration
396# files, see the Python logging module documentation. Note that when logging
397# configuration files are used then all logging configuration is set in the
398# configuration file and other logging configuration options are ignored (for
399# example, logging_context_format_string). (string value)
400# Deprecated group/name - [DEFAULT]/log_config
401#log_config_append = <None>
402
403# Defines the format string for %%(asctime)s in log records. Default:
404# %(default)s . This option is ignored if log_config_append is set. (string
405# value)
406#log_date_format = %Y-%m-%d %H:%M:%S
407
408# (Optional) Name of log file to send logging output to. If no default is set,
409# logging will go to stderr as defined by use_stderr. This option is ignored if
410# log_config_append is set. (string value)
411# Deprecated group/name - [DEFAULT]/logfile
412#log_file = <None>
413
414# (Optional) The base directory used for relative log_file paths. This option
415# is ignored if log_config_append is set. (string value)
416# Deprecated group/name - [DEFAULT]/logdir
417#log_dir = <None>
418
419# Uses logging handler designed to watch file system. When log file is moved or
420# removed this handler will open a new log file with specified path
421# instantaneously. It makes sense only if log_file option is specified and
422# Linux platform is used. This option is ignored if log_config_append is set.
423# (boolean value)
424#watch_log_file = false
425
426# Use syslog for logging. Existing syslog format is DEPRECATED and will be
427# changed later to honor RFC5424. This option is ignored if log_config_append
428# is set. (boolean value)
429#use_syslog = false
430
431# Syslog facility to receive log lines. This option is ignored if
432# log_config_append is set. (string value)
433#syslog_log_facility = LOG_USER
434
435# Log output to standard error. This option is ignored if log_config_append is
436# set. (boolean value)
437#use_stderr = true
438
439# Format string to use for log messages with context. (string value)
440#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
441
442# Format string to use for log messages when context is undefined. (string
443# value)
444#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
445
446# Additional data to append to log message when logging level for the message
447# is DEBUG. (string value)
448#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
449
450# Prefix each line of exception output with this format. (string value)
451#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
452
453# Defines the format string for %(user_identity)s that is used in
454# logging_context_format_string. (string value)
455#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
456
457# List of package logging levels in logger=LEVEL pairs. This option is ignored
458# if log_config_append is set. (list value)
459#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO
460
461# Enables or disables publication of error events. (boolean value)
462#publish_errors = false
463
464# The format for an instance that is passed with the log message. (string
465# value)
466#instance_format = "[instance: %(uuid)s] "
467
468# The format for an instance UUID that is passed with the log message. (string
469# value)
470#instance_uuid_format = "[instance: %(uuid)s] "
471
472# Enables or disables fatal status of deprecations. (boolean value)
473#fatal_deprecations = false
474
475#
476# From oslo.messaging
477#
478
479# Size of RPC connection pool. (integer value)
480# Deprecated group/name - [DEFAULT]/rpc_conn_pool_size
481#rpc_conn_pool_size = 30
482
483# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP.
484# The "host" option should point or resolve to this address. (string value)
485#rpc_zmq_bind_address = *
486
487# MatchMaker driver. (string value)
488# Allowed values: redis, dummy
489#rpc_zmq_matchmaker = redis
490
491# Type of concurrency used. Either "native" or "eventlet" (string value)
492#rpc_zmq_concurrency = eventlet
493
494# Number of ZeroMQ contexts, defaults to 1. (integer value)
495#rpc_zmq_contexts = 1
496
497# Maximum number of ingress messages to locally buffer per topic. Default is
498# unlimited. (integer value)
499#rpc_zmq_topic_backlog = <None>
500
501# Directory for holding IPC sockets. (string value)
502#rpc_zmq_ipc_dir = /var/run/openstack
503
504# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match
505# "host" option, if running Nova. (string value)
506#rpc_zmq_host = localhost
507
508# Seconds to wait before a cast expires (TTL). The default value of -1
509# specifies an infinite linger period. The value of 0 specifies no linger
510# period. Pending messages shall be discarded immediately when the socket is
511# closed. Only supported by impl_zmq. (integer value)
512#rpc_cast_timeout = -1
513rpc_cast_timeout=30
514
515# The default number of seconds that poll should wait. Poll raises timeout
516# exception when timeout expired. (integer value)
517#rpc_poll_timeout = 1
518
519# Expiration timeout in seconds of a name service record about existing target
520# ( < 0 means no timeout). (integer value)
521#zmq_target_expire = 120
522
523# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean
524# value)
525#use_pub_sub = true
526
527# Minimal port number for random ports range. (port value)
528# Minimum value: 0
529# Maximum value: 65535
530#rpc_zmq_min_port = 49152
531
532# Maximal port number for random ports range. (integer value)
533# Minimum value: 1
534# Maximum value: 65536
535#rpc_zmq_max_port = 65536
536
537# Number of retries to find free port number before fail with ZMQBindError.
538# (integer value)
539#rpc_zmq_bind_port_retries = 100
540
541# Size of executor thread pool. (integer value)
542# Deprecated group/name - [DEFAULT]/rpc_thread_pool_size
543#executor_thread_pool_size = 64
544executor_thread_pool_size = 70
545
546# Seconds to wait for a response from a call. (integer value)
547#rpc_response_timeout = 60
Oleg Bondarevb0caba82017-07-17 16:28:20 +0400548rpc_response_timeout=120
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200549
550# A URL representing the messaging driver to use and its full configuration. If
551# not set, we fall back to the rpc_backend option and driver specific
552# configuration. (string value)
553#transport_url = <None>
554
555# The messaging driver to use, defaults to rabbit. Other drivers include amqp
556# and zmq. (string value)
557#rpc_backend = rabbit
558rpc_backend = rabbit
559
560# The default exchange under which topics are scoped. May be overridden by an
561# exchange name specified in the transport_url option. (string value)
562#control_exchange = neutron
563
564#
565# From oslo.service.wsgi
566#
567
568# File name for the paste.deploy config for api service (string value)
569#api_paste_config = api-paste.ini
570
571# A python format string that is used as the template to generate log lines.
572# The following values can beformatted into it: client_ip, date_time,
573# request_line, status_code, body_length, wall_seconds. (string value)
574#wsgi_log_format = %(client_ip)s "%(request_line)s" status: %(status_code)s len: %(body_length)s time: %(wall_seconds).7f
575
576# Sets the value of TCP_KEEPIDLE in seconds for each server socket. Not
577# supported on OS X. (integer value)
578#tcp_keepidle = 600
579
580# Size of the pool of greenthreads used by wsgi (integer value)
581#wsgi_default_pool_size = 1000
582
583# Maximum line size of message headers to be accepted. max_header_line may need
584# to be increased when using large tokens (typically those generated by the
585# Keystone v3 API with big service catalogs). (integer value)
586#max_header_line = 16384
587
588# If False, closes the client socket connection explicitly. (boolean value)
589#wsgi_keep_alive = true
590
591# Timeout for client connections' socket operations. If an incoming connection
592# is idle for this number of seconds it will be closed. A value of '0' means
593# wait forever. (integer value)
594#client_socket_timeout = 900
595
Jiri Broulik74f61112016-11-21 20:23:47 +0100596nova_url = http://{{ server.compute.host }}:8774/v2
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200597
598[agent]
599
600#
601# From neutron.agent
602#
603
604# Root helper application. Use 'sudo neutron-rootwrap
605# /etc/neutron/rootwrap.conf' to use the real root filter facility. Change to
606# 'sudo' to skip the filtering and just run the command directly. (string
607# value)
608root_helper = sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
609
610# Use the root helper when listing the namespaces on a system. This may not be
611# required depending on the security configuration. If the root helper is not
612# required, set this to False for a performance improvement. (boolean value)
613#use_helper_for_ns_read = true
614
615# Root helper daemon application to use when possible. (string value)
Oleg Bondarev61a63db2017-07-12 12:31:23 +0400616root_helper_daemon = sudo neutron-rootwrap-daemon /etc/neutron/rootwrap.conf
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200617
618# Seconds between nodes reporting state to server; should be less than
619# agent_down_time, best if it is half or less than agent_down_time. (floating
620# point value)
621#report_interval = 30
Jiri Broulik74f61112016-11-21 20:23:47 +0100622report_interval = 10
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200623
624# Log agent heartbeats (boolean value)
625#log_agent_heartbeats = false
626
627# Add comments to iptables rules. Set to false to disallow the addition of
628# comments to generated iptables rules that describe each rule's purpose.
629# System must support the iptables comments module for addition of comments.
630# (boolean value)
631#comment_iptables_rules = true
632
633# Action to be executed when a child process dies (string value)
634# Allowed values: respawn, exit
635#check_child_processes_action = respawn
636
637# Interval between checks of child process liveness (seconds), use 0 to disable
638# (integer value)
639#check_child_processes_interval = 60
640
641# Availability zone of this node (string value)
642#availability_zone = nova
643
644
645[cors]
646
647#
648# From oslo.middleware.cors
649#
650
651# Indicate whether this resource may be shared with the domain received in the
652# requests "origin" header. (list value)
653#allowed_origin = <None>
Ondrej Smola12ff8192017-04-28 12:39:11 +0200654{%- if server.cors.allowed_origin is defined %}
655allowed_origin = {{ server.cors.allowed_origin }}
656{%- endif %}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200657
658# Indicate that the actual request can include user credentials (boolean value)
659#allow_credentials = true
Ondrej Smola12ff8192017-04-28 12:39:11 +0200660{%- if server.cors.allow_credentials is defined %}
661allow_credentials = {{ server.cors.allow_credentials }}
662{%- endif %}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200663
664# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple
665# Headers. (list value)
666#expose_headers = X-Auth-Token,X-Subject-Token,X-Service-Token,X-OpenStack-Request-ID,OpenStack-Volume-microversion
Ondrej Smola12ff8192017-04-28 12:39:11 +0200667{%- if server.cors.expose_headers is defined %}
668expose_headers = {{ server.cors.expose_headers }}
669{%- endif %}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200670
671# Maximum cache age of CORS preflight requests. (integer value)
672#max_age = 3600
Ondrej Smola12ff8192017-04-28 12:39:11 +0200673{%- if server.cors.max_age is defined %}
674max_age = {{ server.cors.max_age }}
675{%- endif %}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200676
677# Indicate which methods can be used during the actual request. (list value)
678#allow_methods = GET,PUT,POST,DELETE,PATCH
Ondrej Smola12ff8192017-04-28 12:39:11 +0200679{%- if server.cors.allow_methods is defined %}
680allow_methods = {{ server.cors.allow_methods }}
681{%- endif %}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200682
683# Indicate which header field names may be used during the actual request.
684# (list value)
685#allow_headers = X-Auth-Token,X-Identity-Status,X-Roles,X-Service-Catalog,X-User-Id,X-Tenant-Id,X-OpenStack-Request-ID
Ondrej Smola12ff8192017-04-28 12:39:11 +0200686{%- if server.cors.allow_headers is defined %}
687allow_headers = {{ server.cors.allow_headers }}
688{%- endif %}
689
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200690
691
692[cors.subdomain]
693
694#
695# From oslo.middleware.cors
696#
697
698# Indicate whether this resource may be shared with the domain received in the
699# requests "origin" header. (list value)
700#allowed_origin = <None>
701
702# Indicate that the actual request can include user credentials (boolean value)
703#allow_credentials = true
704
705# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple
706# Headers. (list value)
707#expose_headers = X-Auth-Token,X-Subject-Token,X-Service-Token,X-OpenStack-Request-ID,OpenStack-Volume-microversion
708
709# Maximum cache age of CORS preflight requests. (integer value)
710#max_age = 3600
711
712# Indicate which methods can be used during the actual request. (list value)
713#allow_methods = GET,PUT,POST,DELETE,PATCH
714
715# Indicate which header field names may be used during the actual request.
716# (list value)
717#allow_headers = X-Auth-Token,X-Identity-Status,X-Roles,X-Service-Catalog,X-User-Id,X-Tenant-Id,X-OpenStack-Request-ID
718
719
720[database]
721
722#
723# From neutron.db
724#
725
726# Database engine for which script will be generated when using offline
727# migration. (string value)
728#engine =
729
730#
731# From oslo.db
732#
733
734# The file name to use with SQLite. (string value)
735# Deprecated group/name - [DEFAULT]/sqlite_db
736#sqlite_db = oslo.sqlite
737
738# If True, SQLite uses synchronous mode. (boolean value)
739# Deprecated group/name - [DEFAULT]/sqlite_synchronous
740#sqlite_synchronous = true
741
742# The back end to use for the database. (string value)
743# Deprecated group/name - [DEFAULT]/db_backend
744#backend = sqlalchemy
745
746# The SQLAlchemy connection string to use to connect to the database. (string
747# value)
748# Deprecated group/name - [DEFAULT]/sql_connection
749# Deprecated group/name - [DATABASE]/sql_connection
750# Deprecated group/name - [sql]/connection
Jiri Broulik74f61112016-11-21 20:23:47 +0100751{% if server.backend.engine == "ml2" %}
752connection = {{ server.database.engine }}+pymysql://{{ server.database.user }}:{{ server.database.password }}@{{ server.database.host }}/{{ server.database.name }}
753{% else %}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200754connection = sqlite:////var/lib/neutron/neutron.sqlite
Jiri Broulik74f61112016-11-21 20:23:47 +0100755{% endif %}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200756# The SQLAlchemy connection string to use to connect to the slave database.
757# (string value)
758#slave_connection = <None>
759
760# The SQL mode to be used for MySQL sessions. This option, including the
761# default, overrides any server-set SQL mode. To use whatever SQL mode is set
762# by the server configuration, set this to no value. Example: mysql_sql_mode=
763# (string value)
764#mysql_sql_mode = TRADITIONAL
765
766# Timeout before idle SQL connections are reaped. (integer value)
767# Deprecated group/name - [DEFAULT]/sql_idle_timeout
768# Deprecated group/name - [DATABASE]/sql_idle_timeout
769# Deprecated group/name - [sql]/idle_timeout
770#idle_timeout = 3600
Jiri Broulik74f61112016-11-21 20:23:47 +0100771idle_timeout = 3600
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200772
773# Minimum number of SQL connections to keep open in a pool. (integer value)
774# Deprecated group/name - [DEFAULT]/sql_min_pool_size
775# Deprecated group/name - [DATABASE]/sql_min_pool_size
776#min_pool_size = 1
777
778# Maximum number of SQL connections to keep open in a pool. (integer value)
779# Deprecated group/name - [DEFAULT]/sql_max_pool_size
780# Deprecated group/name - [DATABASE]/sql_max_pool_size
781#max_pool_size = <None>
Oleg Bondarevb0caba82017-07-17 16:28:20 +0400782max_pool_size = {{ [grains.num_cpus * 5, 30] | sort | first }}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200783
784# Maximum number of database connection retries during startup. Set to -1 to
785# specify an infinite retry count. (integer value)
786# Deprecated group/name - [DEFAULT]/sql_max_retries
787# Deprecated group/name - [DATABASE]/sql_max_retries
788#max_retries = 10
Jiri Broulik74f61112016-11-21 20:23:47 +0100789max_retries = -1
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200790
791# Interval between retries of opening a SQL connection. (integer value)
792# Deprecated group/name - [DEFAULT]/sql_retry_interval
793# Deprecated group/name - [DATABASE]/reconnect_interval
794#retry_interval = 10
Jiri Broulik74f61112016-11-21 20:23:47 +0100795retry_interval = 2
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200796
797# If set, use this value for max_overflow with SQLAlchemy. (integer value)
798# Deprecated group/name - [DEFAULT]/sql_max_overflow
799# Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow
800#max_overflow = 50
Jiri Broulik74f61112016-11-21 20:23:47 +0100801max_overflow = 20
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200802
803# Verbosity of SQL debugging information: 0=None, 100=Everything. (integer
804# value)
805# Deprecated group/name - [DEFAULT]/sql_connection_debug
806#connection_debug = 0
807
808# Add Python stack traces to SQL as comment strings. (boolean value)
809# Deprecated group/name - [DEFAULT]/sql_connection_trace
810#connection_trace = false
811
812# If set, use this value for pool_timeout with SQLAlchemy. (integer value)
813# Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout
814#pool_timeout = <None>
815
816# Enable the experimental use of database reconnect on connection lost.
817# (boolean value)
818#use_db_reconnect = false
819
820# Seconds between retries of a database transaction. (integer value)
821#db_retry_interval = 1
822
823# If True, increases the interval between retries of a database operation up to
824# db_max_retry_interval. (boolean value)
825#db_inc_retry_interval = true
826
827# If db_inc_retry_interval is set, the maximum seconds between retries of a
828# database operation. (integer value)
829#db_max_retry_interval = 10
830
831# Maximum retries in case of connection error or deadlock error before error is
832# raised. Set to -1 to specify an infinite retry count. (integer value)
833#db_max_retries = 20
834
835
836[keystone_authtoken]
Jiri Broulik74f61112016-11-21 20:23:47 +0100837{% if server.backend.engine == "contrail" %}
838admin_token = {{ server.backend.token }}
839admin_user={{ server.backend.user }}
840admin_password={{ server.backend.password }}
841admin_tenant_name={{ server.backend.tenant }}
842{%- endif %}
Jakub Pavlik7985ec92016-05-06 07:35:25 -0700843auth_region={{ server.identity.region }}
Jakub Pavlik85ae6882016-10-19 15:10:20 +0200844auth_protocol=http
Jakub Pavlik7985ec92016-05-06 07:35:25 -0700845revocation_cache_time = 10
Petr Jediný1f37f542017-05-15 15:15:24 +0200846{% if server.backend.engine == "contrail" %}
847# LBaaS contrail neutron plugin for versions 3.x expects auth_type to be
848# 'keystone' or 'noauth'
849# This behaviour is fixed after the release MCP1.0 by using auth_strategy
850# instead of auth_type, until this is backported to MCP1.0 auth_type must be
851# set to keystone, noauth or commented out.
852#
853# When not defined, contrail defaults to 'keystone'
854#
855#auth_type=keystone
856{% else %}
Jakub Pavlik7985ec92016-05-06 07:35:25 -0700857auth_type = password
Petr Jediný1f37f542017-05-15 15:15:24 +0200858{% endif %}
Jakub Pavlik85ae6882016-10-19 15:10:20 +0200859auth_host = {{ server.identity.host }}
860auth_port = 35357
Jakub Pavlik7985ec92016-05-06 07:35:25 -0700861user_domain_id = {{ server.identity.get('domain', 'default') }}
862project_domain_id = {{ server.identity.get('domain', 'default') }}
863project_name = {{ server.identity.tenant }}
864username = {{ server.identity.user }}
865password = {{ server.identity.password }}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200866auth_uri=http://{{ server.identity.host }}:5000
867auth_url=http://{{ server.identity.host }}:35357
Jakub Pavlik7985ec92016-05-06 07:35:25 -0700868{%- if server.cache is defined %}
869memcached_servers={%- for member in server.cache.members %}{{ member.host }}:11211{% if not loop.last %},{% endif %}{%- endfor %}
870{%- endif %}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +0200871#
872# From keystonemiddleware.auth_token
873#
874
875# Complete public Identity API endpoint. (string value)
876#auth_uri = <None>
877
878# API version of the admin Identity API endpoint. (string value)
879#auth_version = <None>
880
881# Do not handle authorization requests within the middleware, but delegate the
882# authorization decision to downstream WSGI components. (boolean value)
883#delay_auth_decision = false
884
885# Request timeout value for communicating with Identity API server. (integer
886# value)
887#http_connect_timeout = <None>
888
889# How many times are we trying to reconnect when communicating with Identity
890# API Server. (integer value)
891#http_request_max_retries = 3
892
893# Env key for the swift cache. (string value)
894#cache = <None>
895
896# Required if identity server requires client certificate (string value)
897#certfile = <None>
898
899# Required if identity server requires client certificate (string value)
900#keyfile = <None>
901
902# A PEM encoded Certificate Authority to use when verifying HTTPs connections.
903# Defaults to system CAs. (string value)
904#cafile = <None>
905
906# Verify HTTPS connections. (boolean value)
907#insecure = false
908
909# The region in which the identity server can be found. (string value)
910#region_name = <None>
911
912# Directory used to cache files related to PKI tokens. (string value)
913#signing_dir = <None>
914
915# Optionally specify a list of memcached server(s) to use for caching. If left
916# undefined, tokens will instead be cached in-process. (list value)
917# Deprecated group/name - [DEFAULT]/memcache_servers
918#memcached_servers = <None>
919
920# In order to prevent excessive effort spent validating tokens, the middleware
921# caches previously-seen tokens for a configurable duration (in seconds). Set
922# to -1 to disable caching completely. (integer value)
923#token_cache_time = 300
924
925# Determines the frequency at which the list of revoked tokens is retrieved
926# from the Identity service (in seconds). A high number of revocation events
927# combined with a low cache duration may significantly reduce performance.
928# (integer value)
929#revocation_cache_time = 10
930
931# (Optional) If defined, indicate whether token data should be authenticated or
932# authenticated and encrypted. If MAC, token data is authenticated (with HMAC)
933# in the cache. If ENCRYPT, token data is encrypted and authenticated in the
934# cache. If the value is not one of these options or empty, auth_token will
935# raise an exception on initialization. (string value)
936# Allowed values: None, MAC, ENCRYPT
937#memcache_security_strategy = None
938
939# (Optional, mandatory if memcache_security_strategy is defined) This string is
940# used for key derivation. (string value)
941#memcache_secret_key = <None>
942
943# (Optional) Number of seconds memcached server is considered dead before it is
944# tried again. (integer value)
945#memcache_pool_dead_retry = 300
946
947# (Optional) Maximum total number of open connections to every memcached
948# server. (integer value)
949#memcache_pool_maxsize = 10
950
951# (Optional) Socket timeout in seconds for communicating with a memcached
952# server. (integer value)
953#memcache_pool_socket_timeout = 3
954
955# (Optional) Number of seconds a connection to memcached is held unused in the
956# pool before it is closed. (integer value)
957#memcache_pool_unused_timeout = 60
958
959# (Optional) Number of seconds that an operation will wait to get a memcached
960# client connection from the pool. (integer value)
961#memcache_pool_conn_get_timeout = 10
962
963# (Optional) Use the advanced (eventlet safe) memcached client pool. The
964# advanced pool will only work under python 2.x. (boolean value)
965#memcache_use_advanced_pool = false
966
967# (Optional) Indicate whether to set the X-Service-Catalog header. If False,
968# middleware will not ask for service catalog on token validation and will not
969# set the X-Service-Catalog header. (boolean value)
970#include_service_catalog = true
971
972# Used to control the use and type of token binding. Can be set to: "disabled"
973# to not check token binding. "permissive" (default) to validate binding
974# information if the bind type is of a form known to the server and ignore it
975# if not. "strict" like "permissive" but if the bind type is unknown the token
976# will be rejected. "required" any form of token binding is needed to be
977# allowed. Finally the name of a binding method that must be present in tokens.
978# (string value)
979#enforce_token_bind = permissive
980
981# If true, the revocation list will be checked for cached tokens. This requires
982# that PKI tokens are configured on the identity server. (boolean value)
983#check_revocations_for_cached = false
984
985# Hash algorithms to use for hashing PKI tokens. This may be a single algorithm
986# or multiple. The algorithms are those supported by Python standard
987# hashlib.new(). The hashes will be tried in the order given, so put the
988# preferred one first for performance. The result of the first hash will be
989# stored in the cache. This will typically be set to multiple values only while
990# migrating from a less secure algorithm to a more secure one. Once all the old
991# tokens are expired this option should be set to a single value for better
992# performance. (list value)
993#hash_algorithms = md5
994
995# Prefix to prepend at the beginning of the path. Deprecated, use identity_uri.
996# (string value)
997#auth_admin_prefix =
998
999# Host providing the admin Identity API endpoint. Deprecated, use identity_uri.
1000# (string value)
1001#auth_host = 127.0.0.1
1002
1003# Port of the admin Identity API endpoint. Deprecated, use identity_uri.
1004# (integer value)
1005#auth_port = 35357
1006
1007# Protocol of the admin Identity API endpoint. Deprecated, use identity_uri.
1008# (string value)
1009# Allowed values: http, https
1010#auth_protocol = https
1011
1012# Complete admin Identity API endpoint. This should specify the unversioned
1013# root endpoint e.g. https://localhost:35357/ (string value)
1014#identity_uri = <None>
1015
1016# This option is deprecated and may be removed in a future release. Single
1017# shared secret with the Keystone configuration used for bootstrapping a
1018# Keystone installation, or otherwise bypassing the normal authentication
1019# process. This option should not be used, use `admin_user` and
1020# `admin_password` instead. (string value)
1021#admin_token = <None>
1022
1023# Service username. (string value)
1024#admin_user = <None>
1025
1026# Service user password. (string value)
1027#admin_password = <None>
1028
1029# Service tenant name. (string value)
1030#admin_tenant_name = admin
1031
1032# Authentication type to load (unknown value)
1033# Deprecated group/name - [DEFAULT]/auth_plugin
1034#auth_type = <None>
1035
1036# Config Section from which to load plugin specific options (unknown value)
1037#auth_section = <None>
1038
1039
1040[matchmaker_redis]
1041
1042#
1043# From oslo.messaging
1044#
1045
1046# Host to locate redis. (string value)
1047#host = 127.0.0.1
1048
1049# Use this port to connect to redis host. (port value)
1050# Minimum value: 0
1051# Maximum value: 65535
1052#port = 6379
1053
1054# Password for Redis server (optional). (string value)
1055#password =
1056
1057# List of Redis Sentinel hosts (fault tolerance mode) e.g.
1058# [host:port, host1:port ... ] (list value)
1059#sentinel_hosts =
1060
1061# Redis replica set name. (string value)
1062#sentinel_group_name = oslo-messaging-zeromq
1063
1064# Time in ms to wait between connection attempts. (integer value)
1065#wait_timeout = 500
1066
1067# Time in ms to wait before the transaction is killed. (integer value)
1068#check_timeout = 20000
1069
1070# Timeout in ms on blocking socket operations (integer value)
1071#socket_timeout = 1000
1072
1073
1074[nova]
1075
1076#
1077# From neutron
1078#
1079
1080# Name of nova region to use. Useful if keystone manages more than one region.
1081# (string value)
1082#region_name = <None>
1083region_name = {{ server.compute.region }}
1084
1085# Type of the nova endpoint to use. This endpoint will be looked up in the
1086# keystone catalog and should be one of public, internal or admin. (string
1087# value)
1088# Allowed values: public, admin, internal
Dennis Dmitriev37114722017-03-06 16:52:26 +02001089endpoint_type = {{ server.identity.get('endpoint_type', 'public') }}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +02001090
1091#
1092# From nova.auth
1093#
1094
1095# Authentication URL (unknown value)
1096#auth_url = <None>
1097user_domain_id = {{ server.identity.get('domain', 'default') }}
1098project_domain_id = {{ server.identity.get('domain', 'default') }}
1099project_name = {{ server.identity.tenant }}
1100password = {{ server.compute.password }}
1101username = {{ server.compute.user }}
1102auth_type = password
1103auth_url = http://{{ server.identity.host }}:35357
1104
1105# Authentication type to load (unknown value)
1106# Deprecated group/name - [DEFAULT]/auth_plugin
1107#auth_type = <None>
1108
1109# PEM encoded Certificate Authority to use when verifying HTTPs connections.
1110# (string value)
1111#cafile = <None>
1112
1113# PEM encoded client certificate cert file (string value)
1114#certfile = <None>
1115
1116# Optional domain ID to use with v3 and v2 parameters. It will be used for both
1117# the user and project domain in v3 and ignored in v2 authentication. (unknown
1118# value)
1119#default_domain_id = <None>
1120
1121# Optional domain name to use with v3 API and v2 parameters. It will be used
1122# for both the user and project domain in v3 and ignored in v2 authentication.
1123# (unknown value)
1124#default_domain_name = <None>
1125
1126# Domain ID to scope to (unknown value)
1127#domain_id = <None>
1128
1129# Domain name to scope to (unknown value)
1130#domain_name = <None>
1131
1132# Verify HTTPS connections. (boolean value)
1133#insecure = false
1134
1135# PEM encoded client certificate key file (string value)
1136#keyfile = <None>
1137
1138# User's password (unknown value)
1139#password = <None>
1140
1141# Domain ID containing project (unknown value)
1142#project_domain_id = <None>
1143
1144# Domain name containing project (unknown value)
1145#project_domain_name = <None>
1146
1147# Project ID to scope to (unknown value)
1148# Deprecated group/name - [DEFAULT]/tenant-id
1149#project_id = <None>
1150
1151# Project name to scope to (unknown value)
1152# Deprecated group/name - [DEFAULT]/tenant-name
1153#project_name = <None>
1154
1155# Tenant ID (unknown value)
1156#tenant_id = <None>
1157
1158# Tenant Name (unknown value)
1159#tenant_name = <None>
1160
1161# Timeout value for http requests (integer value)
1162#timeout = <None>
1163
1164# Trust ID (unknown value)
1165#trust_id = <None>
1166
1167# User's domain id (unknown value)
1168#user_domain_id = <None>
1169
1170# User's domain name (unknown value)
1171#user_domain_name = <None>
1172
1173# User id (unknown value)
1174#user_id = <None>
1175
1176# Username (unknown value)
1177# Deprecated group/name - [DEFAULT]/username
1178#username = <None>
1179
1180
1181[oslo_concurrency]
1182
1183#
1184# From oslo.concurrency
1185#
1186
1187# Enables or disables inter-process locks. (boolean value)
1188# Deprecated group/name - [DEFAULT]/disable_process_locking
1189#disable_process_locking = false
1190
1191# Directory to use for lock files. For security, the specified directory
1192# should only be writable by the user running the processes that need locking.
1193# Defaults to environment variable OSLO_LOCK_PATH. If OSLO_LOCK_PATH is not set
1194# in the environment, use the Python tempfile.gettempdir function to find a
1195# suitable location. If external locks are used, a lock path must be set.
1196# (string value)
1197# Deprecated group/name - [DEFAULT]/lock_path
1198#lock_path = /tmp
1199lock_path = $state_path/lock
1200
1201[oslo_messaging_amqp]
1202
1203#
1204# From oslo.messaging
1205#
1206
1207# address prefix used when sending to a specific server (string value)
1208# Deprecated group/name - [amqp1]/server_request_prefix
1209#server_request_prefix = exclusive
1210
1211# address prefix used when broadcasting to all servers (string value)
1212# Deprecated group/name - [amqp1]/broadcast_prefix
1213#broadcast_prefix = broadcast
1214
1215# address prefix when sending to any server in group (string value)
1216# Deprecated group/name - [amqp1]/group_request_prefix
1217#group_request_prefix = unicast
1218
1219# Name for the AMQP container (string value)
1220# Deprecated group/name - [amqp1]/container_name
1221#container_name = <None>
1222
1223# Timeout for inactive connections (in seconds) (integer value)
1224# Deprecated group/name - [amqp1]/idle_timeout
1225#idle_timeout = 0
1226
1227# Debug: dump AMQP frames to stdout (boolean value)
1228# Deprecated group/name - [amqp1]/trace
1229#trace = false
1230
1231# CA certificate PEM file to verify server certificate (string value)
1232# Deprecated group/name - [amqp1]/ssl_ca_file
1233#ssl_ca_file =
1234
1235# Identifying certificate PEM file to present to clients (string value)
1236# Deprecated group/name - [amqp1]/ssl_cert_file
1237#ssl_cert_file =
1238
1239# Private key PEM file used to sign cert_file certificate (string value)
1240# Deprecated group/name - [amqp1]/ssl_key_file
1241#ssl_key_file =
1242
1243# Password for decrypting ssl_key_file (if encrypted) (string value)
1244# Deprecated group/name - [amqp1]/ssl_key_password
1245#ssl_key_password = <None>
1246
1247# Accept clients using either SSL or plain TCP (boolean value)
1248# Deprecated group/name - [amqp1]/allow_insecure_clients
1249#allow_insecure_clients = false
1250
1251# Space separated list of acceptable SASL mechanisms (string value)
1252# Deprecated group/name - [amqp1]/sasl_mechanisms
1253#sasl_mechanisms =
1254
1255# Path to directory that contains the SASL configuration (string value)
1256# Deprecated group/name - [amqp1]/sasl_config_dir
1257#sasl_config_dir =
1258
1259# Name of configuration file (without .conf suffix) (string value)
1260# Deprecated group/name - [amqp1]/sasl_config_name
1261#sasl_config_name =
1262
1263# User name for message broker authentication (string value)
1264# Deprecated group/name - [amqp1]/username
1265#username =
1266
1267# Password for message broker authentication (string value)
1268# Deprecated group/name - [amqp1]/password
1269#password =
1270
1271
1272[oslo_messaging_notifications]
1273
1274#
1275# From oslo.messaging
1276#
1277
1278# The Drivers(s) to handle sending notifications. Possible values are
1279# messaging, messagingv2, routing, log, test, noop (multi valued)
1280# Deprecated group/name - [DEFAULT]/notification_driver
1281#driver =
Simon Pasquier1c6a0d52016-12-01 15:16:06 +01001282{%- if server.notification is mapping %}
1283driver = {{ server.notification.get('driver', 'messagingv2') }}
1284{%- if server.notification.topics is defined %}
1285topics = {{ server.notification.topics }}
1286{%- endif %}
1287{%- elif server.notification %}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +02001288driver = messagingv2
1289{%- endif %}
1290# A URL representing the messaging driver to use for notifications. If not set,
1291# we fall back to the same configuration used for RPC. (string value)
1292# Deprecated group/name - [DEFAULT]/notification_transport_url
1293#transport_url = <None>
1294
1295# AMQP topic used for OpenStack notifications. (list value)
1296# Deprecated group/name - [rpc_notifier2]/topics
1297# Deprecated group/name - [DEFAULT]/notification_topics
1298#topics = notifications
1299
1300
1301[oslo_messaging_rabbit]
1302
1303#
1304# From oslo.messaging
1305#
1306
1307# Use durable queues in AMQP. (boolean value)
1308# Deprecated group/name - [DEFAULT]/amqp_durable_queues
1309# Deprecated group/name - [DEFAULT]/rabbit_durable_queues
1310#amqp_durable_queues = false
1311
1312# Auto-delete queues in AMQP. (boolean value)
1313# Deprecated group/name - [DEFAULT]/amqp_auto_delete
1314#amqp_auto_delete = false
1315
1316# SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and
1317# SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some
1318# distributions. (string value)
1319# Deprecated group/name - [DEFAULT]/kombu_ssl_version
1320#kombu_ssl_version =
1321
1322# SSL key file (valid only if SSL enabled). (string value)
1323# Deprecated group/name - [DEFAULT]/kombu_ssl_keyfile
1324#kombu_ssl_keyfile =
1325
1326# SSL cert file (valid only if SSL enabled). (string value)
1327# Deprecated group/name - [DEFAULT]/kombu_ssl_certfile
1328#kombu_ssl_certfile =
1329
1330# SSL certification authority file (valid only if SSL enabled). (string value)
1331# Deprecated group/name - [DEFAULT]/kombu_ssl_ca_certs
1332#kombu_ssl_ca_certs =
1333
1334# How long to wait before reconnecting in response to an AMQP consumer cancel
1335# notification. (floating point value)
1336# Deprecated group/name - [DEFAULT]/kombu_reconnect_delay
1337#kombu_reconnect_delay = 1.0
1338
1339# EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not
1340# be used. This option may notbe available in future versions. (string value)
1341#kombu_compression = <None>
1342
1343# How long to wait a missing client beforce abandoning to send it its replies.
1344# This value should not be longer than rpc_response_timeout. (integer value)
1345# Deprecated group/name - [DEFAULT]/kombu_reconnect_timeout
1346#kombu_missing_consumer_retry_timeout = 60
1347
1348# Determines how the next RabbitMQ node is chosen in case the one we are
1349# currently connected to becomes unavailable. Takes effect only if more than
1350# one RabbitMQ node is provided in config. (string value)
1351# Allowed values: round-robin, shuffle
1352#kombu_failover_strategy = round-robin
1353
1354# The RabbitMQ broker address where a single node is used. (string value)
1355# Deprecated group/name - [DEFAULT]/rabbit_host
1356#rabbit_host = localhost
1357
1358# The RabbitMQ broker port where a single node is used. (port value)
1359# Minimum value: 0
1360# Maximum value: 65535
1361# Deprecated group/name - [DEFAULT]/rabbit_port
1362#rabbit_port = 5672
1363
1364# RabbitMQ HA cluster host:port pairs. (list value)
1365# Deprecated group/name - [DEFAULT]/rabbit_hosts
1366#rabbit_hosts = $rabbit_host:$rabbit_port
Jiri Konecny93b19992016-04-12 11:15:39 +02001367#
1368{%- if server.message_queue.members is defined %}
1369rabbit_hosts = {% for member in server.message_queue.members -%}
1370 {{ member.host }}:{{ member.get('port', 5672) }}
1371 {%- if not loop.last -%},{%- endif -%}
1372 {%- endfor -%}
1373{%- else %}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +02001374rabbit_host = {{ server.message_queue.host }}
1375rabbit_port = {{ server.message_queue.port }}
Jiri Konecny93b19992016-04-12 11:15:39 +02001376{%- endif %}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +02001377
1378rabbit_userid = {{ server.message_queue.user }}
1379rabbit_password = {{ server.message_queue.password }}
1380rabbit_virtual_host = {{ server.message_queue.virtual_host }}
1381# Connect over SSL for RabbitMQ. (boolean value)
1382# Deprecated group/name - [DEFAULT]/rabbit_use_ssl
1383#rabbit_use_ssl = false
1384
1385# The RabbitMQ userid. (string value)
1386# Deprecated group/name - [DEFAULT]/rabbit_userid
1387#rabbit_userid = guest
1388
1389# The RabbitMQ password. (string value)
1390# Deprecated group/name - [DEFAULT]/rabbit_password
1391#rabbit_password = guest
1392
1393# The RabbitMQ login method. (string value)
1394# Deprecated group/name - [DEFAULT]/rabbit_login_method
1395#rabbit_login_method = AMQPLAIN
1396
1397# The RabbitMQ virtual host. (string value)
1398# Deprecated group/name - [DEFAULT]/rabbit_virtual_host
1399#rabbit_virtual_host = /
1400
1401# How frequently to retry connecting with RabbitMQ. (integer value)
1402#rabbit_retry_interval = 1
1403rabbit_retry_interval = 1
1404
1405# How long to backoff for between retries when connecting to RabbitMQ. (integer
1406# value)
1407# Deprecated group/name - [DEFAULT]/rabbit_retry_backoff
1408#rabbit_retry_backoff = 2
1409rabbit_retry_backoff = 2
1410
1411# Maximum interval of RabbitMQ connection retries. Default is 30 seconds.
1412# (integer value)
1413#rabbit_interval_max = 30
1414
1415# Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry
1416# count). (integer value)
1417# Deprecated group/name - [DEFAULT]/rabbit_max_retries
1418#rabbit_max_retries = 0
1419rabbit_max_retries = 0
1420
1421# Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this
1422# option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring
1423# is no longer controlled by the x-ha-policy argument when declaring a queue.
1424# If you just want to make sure that all queues (except those with auto-
1425# generated names) are mirrored across all nodes, run: "rabbitmqctl set_policy
1426# HA '^(?!amq\.).*' '{"ha-mode": "all"}' " (boolean value)
1427# Deprecated group/name - [DEFAULT]/rabbit_ha_queues
1428#rabbit_ha_queues = false
1429
1430# Positive integer representing duration in seconds for queue TTL (x-expires).
1431# Queues which are unused for the duration of the TTL are automatically
1432# deleted. The parameter affects only reply and fanout queues. (integer value)
1433# Minimum value: 1
1434#rabbit_transient_queues_ttl = 1800
1435
1436# Specifies the number of messages to prefetch. Setting to zero allows
1437# unlimited messages. (integer value)
1438#rabbit_qos_prefetch_count = 0
1439
1440# Number of seconds after which the Rabbit broker is considered down if
1441# heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL (integer
1442# value)
1443#heartbeat_timeout_threshold = 60
Jiri Broulik74f61112016-11-21 20:23:47 +01001444heartbeat_timeout_threshold = 0
Jakub Pavlik21f60ae2016-04-13 11:07:53 +02001445
1446# How often times during the heartbeat_timeout_threshold we check the
1447# heartbeat. (integer value)
1448#heartbeat_rate = 2
Jiri Broulik74f61112016-11-21 20:23:47 +01001449heartbeat_rate = 2
Jakub Pavlik21f60ae2016-04-13 11:07:53 +02001450
1451# Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake (boolean value)
1452# Deprecated group/name - [DEFAULT]/fake_rabbit
1453#fake_rabbit = false
1454
1455# Maximum number of channels to allow (integer value)
1456#channel_max = <None>
1457
1458# The maximum byte size for an AMQP frame (integer value)
1459#frame_max = <None>
1460
1461# How often to send heartbeats for consumer's connections (integer value)
1462#heartbeat_interval = 1
1463
1464# Enable SSL (boolean value)
1465#ssl = <None>
1466
1467# Arguments passed to ssl.wrap_socket (dict value)
1468#ssl_options = <None>
1469
1470# Set socket timeout in seconds for connection's socket (floating point value)
1471#socket_timeout = 0.25
1472
1473# Set TCP_USER_TIMEOUT in seconds for connection's socket (floating point
1474# value)
1475#tcp_user_timeout = 0.25
1476
1477# Set delay for reconnection to some host which has connection error (floating
1478# point value)
1479#host_connection_reconnect_delay = 0.25
1480
1481# Maximum number of connections to keep queued. (integer value)
1482#pool_max_size = 10
1483
1484# Maximum number of connections to create above `pool_max_size`. (integer
1485# value)
1486#pool_max_overflow = 0
1487
1488# Default number of seconds to wait for a connections to available (integer
1489# value)
1490#pool_timeout = 30
1491
1492# Lifetime of a connection (since creation) in seconds or None for no
1493# recycling. Expired connections are closed on acquire. (integer value)
1494#pool_recycle = 600
1495
1496# Threshold at which inactive (since release) connections are considered stale
1497# in seconds or None for no staleness. Stale connections are closed on acquire.
1498# (integer value)
1499#pool_stale = 60
1500
1501# Persist notification messages. (boolean value)
1502#notification_persistence = false
1503
1504# Exchange name for for sending notifications (string value)
1505#default_notification_exchange = ${control_exchange}_notification
1506
1507# Max number of not acknowledged message which RabbitMQ can send to
1508# notification listener. (integer value)
1509#notification_listener_prefetch_count = 100
1510
1511# Reconnecting retry count in case of connectivity problem during sending
1512# notification, -1 means infinite retry. (integer value)
1513#default_notification_retry_attempts = -1
1514
1515# Reconnecting retry delay in case of connectivity problem during sending
1516# notification message (floating point value)
1517#notification_retry_delay = 0.25
1518
1519# Time to live for rpc queues without consumers in seconds. (integer value)
1520#rpc_queue_expiration = 60
1521
1522# Exchange name for sending RPC messages (string value)
1523#default_rpc_exchange = ${control_exchange}_rpc
1524
1525# Exchange name for receiving RPC replies (string value)
1526#rpc_reply_exchange = ${control_exchange}_rpc_reply
1527
1528# Max number of not acknowledged message which RabbitMQ can send to rpc
1529# listener. (integer value)
1530#rpc_listener_prefetch_count = 100
1531
1532# Max number of not acknowledged message which RabbitMQ can send to rpc reply
1533# listener. (integer value)
1534#rpc_reply_listener_prefetch_count = 100
1535
1536# Reconnecting retry count in case of connectivity problem during sending
1537# reply. -1 means infinite retry during rpc_timeout (integer value)
1538#rpc_reply_retry_attempts = -1
1539
1540# Reconnecting retry delay in case of connectivity problem during sending
1541# reply. (floating point value)
1542#rpc_reply_retry_delay = 0.25
1543
1544# Reconnecting retry count in case of connectivity problem during sending RPC
1545# message, -1 means infinite retry. If actual retry attempts in not 0 the rpc
1546# request could be processed more then one time (integer value)
1547#default_rpc_retry_attempts = -1
1548
1549# Reconnecting retry delay in case of connectivity problem during sending RPC
1550# message (floating point value)
1551#rpc_retry_delay = 0.25
1552
1553
1554[oslo_policy]
1555
1556#
1557# From oslo.policy
1558#
1559
1560# The JSON file that defines policies. (string value)
1561# Deprecated group/name - [DEFAULT]/policy_file
1562#policy_file = policy.json
1563
1564# Default rule. Enforced when a requested rule is not found. (string value)
1565# Deprecated group/name - [DEFAULT]/policy_default_rule
1566#policy_default_rule = default
1567
1568# Directories where policy configuration files are stored. They can be relative
1569# to any directory in the search path defined by the config_dir option, or
1570# absolute paths. The file defined by policy_file must exist for these
1571# directories to be searched. Missing or empty directories are ignored. (multi
1572# valued)
1573# Deprecated group/name - [DEFAULT]/policy_dirs
1574#policy_dirs = policy.d
1575
1576
1577[quotas]
1578
1579#
1580# From neutron
1581#
1582
1583# Resource name(s) that are supported in quota features. This option is now
1584# deprecated for removal. (list value)
1585# This option is deprecated for removal.
1586# Its value may be silently ignored in the future.
1587#quota_items = network,subnet,port
1588
1589# Default number of resource allowed per tenant. A negative value means
1590# unlimited. (integer value)
1591#default_quota = -1
1592
1593# Number of networks allowed per tenant. A negative value means unlimited.
1594# (integer value)
1595#quota_network = 10
1596
1597# Number of subnets allowed per tenant, A negative value means unlimited.
1598# (integer value)
1599#quota_subnet = 10
1600
1601# Number of ports allowed per tenant. A negative value means unlimited.
1602# (integer value)
1603#quota_port = 50
1604
1605# Default driver to use for quota checks (string value)
1606#quota_driver = neutron.db.quota.driver.DbQuotaDriver
Jiri Broulik74f61112016-11-21 20:23:47 +01001607{% if server.backend.engine == "contrail" %}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +02001608quota_driver = neutron_plugin_contrail.plugins.opencontrail.quota.driver.QuotaDriver
Jiri Broulik74f61112016-11-21 20:23:47 +01001609{% endif %}
Jakub Pavlik21f60ae2016-04-13 11:07:53 +02001610
1611# Keep in track in the database of current resourcequota usage. Plugins which
1612# do not leverage the neutron database should set this flag to False (boolean
1613# value)
1614#track_quota_usage = true
1615
1616#
1617# From neutron.extensions
1618#
1619
1620# Number of routers allowed per tenant. A negative value means unlimited.
1621# (integer value)
1622#quota_router = 10
1623
1624# Number of floating IPs allowed per tenant. A negative value means unlimited.
1625# (integer value)
1626#quota_floatingip = 50
1627
1628# Number of security groups allowed per tenant. A negative value means
1629# unlimited. (integer value)
1630#quota_security_group = 10
1631
1632# Number of security rules allowed per tenant. A negative value means
1633# unlimited. (integer value)
1634#quota_security_group_rule = 100
1635
1636
1637[ssl]
1638
1639#
1640# From oslo.service.sslutils
1641#
1642
1643# CA certificate file to use to verify connecting clients. (string value)
1644# Deprecated group/name - [DEFAULT]/ssl_ca_file
1645#ca_file = <None>
1646
1647# Certificate file to use when starting the server securely. (string value)
1648# Deprecated group/name - [DEFAULT]/ssl_cert_file
1649#cert_file = <None>
1650
1651# Private key file to use when starting the server securely. (string value)
1652# Deprecated group/name - [DEFAULT]/ssl_key_file
1653#key_file = <None>
1654
1655# SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and
1656# SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some
1657# distributions. (string value)
1658#version = <None>
1659
1660# Sets the list of available ciphers. value should be a string in the OpenSSL
1661# cipher list format. (string value)
1662#ciphers = <None>
1663[service_providers]
Ondrej Smola314eee22017-03-08 21:21:16 +01001664
1665{% if server.lbaas is defined -%}
1666
1667{%- if server.lbaas.enabled -%}
1668
1669{%- for lbaas_name, lbaas in server.lbaas.providers.iteritems() %}
1670
1671{%- if lbaas.engine == "avinetworks" -%}
Ondrej Smolab0208422017-06-01 23:24:44 +02001672service_provider=LOADBALANCERV2:{{ lbaas_name }}:{{ lbaas.get('driver_path', 'avi_lbaasv2.avi_driver.AviDriver') }}:default
Ondrej Smola314eee22017-03-08 21:21:16 +01001673
1674[{{ lbaas_name }}]
1675address={{ lbaas.controller_address }}
1676user={{ lbaas.controller_user }}
1677password={{ lbaas.controller_password }}
1678cloud={{ lbaas.controller_cloud_name }}
1679{%- endif -%}
1680
1681{%- endfor -%}
1682
1683{% endif %}
1684
1685{% elif server.backend.engine == "contrail" %}
1686
Petr Jediný1f37f542017-05-15 15:15:24 +02001687service_provider = LOADBALANCERV2:Opencontrail:neutron_plugin_contrail.plugins.opencontrail.loadbalancer.driver.OpencontrailLoadbalancerDummyDriver:default
Ondrej Smola314eee22017-03-08 21:21:16 +01001688
Jakub Pavlika8d9f562016-10-18 11:57:31 +02001689{% include "neutron/files/"+server.version+"/ContrailPlugin.ini" %}
Ondrej Smola314eee22017-03-08 21:21:16 +01001690
Jakub Pavlika8d9f562016-10-18 11:57:31 +02001691{% endif %}