Pavel Cizinsky | 0a0ebdc | 2017-08-31 21:37:37 +0200 | [diff] [blame^] | 1 | {%- from "neutron/map.jinja" import fwaas, server with context %} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 2 | [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 |
| 11 | state_path = /var/lib/neutron |
| 12 | |
| 13 | # The host IP to bind to (string value) |
| 14 | #bind_host = 0.0.0.0 |
| 15 | bind_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 |
| 21 | bind_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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 28 | |
| 29 | {% if server.backend.engine == "contrail" %} |
| 30 | |
Petr Jediný | 1f37f54 | 2017-05-15 15:15:24 +0200 | [diff] [blame] | 31 | api_extensions_path = extensions:/usr/lib/python2.7/dist-packages/neutron_plugin_contrail/extensions:/usr/lib/python2.7/dist-packages/neutron_lbaas/extensions |
Jiri Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 32 | # The core plugin Neutron will use (string value) |
| 33 | core_plugin = neutron_plugin_contrail.plugins.opencontrail.contrail_plugin.NeutronPluginContrailCoreV2 |
| 34 | |
Petr Jediný | 1f37f54 | 2017-05-15 15:15:24 +0200 | [diff] [blame] | 35 | service_plugins = neutron_plugin_contrail.plugins.opencontrail.loadbalancer.v2.plugin.LoadBalancerPluginV2 |
Jiri Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 36 | {% elif server.backend.engine == "ml2" %} |
| 37 | |
| 38 | core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin |
| 39 | |
Pavel Cizinsky | 0a0ebdc | 2017-08-31 21:37:37 +0200 | [diff] [blame^] | 40 | service_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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 43 | |
| 44 | {% endif %} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 45 | |
| 46 | # The type of authentication to use (string value) |
| 47 | #auth_strategy = keystone |
| 48 | auth_strategy = keystone |
| 49 | |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 50 | # The service plugins Neutron will use (list value) |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 51 | # 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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 58 | mac_generation_retries = 32 |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 59 | |
| 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 Croiset | 9407daf | 2017-02-02 15:27:56 +0100 | [diff] [blame] | 64 | {% if server.get('allow_pagination', false) %} |
| 65 | allow_pagination = True |
| 66 | {% else %} |
| 67 | allow_pagination = False |
| 68 | {% endif %} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 69 | |
| 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 Croiset | 9407daf | 2017-02-02 15:27:56 +0100 | [diff] [blame] | 75 | pagination_max_limit = {{ server.pagination_max_limit|default('-1') }} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 76 | |
| 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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 129 | dhcp_lease_duration = 600 |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 130 | |
| 131 | # Domain to use for building the hostnames (string value) |
| 132 | #dns_domain = openstacklocal |
| 133 | dns_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 |
| 145 | allow_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 |
| 162 | notify_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 Pavlik | 85ae688 | 2016-10-19 15:10:20 +0200 | [diff] [blame] | 167 | notify_nova_on_port_data_changes = True |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 168 | |
| 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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 176 | advertise_mtu = True |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 177 | |
| 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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 199 | global_physnet_mtu = {{ server.get('global_physnet_mtu', '1500') }} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 200 | |
| 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 Bondarev | d8d671c | 2017-07-13 19:15:19 +0400 | [diff] [blame] | 220 | rpc_workers = {{ grains.num_cpus }} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 221 | |
| 222 | # Number of RPC worker processes dedicated to state reports queue (integer |
| 223 | # value) |
| 224 | #rpc_state_report_workers = 1 |
Oleg Bondarev | b0caba8 | 2017-07-17 16:28:20 +0400 | [diff] [blame] | 225 | rpc_state_report_workers = 4 |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 226 | |
| 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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 264 | agent_down_time = 30 |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 265 | |
| 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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 305 | dhcp_agents_per_network = 2 |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 306 | |
| 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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 325 | router_distributed = {{ server.get('dvr', 'False') }} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 326 | |
| 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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 329 | router_scheduler_driver = neutron.scheduler.l3_agent_scheduler.ChanceScheduler |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 330 | |
| 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 Bondarev | b0caba8 | 2017-07-17 16:28:20 +0400 | [diff] [blame] | 337 | allow_automatic_l3agent_failover = true |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 338 | |
| 339 | # Enable HA mode for virtual routers. (boolean value) |
| 340 | #l3_ha = false |
Jiri Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 341 | l3_ha = {{ server.get('l3_ha', 'False') }} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 342 | |
| 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 Bondarev | b0caba8 | 2017-07-17 16:28:20 +0400 | [diff] [blame] | 346 | max_l3_agents_per_router = 0 |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 347 | |
| 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 |
| 392 | verbose = 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 |
| 513 | rpc_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 |
| 544 | executor_thread_pool_size = 70 |
| 545 | |
| 546 | # Seconds to wait for a response from a call. (integer value) |
| 547 | #rpc_response_timeout = 60 |
Oleg Bondarev | b0caba8 | 2017-07-17 16:28:20 +0400 | [diff] [blame] | 548 | rpc_response_timeout=120 |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 549 | |
| 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 |
| 558 | rpc_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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 596 | nova_url = http://{{ server.compute.host }}:8774/v2 |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 597 | |
| 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) |
| 608 | root_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 Bondarev | 61a63db | 2017-07-12 12:31:23 +0400 | [diff] [blame] | 616 | root_helper_daemon = sudo neutron-rootwrap-daemon /etc/neutron/rootwrap.conf |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 617 | |
| 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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 622 | report_interval = 10 |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 623 | |
| 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 Smola | 12ff819 | 2017-04-28 12:39:11 +0200 | [diff] [blame] | 654 | {%- if server.cors.allowed_origin is defined %} |
| 655 | allowed_origin = {{ server.cors.allowed_origin }} |
| 656 | {%- endif %} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 657 | |
| 658 | # Indicate that the actual request can include user credentials (boolean value) |
| 659 | #allow_credentials = true |
Ondrej Smola | 12ff819 | 2017-04-28 12:39:11 +0200 | [diff] [blame] | 660 | {%- if server.cors.allow_credentials is defined %} |
| 661 | allow_credentials = {{ server.cors.allow_credentials }} |
| 662 | {%- endif %} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 663 | |
| 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 Smola | 12ff819 | 2017-04-28 12:39:11 +0200 | [diff] [blame] | 667 | {%- if server.cors.expose_headers is defined %} |
| 668 | expose_headers = {{ server.cors.expose_headers }} |
| 669 | {%- endif %} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 670 | |
| 671 | # Maximum cache age of CORS preflight requests. (integer value) |
| 672 | #max_age = 3600 |
Ondrej Smola | 12ff819 | 2017-04-28 12:39:11 +0200 | [diff] [blame] | 673 | {%- if server.cors.max_age is defined %} |
| 674 | max_age = {{ server.cors.max_age }} |
| 675 | {%- endif %} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 676 | |
| 677 | # Indicate which methods can be used during the actual request. (list value) |
| 678 | #allow_methods = GET,PUT,POST,DELETE,PATCH |
Ondrej Smola | 12ff819 | 2017-04-28 12:39:11 +0200 | [diff] [blame] | 679 | {%- if server.cors.allow_methods is defined %} |
| 680 | allow_methods = {{ server.cors.allow_methods }} |
| 681 | {%- endif %} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 682 | |
| 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 Smola | 12ff819 | 2017-04-28 12:39:11 +0200 | [diff] [blame] | 686 | {%- if server.cors.allow_headers is defined %} |
| 687 | allow_headers = {{ server.cors.allow_headers }} |
| 688 | {%- endif %} |
| 689 | |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 690 | |
| 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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 751 | {% if server.backend.engine == "ml2" %} |
| 752 | connection = {{ server.database.engine }}+pymysql://{{ server.database.user }}:{{ server.database.password }}@{{ server.database.host }}/{{ server.database.name }} |
| 753 | {% else %} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 754 | connection = sqlite:////var/lib/neutron/neutron.sqlite |
Jiri Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 755 | {% endif %} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 756 | # 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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 771 | idle_timeout = 3600 |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 772 | |
| 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 Bondarev | b0caba8 | 2017-07-17 16:28:20 +0400 | [diff] [blame] | 782 | max_pool_size = {{ [grains.num_cpus * 5, 30] | sort | first }} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 783 | |
| 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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 789 | max_retries = -1 |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 790 | |
| 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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 795 | retry_interval = 2 |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 796 | |
| 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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 801 | max_overflow = 20 |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 802 | |
| 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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 837 | {% if server.backend.engine == "contrail" %} |
| 838 | admin_token = {{ server.backend.token }} |
| 839 | admin_user={{ server.backend.user }} |
| 840 | admin_password={{ server.backend.password }} |
| 841 | admin_tenant_name={{ server.backend.tenant }} |
| 842 | {%- endif %} |
Jakub Pavlik | 7985ec9 | 2016-05-06 07:35:25 -0700 | [diff] [blame] | 843 | auth_region={{ server.identity.region }} |
Jakub Pavlik | 85ae688 | 2016-10-19 15:10:20 +0200 | [diff] [blame] | 844 | auth_protocol=http |
Jakub Pavlik | 7985ec9 | 2016-05-06 07:35:25 -0700 | [diff] [blame] | 845 | revocation_cache_time = 10 |
Petr Jediný | 1f37f54 | 2017-05-15 15:15:24 +0200 | [diff] [blame] | 846 | {% 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 Pavlik | 7985ec9 | 2016-05-06 07:35:25 -0700 | [diff] [blame] | 857 | auth_type = password |
Petr Jediný | 1f37f54 | 2017-05-15 15:15:24 +0200 | [diff] [blame] | 858 | {% endif %} |
Jakub Pavlik | 85ae688 | 2016-10-19 15:10:20 +0200 | [diff] [blame] | 859 | auth_host = {{ server.identity.host }} |
| 860 | auth_port = 35357 |
Jakub Pavlik | 7985ec9 | 2016-05-06 07:35:25 -0700 | [diff] [blame] | 861 | user_domain_id = {{ server.identity.get('domain', 'default') }} |
| 862 | project_domain_id = {{ server.identity.get('domain', 'default') }} |
| 863 | project_name = {{ server.identity.tenant }} |
| 864 | username = {{ server.identity.user }} |
| 865 | password = {{ server.identity.password }} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 866 | auth_uri=http://{{ server.identity.host }}:5000 |
| 867 | auth_url=http://{{ server.identity.host }}:35357 |
Jakub Pavlik | 7985ec9 | 2016-05-06 07:35:25 -0700 | [diff] [blame] | 868 | {%- if server.cache is defined %} |
| 869 | memcached_servers={%- for member in server.cache.members %}{{ member.host }}:11211{% if not loop.last %},{% endif %}{%- endfor %} |
| 870 | {%- endif %} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 871 | # |
| 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> |
| 1083 | region_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 Dmitriev | 3711472 | 2017-03-06 16:52:26 +0200 | [diff] [blame] | 1089 | endpoint_type = {{ server.identity.get('endpoint_type', 'public') }} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 1090 | |
| 1091 | # |
| 1092 | # From nova.auth |
| 1093 | # |
| 1094 | |
| 1095 | # Authentication URL (unknown value) |
| 1096 | #auth_url = <None> |
| 1097 | user_domain_id = {{ server.identity.get('domain', 'default') }} |
| 1098 | project_domain_id = {{ server.identity.get('domain', 'default') }} |
| 1099 | project_name = {{ server.identity.tenant }} |
| 1100 | password = {{ server.compute.password }} |
| 1101 | username = {{ server.compute.user }} |
| 1102 | auth_type = password |
| 1103 | auth_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 |
| 1199 | lock_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 Pasquier | 1c6a0d5 | 2016-12-01 15:16:06 +0100 | [diff] [blame] | 1282 | {%- if server.notification is mapping %} |
| 1283 | driver = {{ server.notification.get('driver', 'messagingv2') }} |
| 1284 | {%- if server.notification.topics is defined %} |
| 1285 | topics = {{ server.notification.topics }} |
| 1286 | {%- endif %} |
| 1287 | {%- elif server.notification %} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 1288 | driver = 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 Konecny | 93b1999 | 2016-04-12 11:15:39 +0200 | [diff] [blame] | 1367 | # |
| 1368 | {%- if server.message_queue.members is defined %} |
| 1369 | rabbit_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 Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 1374 | rabbit_host = {{ server.message_queue.host }} |
| 1375 | rabbit_port = {{ server.message_queue.port }} |
Jiri Konecny | 93b1999 | 2016-04-12 11:15:39 +0200 | [diff] [blame] | 1376 | {%- endif %} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 1377 | |
| 1378 | rabbit_userid = {{ server.message_queue.user }} |
| 1379 | rabbit_password = {{ server.message_queue.password }} |
| 1380 | rabbit_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 |
| 1403 | rabbit_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 |
| 1409 | rabbit_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 |
| 1419 | rabbit_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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 1444 | heartbeat_timeout_threshold = 0 |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 1445 | |
| 1446 | # How often times during the heartbeat_timeout_threshold we check the |
| 1447 | # heartbeat. (integer value) |
| 1448 | #heartbeat_rate = 2 |
Jiri Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 1449 | heartbeat_rate = 2 |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 1450 | |
| 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 Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 1607 | {% if server.backend.engine == "contrail" %} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 1608 | quota_driver = neutron_plugin_contrail.plugins.opencontrail.quota.driver.QuotaDriver |
Jiri Broulik | 74f6111 | 2016-11-21 20:23:47 +0100 | [diff] [blame] | 1609 | {% endif %} |
Jakub Pavlik | 21f60ae | 2016-04-13 11:07:53 +0200 | [diff] [blame] | 1610 | |
| 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 Smola | 314eee2 | 2017-03-08 21:21:16 +0100 | [diff] [blame] | 1664 | |
| 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 Smola | b020842 | 2017-06-01 23:24:44 +0200 | [diff] [blame] | 1672 | service_provider=LOADBALANCERV2:{{ lbaas_name }}:{{ lbaas.get('driver_path', 'avi_lbaasv2.avi_driver.AviDriver') }}:default |
Ondrej Smola | 314eee2 | 2017-03-08 21:21:16 +0100 | [diff] [blame] | 1673 | |
| 1674 | [{{ lbaas_name }}] |
| 1675 | address={{ lbaas.controller_address }} |
| 1676 | user={{ lbaas.controller_user }} |
| 1677 | password={{ lbaas.controller_password }} |
| 1678 | cloud={{ lbaas.controller_cloud_name }} |
| 1679 | {%- endif -%} |
| 1680 | |
| 1681 | {%- endfor -%} |
| 1682 | |
| 1683 | {% endif %} |
| 1684 | |
| 1685 | {% elif server.backend.engine == "contrail" %} |
| 1686 | |
Petr Jediný | 1f37f54 | 2017-05-15 15:15:24 +0200 | [diff] [blame] | 1687 | service_provider = LOADBALANCERV2:Opencontrail:neutron_plugin_contrail.plugins.opencontrail.loadbalancer.driver.OpencontrailLoadbalancerDummyDriver:default |
Ondrej Smola | 314eee2 | 2017-03-08 21:21:16 +0100 | [diff] [blame] | 1688 | |
Jakub Pavlik | a8d9f56 | 2016-10-18 11:57:31 +0200 | [diff] [blame] | 1689 | {% include "neutron/files/"+server.version+"/ContrailPlugin.ini" %} |
Ondrej Smola | 314eee2 | 2017-03-08 21:21:16 +0100 | [diff] [blame] | 1690 | |
Jakub Pavlik | a8d9f56 | 2016-10-18 11:57:31 +0200 | [diff] [blame] | 1691 | {% endif %} |