| {%- from "neutron/map.jinja" import server with context %} |
| [DEFAULT] |
| |
| # |
| # From oslo.log |
| # |
| |
| # If set to true, the logging level will be set to DEBUG instead of the default INFO level. (boolean value) |
| #debug = false |
| |
| # If set to false, the logging level will be set to WARNING instead of the default INFO level. (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #verbose = true |
| |
| # The name of a logging configuration file. This file is appended to any existing logging configuration files. For details about logging |
| # configuration files, see the Python logging module documentation. Note that when logging configuration files are used then all logging |
| # configuration is set in the configuration file and other logging configuration options are ignored (for example, |
| # logging_context_format_string). (string value) |
| # Deprecated group/name - [DEFAULT]/log_config |
| #log_config_append = <None> |
| |
| # Defines the format string for %%(asctime)s in log records. Default: %(default)s . This option is ignored if log_config_append is set. |
| # (string value) |
| #log_date_format = %Y-%m-%d %H:%M:%S |
| |
| # (Optional) Name of log file to send logging output to. If no default is set, logging will go to stderr as defined by use_stderr. This |
| # option is ignored if log_config_append is set. (string value) |
| # Deprecated group/name - [DEFAULT]/logfile |
| #log_file = <None> |
| |
| # (Optional) The base directory used for relative log_file paths. This option is ignored if log_config_append is set. (string value) |
| # Deprecated group/name - [DEFAULT]/logdir |
| #log_dir = <None> |
| |
| # Uses logging handler designed to watch file system. When log file is moved or removed this handler will open a new log file with specified |
| # path instantaneously. It makes sense only if log_file option is specified and Linux platform is used. This option is ignored if |
| # log_config_append is set. (boolean value) |
| #watch_log_file = false |
| |
| # Use syslog for logging. Existing syslog format is DEPRECATED and will be changed later to honor RFC5424. This option is ignored if |
| # log_config_append is set. (boolean value) |
| #use_syslog = false |
| |
| # Syslog facility to receive log lines. This option is ignored if log_config_append is set. (string value) |
| #syslog_log_facility = LOG_USER |
| |
| # Log output to standard error. This option is ignored if log_config_append is set. (boolean value) |
| #use_stderr = true |
| |
| # Format string to use for log messages with context. (string value) |
| #logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s |
| |
| # Format string to use for log messages when context is undefined. (string value) |
| #logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s |
| |
| # Additional data to append to log message when logging level for the message is DEBUG. (string value) |
| #logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d |
| |
| # Prefix each line of exception output with this format. (string value) |
| #logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s |
| |
| # Defines the format string for %(user_identity)s that is used in logging_context_format_string. (string value) |
| #logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s |
| |
| # List of package logging levels in logger=LEVEL pairs. This option is ignored if log_config_append is set. (list value) |
| #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 |
| |
| # Enables or disables publication of error events. (boolean value) |
| #publish_errors = false |
| |
| # The format for an instance that is passed with the log message. (string value) |
| #instance_format = "[instance: %(uuid)s] " |
| |
| # The format for an instance UUID that is passed with the log message. (string value) |
| #instance_uuid_format = "[instance: %(uuid)s] " |
| |
| # Enables or disables fatal status of deprecations. (boolean value) |
| #fatal_deprecations = false |
| |
| |
| [ml2] |
| |
| # |
| # From neutron.ml2 |
| # |
| |
| # List of network type driver entrypoints to be loaded from the neutron.ml2.type_drivers namespace. (list value) |
| #type_drivers = local,flat,vlan,gre,vxlan,geneve |
| type_drivers = local,flat,vlan,gre,vxlan |
| |
| # Ordered list of network_types to allocate as tenant networks. The default value 'local' is useful for single-box testing but provides no |
| # connectivity between hosts. (list value) |
| #tenant_network_types = local |
| tenant_network_types = {{ server.backend.tenant_network_types }} |
| |
| # An ordered list of networking mechanism driver entrypoints to be loaded from the neutron.ml2.mechanism_drivers namespace. (list value) |
| #mechanism_drivers =openvswitch,l2population |
| {%- set mechanism_drivers = [] %} |
| {%- for mechanism_name, mechanism in server.get('backend', {}).get('mechanism', []).items() %} |
| {%- do mechanism_drivers.append(mechanism.get('driver')) if 'driver' in mechanism %} |
| {%- endfor %} |
| {%- if server.get('dvr', False) %} |
| {%- do mechanism_drivers.append('l2population') %} |
| {%- endif %} |
| mechanism_drivers = {{ ','.join(mechanism_drivers) }} |
| |
| # An ordered list of extension driver entrypoints to be loaded from the neutron.ml2.extension_drivers namespace. For example: |
| # extension_drivers = port_security,qos (list value) |
| extension_drivers = port_security |
| #extension_drivers = |
| |
| # Maximum size of an IP packet (MTU) that can traverse the underlying physical network infrastructure without fragmentation for |
| # overlay/tunnel networks. In most cases, use the same value as the global_physnet_mtu option. (integer value) |
| #path_mtu = 1500 |
| path_mtu = {{ server.get('global_physnet_mtu', '1500') }} |
| |
| # A list of mappings of physical networks to MTU values. The format of the mapping is <physnet>:<mtu val>. This mapping allows specifying a |
| # physical network MTU value that differs from the default global_physnet_mtu value. (list value) |
| #physical_network_mtus = |
| physical_network_mtus =physnet1:{{ server.backend.get('external_mtu', '1500') }}{%- if "vlan" in server.backend.tenant_network_types %},physnet2:{{ server.backend.get('external_mtu', '1500') }}{%- endif %} |
| |
| # Default network type for external networks when no provider attributes are specified. By default it is None, which means that if provider |
| # attributes are not specified while creating external networks then they will have the same type as tenant networks. Allowed values for |
| # external_network_type config option depend on the network type values configured in type_drivers config option. (string value) |
| #external_network_type = <None> |
| |
| |
| [ml2_type_flat] |
| |
| # |
| # From neutron.ml2 |
| # |
| |
| # List of physical_network names with which flat networks can be created. Use default '*' to allow flat networks with arbitrary |
| # physical_network names. Use an empty list to disable flat networks. (list value) |
| #flat_networks = * |
| flat_networks = * |
| |
| |
| [ml2_type_geneve] |
| |
| # |
| # From neutron.ml2 |
| # |
| |
| # Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges of Geneve VNI IDs that are available for tenant network allocation |
| # (list value) |
| #vni_ranges = |
| |
| # Geneve encapsulation header size is dynamic, this value is used to calculate the maximum MTU for the driver. This is the sum of the sizes |
| # of the outer ETH + IP + UDP + GENEVE header sizes. The default size for this field is 50, which is the size of the Geneve header without |
| # any additional option headers. (integer value) |
| #max_header_size = 50 |
| |
| |
| [ml2_type_gre] |
| |
| # |
| # From neutron.ml2 |
| # |
| |
| # Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of GRE tunnel IDs that are available for tenant network allocation |
| # (list value) |
| #tunnel_id_ranges = |
| tunnel_id_ranges =2:65535 |
| |
| |
| [ml2_type_vlan] |
| |
| # |
| # From neutron.ml2 |
| # |
| |
| # List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> specifying physical_network names usable for VLAN provider and |
| # tenant networks, as well as ranges of VLAN tags on each available for allocation to tenant networks. (list value) |
| #network_vlan_ranges = |
| network_vlan_ranges = physnet1{%- if server.backend.external_vlan_range is defined %}:{{ server.backend.external_vlan_range }}{%- endif %}{%- if "vlan" in server.backend.tenant_network_types %},physnet2:{{ server.backend.tenant_vlan_range }}{%- endif %} |
| |
| |
| [ml2_type_vxlan] |
| |
| # |
| # From neutron.ml2 |
| # |
| |
| # Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges of VXLAN VNI IDs that are available for tenant network allocation |
| # (list value) |
| #vni_ranges = |
| vni_ranges = {{ server.get('vxlan', {}).vni_ranges|default('2:65535') }} |
| |
| # Multicast group for VXLAN. When configured, will enable sending all broadcast traffic to this multicast group. When left unconfigured, |
| # will disable multicast VXLAN mode. (string value) |
| #vxlan_group = <None> |
| vxlan_group = {{ server.get('vxlan', {}).group|default('224.0.0.1') }} |
| |
| |
| [securitygroup] |
| |
| # |
| # From neutron.ml2 |
| # |
| |
| # Driver for security groups firewall in the L2 agent (string value) |
| #firewall_driver = <None> |
| {%- if server.dpdk %} |
| firewall_driver = openvswitch |
| {%- else %} |
| firewall_driver = iptables_hybrid |
| {%- endif %} |
| |
| # Controls whether the neutron security group API is enabled in the server. It should be false when using no security groups or using the |
| # nova security group API. (boolean value) |
| #enable_security_group = true |
| enable_security_group = True |
| |
| # Use ipset to speed-up the iptables based security groups. Enabling ipset support requires that ipset is installed on L2 agent node. |
| # (boolean value) |
| #enable_ipset = true |