| {%- from "neutron/map.jinja" import fwaas, server with context %} |
| |
| [DEFAULT] |
| |
| # |
| # From neutron |
| # |
| |
| # Where to store Neutron state files. This directory must be writable by the |
| # agent. (string value) |
| #state_path = /var/lib/neutron |
| state_path = /var/lib/neutron |
| |
| # The host IP to bind to (string value) |
| #bind_host = 0.0.0.0 |
| bind_host = {{ server.bind.address }} |
| |
| # The port to bind to (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #bind_port = 9696 |
| bind_port = {{ server.bind.port }} |
| |
| # The path for API extensions. Note that this can be a colon-separated list of |
| # paths. For example: api_extensions_path = |
| # extensions:/path/to/more/exts:/even/more/exts. The __path__ of |
| # neutron.extensions is appended to this, so if your extensions are in there |
| # you don't need to specify them here. (string value) |
| |
| {% if server.backend.engine == "contrail" %} |
| |
| api_extensions_path = extensions:/usr/lib/python2.7/dist-packages/neutron_plugin_contrail/extensions:/usr/lib/python2.7/dist-packages/neutron_lbaas/extensions |
| # The core plugin Neutron will use (string value) |
| core_plugin = neutron_plugin_contrail.plugins.opencontrail.contrail_plugin.NeutronPluginContrailCoreV2 |
| |
| service_plugins = neutron_plugin_contrail.plugins.opencontrail.loadbalancer.v2.plugin.LoadBalancerPluginV2 |
| {% elif server.backend.engine == "ml2" %} |
| |
| core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin |
| |
| service_plugins =neutron.services.l3_router.l3_router_plugin.L3RouterPlugin,neutron.services.metering.metering_plugin.MeteringPlugin |
| {%- if server.lbaas is defined -%},neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2{%- endif -%} |
| {%- if fwaas.get('enabled', False) -%},{{ fwaas[fwaas.api_version]['service_plugin'] }}{%- endif -%} |
| |
| {% endif %} |
| |
| # The type of authentication to use (string value) |
| #auth_strategy = keystone |
| auth_strategy = keystone |
| |
| # The service plugins Neutron will use (list value) |
| # The base MAC address Neutron will use for VIFs. The first 3 octets will |
| # remain unchanged. If the 4th octet is not 00, it will also be used. The |
| # others will be randomly generated. (string value) |
| #base_mac = fa:16:3e:00:00:00 |
| |
| # How many times Neutron will retry MAC generation (integer value) |
| #mac_generation_retries = 16 |
| mac_generation_retries = 32 |
| |
| # Allow the usage of the bulk API (boolean value) |
| #allow_bulk = true |
| |
| # Allow the usage of the pagination (boolean value) |
| {% if server.get('allow_pagination', false) %} |
| allow_pagination = True |
| {% else %} |
| allow_pagination = False |
| {% endif %} |
| |
| # Allow the usage of the sorting (boolean value) |
| #allow_sorting = false |
| |
| # The maximum number of items returned in a single response, value was |
| # 'infinite' or negative integer means no limit (string value) |
| pagination_max_limit = {{ server.pagination_max_limit|default('-1') }} |
| |
| # Default value of availability zone hints. The availability zone aware |
| # schedulers use this when the resources availability_zone_hints is empty. |
| # Multiple availability zones can be specified by a comma separated string. |
| # This value can be empty. In this case, even if availability_zone_hints for a |
| # resource is empty, availability zone is considered for high availability |
| # while scheduling the resource. (list value) |
| #default_availability_zones = |
| |
| # Maximum number of DNS nameservers per subnet (integer value) |
| #max_dns_nameservers = 5 |
| |
| # Maximum number of host routes per subnet (integer value) |
| #max_subnet_host_routes = 20 |
| |
| # Maximum number of fixed ips per port. This option is deprecated and will be |
| # removed in the N release. (integer value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #max_fixed_ips_per_port = 5 |
| |
| # Default IPv4 subnet pool to be used for automatic subnet CIDR allocation. |
| # Specifies by UUID the pool to be used in case where creation of a subnet is |
| # being called without a subnet pool ID. If not set then no pool will be used |
| # unless passed explicitly to the subnet create. If no pool is used, then a |
| # CIDR must be passed to create a subnet and that subnet will not be allocated |
| # from any pool; it will be considered part of the tenant's private address |
| # space. This option is deprecated for removal in the N release. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #default_ipv4_subnet_pool = <None> |
| |
| # Default IPv6 subnet pool to be used for automatic subnet CIDR allocation. |
| # Specifies by UUID the pool to be used in case where creation of a subnet is |
| # being called without a subnet pool ID. See the description for |
| # default_ipv4_subnet_pool for more information. This option is deprecated for |
| # removal in the N release. (string value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #default_ipv6_subnet_pool = <None> |
| |
| # Enables IPv6 Prefix Delegation for automatic subnet CIDR allocation. Set to |
| # True to enable IPv6 Prefix Delegation for subnet allocation in a PD-capable |
| # environment. Users making subnet creation requests for IPv6 subnets without |
| # providing a CIDR or subnetpool ID will be given a CIDR via the Prefix |
| # Delegation mechanism. Note that enabling PD will override the behavior of the |
| # default IPv6 subnetpool. (boolean value) |
| #ipv6_pd_enabled = false |
| |
| # DHCP lease duration (in seconds). Use -1 to tell dnsmasq to use infinite |
| # lease times. (integer value) |
| # Deprecated group/name - [DEFAULT]/dhcp_lease_time |
| #dhcp_lease_duration = 86400 |
| dhcp_lease_duration = 600 |
| |
| # Domain to use for building the hostnames (string value) |
| #dns_domain = openstacklocal |
| dns_domain = {{ server.dns_domain }} |
| |
| # Driver for external DNS integration. (string value) |
| #external_dns_driver = <None> |
| |
| # Allow sending resource operation notification to DHCP agent (boolean value) |
| #dhcp_agent_notification = true |
| |
| # Allow overlapping IP support in Neutron. Attention: the following parameter |
| # MUST be set to False if Neutron is being used in conjunction with Nova |
| # security groups. (boolean value) |
| #allow_overlapping_ips = false |
| allow_overlapping_ips = True |
| |
| # Hostname to be used by the Neutron server, agents and services running on |
| # this machine. All the agents and services running on this machine must use |
| # the same host value. (string value) |
| #host = example.domain |
| |
| # Ensure that configured gateway is on subnet. For IPv6, validate only if |
| # gateway is not a link local address. Deprecated, to be removed during the |
| # Newton release, at which point the gateway will not be forced on to subnet. |
| # (boolean value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #force_gateway_on_subnet = true |
| |
| # Send notification to nova when port status changes (boolean value) |
| #notify_nova_on_port_status_changes = true |
| notify_nova_on_port_status_changes = True |
| |
| # Send notification to nova when port data (fixed_ips/floatingip) changes so |
| # nova can update its cache. (boolean value) |
| #notify_nova_on_port_data_changes = true |
| notify_nova_on_port_data_changes = True |
| |
| # Number of seconds between sending events to nova if there are any events to |
| # send. (integer value) |
| #send_events_interval = 2 |
| |
| # If True, advertise network MTU values if core plugin calculates them. MTU is |
| # advertised to running instances via DHCP and RA MTU options. (boolean value) |
| #advertise_mtu = true |
| advertise_mtu = True |
| |
| # Neutron IPAM (IP address management) driver to use. If ipam_driver is not set |
| # (default behavior), no IPAM driver is used. In order to use the reference |
| # implementation of Neutron IPAM driver, use 'internal'. (string value) |
| #ipam_driver = <None> |
| |
| # If True, then allow plugins that support it to create VLAN transparent |
| # networks. (boolean value) |
| #vlan_transparent = false |
| |
| # This will choose the web framework in which to run the Neutron API server. |
| # 'pecan' is a new experiemental rewrite of the API server. (string value) |
| # Allowed values: legacy, pecan |
| #web_framework = legacy |
| |
| # MTU of the underlying physical network. Neutron uses this value to calculate |
| # MTU for all virtual network components. For flat and VLAN networks, neutron |
| # uses this value without modification. For overlay networks such as VXLAN, |
| # neutron automatically subtracts the overlay protocol overhead from this |
| # value. Defaults to 1500, the standard value for Ethernet. (integer value) |
| # Deprecated group/name - [ml2]/segment_mtu |
| #global_physnet_mtu = 1500 |
| global_physnet_mtu = {{ server.get('global_physnet_mtu', '1500') }} |
| |
| # Number of backlog requests to configure the socket with (integer value) |
| #backlog = 4096 |
| |
| # Number of seconds to keep retrying to listen (integer value) |
| #retry_until_window = 30 |
| |
| # Enable SSL on the API server (boolean value) |
| #use_ssl = false |
| |
| # Seconds between running periodic tasks (integer value) |
| #periodic_interval = 40 |
| |
| # Number of separate API worker processes for service. If not specified, the |
| # default is equal to the number of CPUs available for best performance. |
| # (integer value) |
| #api_workers = <None> |
| {%- if server.api_workers is defined %} |
| api_workers = {{ server.api_workers }} |
| {%- endif %} |
| |
| # Number of RPC worker processes for service (integer value) |
| #rpc_workers = 1 |
| {%- if server.rpc_workers is defined %} |
| rpc_workers = {{ server.rpc_workers }} |
| {%- else %} |
| rpc_workers = {{ grains.num_cpus }} |
| {%- endif %} |
| |
| # Number of RPC worker processes dedicated to state reports queue (integer |
| # value) |
| #rpc_state_report_workers = 1 |
| {%- if server.rpc_state_report_workers is defined %} |
| rpc_state_report_workers = {{ server.rpc_state_report_workers }} |
| {%- else %} |
| rpc_state_report_workers = 4 |
| {%- endif %} |
| |
| # Range of seconds to randomly delay when starting the periodic task scheduler |
| # to reduce stampeding. (Disable by setting to 0) (integer value) |
| #periodic_fuzzy_delay = 5 |
| |
| # |
| # From neutron.agent |
| # |
| |
| # The driver used to manage the virtual interface. (string value) |
| #interface_driver = <None> |
| |
| # Location for Metadata Proxy UNIX domain socket. (string value) |
| #metadata_proxy_socket = $state_path/metadata_proxy |
| |
| # User (uid or name) running metadata proxy after its initialization (if empty: |
| # agent effective user). (string value) |
| #metadata_proxy_user = |
| |
| # Group (gid or name) running metadata proxy after its initialization (if |
| # empty: agent effective group). (string value) |
| #metadata_proxy_group = |
| |
| # Enable/Disable log watch by metadata proxy. It should be disabled when |
| # metadata_proxy_user/group is not allowed to read/write its log file and |
| # copytruncate logrotate option must be used if logrotate is enabled on |
| # metadata proxy log files. Option default value is deduced from |
| # metadata_proxy_user: watch log is enabled if metadata_proxy_user is agent |
| # effective user id/name. (boolean value) |
| #metadata_proxy_watch_log = <None> |
| |
| # |
| # From neutron.db |
| # |
| |
| # Seconds to regard the agent is down; should be at least twice |
| # report_interval, to be sure the agent is down for good. (integer value) |
| #agent_down_time = 75 |
| agent_down_time = 30 |
| |
| # Representing the resource type whose load is being reported by the agent. |
| # This can be "networks", "subnets" or "ports". When specified (Default is |
| # networks), the server will extract particular load sent as part of its agent |
| # configuration object from the agent report state, which is the number of |
| # resources being consumed, at every report_interval.dhcp_load_type can be used |
| # in combination with network_scheduler_driver = |
| # neutron.scheduler.dhcp_agent_scheduler.WeightScheduler When the |
| # network_scheduler_driver is WeightScheduler, dhcp_load_type can be configured |
| # to represent the choice for the resource being balanced. Example: |
| # dhcp_load_type=networks (string value) |
| # Allowed values: networks, subnets, ports |
| #dhcp_load_type = networks |
| |
| # Agent starts with admin_state_up=False when enable_new_agents=False. In the |
| # case, user's resources will not be scheduled automatically to the agent until |
| # admin changes admin_state_up to True. (boolean value) |
| #enable_new_agents = true |
| |
| # Maximum number of routes per router (integer value) |
| #max_routes = 30 |
| |
| # Define the default value of enable_snat if not provided in |
| # external_gateway_info. (boolean value) |
| #enable_snat_by_default = true |
| |
| # Driver to use for scheduling network to DHCP agent (string value) |
| #network_scheduler_driver = neutron.scheduler.dhcp_agent_scheduler.WeightScheduler |
| |
| # Allow auto scheduling networks to DHCP agent. (boolean value) |
| #network_auto_schedule = true |
| |
| # Automatically remove networks from offline DHCP agents. (boolean value) |
| #allow_automatic_dhcp_failover = true |
| |
| # Number of DHCP agents scheduled to host a tenant network. If this number is |
| # greater than 1, the scheduler automatically assigns multiple DHCP agents for |
| # a given tenant network, providing high availability for DHCP service. |
| # (integer value) |
| #dhcp_agents_per_network = 1 |
| dhcp_agents_per_network = 2 |
| |
| # Enable services on an agent with admin_state_up False. If this option is |
| # False, when admin_state_up of an agent is turned False, services on it will |
| # be disabled. Agents with admin_state_up False are not selected for automatic |
| # scheduling regardless of this option. But manual scheduling to such agents is |
| # available if this option is True. (boolean value) |
| #enable_services_on_agents_with_admin_state_down = false |
| |
| # The base mac address used for unique DVR instances by Neutron. The first 3 |
| # octets will remain unchanged. If the 4th octet is not 00, it will also be |
| # used. The others will be randomly generated. The 'dvr_base_mac' *must* be |
| # different from 'base_mac' to avoid mixing them up with MAC's allocated for |
| # tenant ports. A 4 octet example would be dvr_base_mac = fa:16:3f:4f:00:00. |
| # The default is 3 octet (string value) |
| #dvr_base_mac = fa:16:3f:00:00:00 |
| |
| # System-wide flag to determine the type of router that tenants can create. |
| # Only admin can override. (boolean value) |
| #router_distributed = false |
| router_distributed = {{ server.get('dvr', 'False') }} |
| |
| # Driver to use for scheduling router to a default L3 agent (string value) |
| #router_scheduler_driver = neutron.scheduler.l3_agent_scheduler.LeastRoutersScheduler |
| router_scheduler_driver = neutron.scheduler.l3_agent_scheduler.ChanceScheduler |
| |
| # Allow auto scheduling of routers to L3 agent. (boolean value) |
| #router_auto_schedule = true |
| |
| # Automatically reschedule routers from offline L3 agents to online L3 agents. |
| # (boolean value) |
| #allow_automatic_l3agent_failover = false |
| allow_automatic_l3agent_failover = true |
| |
| # Enable HA mode for virtual routers. (boolean value) |
| #l3_ha = false |
| l3_ha = {{ server.get('l3_ha', 'False') }} |
| |
| # Maximum number of L3 agents which a HA router will be scheduled on. If it is |
| # set to 0 then the router will be scheduled on every agent. (integer value) |
| #max_l3_agents_per_router = 3 |
| max_l3_agents_per_router = 0 |
| |
| # Minimum number of L3 agents which a HA router will be scheduled on. If it is |
| # set to 0 then the router will be scheduled on every agent. (integer value) |
| #min_l3_agents_per_router = 2 |
| |
| # Subnet used for the l3 HA admin network. (string value) |
| #l3_ha_net_cidr = 169.254.192.0/18 |
| |
| # The network type to use when creating the HA network for an HA router. By |
| # default or if empty, the first 'tenant_network_types' is used. This is |
| # helpful when the VRRP traffic should use a specific network which is not the |
| # default one. (string value) |
| #l3_ha_network_type = |
| |
| # The physical network name with which the HA network can be created. (string |
| # value) |
| #l3_ha_network_physical_name = |
| |
| # |
| # From neutron.extensions |
| # |
| |
| # Maximum number of allowed address pairs (integer value) |
| #max_allowed_address_pair = 10 |
| |
| # |
| # From neutron.qos |
| # |
| |
| # Drivers list to use to send the update notification (list value) |
| #notification_drivers = m,e,s,s,a,g,e,_,q,u,e,u,e |
| |
| # |
| # 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 |
| 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> |
| {%- if server.logging.log_appender %} |
| log_config_append = /etc/neutron/logging.conf |
| {%- endif %} |
| |
| # 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 |
| |
| # |
| # From oslo.messaging |
| # |
| |
| # Size of RPC connection pool. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_conn_pool_size |
| #rpc_conn_pool_size = 30 |
| |
| # ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. |
| # The "host" option should point or resolve to this address. (string value) |
| #rpc_zmq_bind_address = * |
| |
| # MatchMaker driver. (string value) |
| # Allowed values: redis, dummy |
| #rpc_zmq_matchmaker = redis |
| |
| # Type of concurrency used. Either "native" or "eventlet" (string value) |
| #rpc_zmq_concurrency = eventlet |
| |
| # Number of ZeroMQ contexts, defaults to 1. (integer value) |
| #rpc_zmq_contexts = 1 |
| |
| # Maximum number of ingress messages to locally buffer per topic. Default is |
| # unlimited. (integer value) |
| #rpc_zmq_topic_backlog = <None> |
| |
| # Directory for holding IPC sockets. (string value) |
| #rpc_zmq_ipc_dir = /var/run/openstack |
| |
| # Name of this node. Must be a valid hostname, FQDN, or IP address. Must match |
| # "host" option, if running Nova. (string value) |
| #rpc_zmq_host = localhost |
| |
| # Seconds to wait before a cast expires (TTL). The default value of -1 |
| # specifies an infinite linger period. The value of 0 specifies no linger |
| # period. Pending messages shall be discarded immediately when the socket is |
| # closed. Only supported by impl_zmq. (integer value) |
| #rpc_cast_timeout = -1 |
| rpc_cast_timeout=30 |
| |
| # The default number of seconds that poll should wait. Poll raises timeout |
| # exception when timeout expired. (integer value) |
| #rpc_poll_timeout = 1 |
| |
| # Expiration timeout in seconds of a name service record about existing target |
| # ( < 0 means no timeout). (integer value) |
| #zmq_target_expire = 120 |
| |
| # Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean |
| # value) |
| #use_pub_sub = true |
| |
| # Minimal port number for random ports range. (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #rpc_zmq_min_port = 49152 |
| |
| # Maximal port number for random ports range. (integer value) |
| # Minimum value: 1 |
| # Maximum value: 65536 |
| #rpc_zmq_max_port = 65536 |
| |
| # Number of retries to find free port number before fail with ZMQBindError. |
| # (integer value) |
| #rpc_zmq_bind_port_retries = 100 |
| |
| # Size of executor thread pool. (integer value) |
| # Deprecated group/name - [DEFAULT]/rpc_thread_pool_size |
| #executor_thread_pool_size = 64 |
| executor_thread_pool_size = 70 |
| |
| # Seconds to wait for a response from a call. (integer value) |
| #rpc_response_timeout = 60 |
| rpc_response_timeout=120 |
| |
| # A URL representing the messaging driver to use and its full configuration. If |
| # not set, we fall back to the rpc_backend option and driver specific |
| # configuration. (string value) |
| #transport_url = <None> |
| |
| # The messaging driver to use, defaults to rabbit. Other drivers include amqp |
| # and zmq. (string value) |
| #rpc_backend = rabbit |
| rpc_backend = rabbit |
| |
| # The default exchange under which topics are scoped. May be overridden by an |
| # exchange name specified in the transport_url option. (string value) |
| #control_exchange = neutron |
| |
| # |
| # From oslo.service.wsgi |
| # |
| |
| # File name for the paste.deploy config for api service (string value) |
| #api_paste_config = api-paste.ini |
| |
| # A python format string that is used as the template to generate log lines. |
| # The following values can beformatted into it: client_ip, date_time, |
| # request_line, status_code, body_length, wall_seconds. (string value) |
| #wsgi_log_format = %(client_ip)s "%(request_line)s" status: %(status_code)s len: %(body_length)s time: %(wall_seconds).7f |
| |
| # Sets the value of TCP_KEEPIDLE in seconds for each server socket. Not |
| # supported on OS X. (integer value) |
| #tcp_keepidle = 600 |
| |
| # Size of the pool of greenthreads used by wsgi (integer value) |
| #wsgi_default_pool_size = 1000 |
| |
| # Maximum line size of message headers to be accepted. max_header_line may need |
| # to be increased when using large tokens (typically those generated by the |
| # Keystone v3 API with big service catalogs). (integer value) |
| #max_header_line = 16384 |
| |
| # If False, closes the client socket connection explicitly. (boolean value) |
| #wsgi_keep_alive = true |
| |
| # Timeout for client connections' socket operations. If an incoming connection |
| # is idle for this number of seconds it will be closed. A value of '0' means |
| # wait forever. (integer value) |
| #client_socket_timeout = 900 |
| |
| nova_url = http://{{ server.compute.host }}:8774/v2 |
| |
| [agent] |
| |
| # |
| # From neutron.agent |
| # |
| |
| # Root helper application. Use 'sudo neutron-rootwrap |
| # /etc/neutron/rootwrap.conf' to use the real root filter facility. Change to |
| # 'sudo' to skip the filtering and just run the command directly. (string |
| # value) |
| root_helper = sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf |
| |
| # Use the root helper when listing the namespaces on a system. This may not be |
| # required depending on the security configuration. If the root helper is not |
| # required, set this to False for a performance improvement. (boolean value) |
| #use_helper_for_ns_read = true |
| |
| # Root helper daemon application to use when possible. (string value) |
| root_helper_daemon = sudo neutron-rootwrap-daemon /etc/neutron/rootwrap.conf |
| |
| # Seconds between nodes reporting state to server; should be less than |
| # agent_down_time, best if it is half or less than agent_down_time. (floating |
| # point value) |
| #report_interval = 30 |
| report_interval = 10 |
| |
| # Log agent heartbeats (boolean value) |
| #log_agent_heartbeats = false |
| |
| # Add comments to iptables rules. Set to false to disallow the addition of |
| # comments to generated iptables rules that describe each rule's purpose. |
| # System must support the iptables comments module for addition of comments. |
| # (boolean value) |
| #comment_iptables_rules = true |
| |
| # Action to be executed when a child process dies (string value) |
| # Allowed values: respawn, exit |
| #check_child_processes_action = respawn |
| |
| # Interval between checks of child process liveness (seconds), use 0 to disable |
| # (integer value) |
| #check_child_processes_interval = 60 |
| |
| # Availability zone of this node (string value) |
| #availability_zone = nova |
| |
| |
| [cors] |
| |
| # |
| # From oslo.middleware.cors |
| # |
| |
| # Indicate whether this resource may be shared with the domain received in the |
| # requests "origin" header. (list value) |
| #allowed_origin = <None> |
| {%- if server.cors.allowed_origin is defined %} |
| allowed_origin = {{ server.cors.allowed_origin }} |
| {%- endif %} |
| |
| # Indicate that the actual request can include user credentials (boolean value) |
| #allow_credentials = true |
| {%- if server.cors.allow_credentials is defined %} |
| allow_credentials = {{ server.cors.allow_credentials }} |
| {%- endif %} |
| |
| # Indicate which headers are safe to expose to the API. Defaults to HTTP Simple |
| # Headers. (list value) |
| #expose_headers = X-Auth-Token,X-Subject-Token,X-Service-Token,X-OpenStack-Request-ID,OpenStack-Volume-microversion |
| {%- if server.cors.expose_headers is defined %} |
| expose_headers = {{ server.cors.expose_headers }} |
| {%- endif %} |
| |
| # Maximum cache age of CORS preflight requests. (integer value) |
| #max_age = 3600 |
| {%- if server.cors.max_age is defined %} |
| max_age = {{ server.cors.max_age }} |
| {%- endif %} |
| |
| # Indicate which methods can be used during the actual request. (list value) |
| #allow_methods = GET,PUT,POST,DELETE,PATCH |
| {%- if server.cors.allow_methods is defined %} |
| allow_methods = {{ server.cors.allow_methods }} |
| {%- endif %} |
| |
| # Indicate which header field names may be used during the actual request. |
| # (list value) |
| #allow_headers = X-Auth-Token,X-Identity-Status,X-Roles,X-Service-Catalog,X-User-Id,X-Tenant-Id,X-OpenStack-Request-ID |
| {%- if server.cors.allow_headers is defined %} |
| allow_headers = {{ server.cors.allow_headers }} |
| {%- endif %} |
| |
| |
| |
| [cors.subdomain] |
| |
| # |
| # From oslo.middleware.cors |
| # |
| |
| # Indicate whether this resource may be shared with the domain received in the |
| # requests "origin" header. (list value) |
| #allowed_origin = <None> |
| |
| # Indicate that the actual request can include user credentials (boolean value) |
| #allow_credentials = true |
| |
| # Indicate which headers are safe to expose to the API. Defaults to HTTP Simple |
| # Headers. (list value) |
| #expose_headers = X-Auth-Token,X-Subject-Token,X-Service-Token,X-OpenStack-Request-ID,OpenStack-Volume-microversion |
| |
| # Maximum cache age of CORS preflight requests. (integer value) |
| #max_age = 3600 |
| |
| # Indicate which methods can be used during the actual request. (list value) |
| #allow_methods = GET,PUT,POST,DELETE,PATCH |
| |
| # Indicate which header field names may be used during the actual request. |
| # (list value) |
| #allow_headers = X-Auth-Token,X-Identity-Status,X-Roles,X-Service-Catalog,X-User-Id,X-Tenant-Id,X-OpenStack-Request-ID |
| |
| |
| [database] |
| |
| # |
| # From neutron.db |
| # |
| |
| # Database engine for which script will be generated when using offline |
| # migration. (string value) |
| #engine = |
| |
| # |
| # From oslo.db |
| # |
| |
| # The file name to use with SQLite. (string value) |
| # Deprecated group/name - [DEFAULT]/sqlite_db |
| #sqlite_db = oslo.sqlite |
| |
| # If True, SQLite uses synchronous mode. (boolean value) |
| # Deprecated group/name - [DEFAULT]/sqlite_synchronous |
| #sqlite_synchronous = true |
| |
| # The back end to use for the database. (string value) |
| # Deprecated group/name - [DEFAULT]/db_backend |
| #backend = sqlalchemy |
| |
| # The SQLAlchemy connection string to use to connect to the database. (string |
| # value) |
| # Deprecated group/name - [DEFAULT]/sql_connection |
| # Deprecated group/name - [DATABASE]/sql_connection |
| # Deprecated group/name - [sql]/connection |
| {% if server.backend.engine == "ml2" %} |
| connection = {{ server.database.engine }}+pymysql://{{ server.database.user }}:{{ server.database.password }}@{{ server.database.host }}/{{ server.database.name }}{%- if server.database.get('ssl',{}).get('enabled',False) %}?ssl_ca={{ server.database.ssl.get('cacert_file', server.cacert_file) }}{% endif %} |
| {% else %} |
| connection = sqlite:////var/lib/neutron/neutron.sqlite |
| {% endif %} |
| # The SQLAlchemy connection string to use to connect to the slave database. |
| # (string value) |
| #slave_connection = <None> |
| |
| # The SQL mode to be used for MySQL sessions. This option, including the |
| # default, overrides any server-set SQL mode. To use whatever SQL mode is set |
| # by the server configuration, set this to no value. Example: mysql_sql_mode= |
| # (string value) |
| #mysql_sql_mode = TRADITIONAL |
| |
| # Timeout before idle SQL connections are reaped. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_idle_timeout |
| # Deprecated group/name - [DATABASE]/sql_idle_timeout |
| # Deprecated group/name - [sql]/idle_timeout |
| #idle_timeout = 3600 |
| idle_timeout = 3600 |
| |
| # Minimum number of SQL connections to keep open in a pool. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_min_pool_size |
| # Deprecated group/name - [DATABASE]/sql_min_pool_size |
| #min_pool_size = 1 |
| |
| # Maximum number of SQL connections to keep open in a pool. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_max_pool_size |
| # Deprecated group/name - [DATABASE]/sql_max_pool_size |
| #max_pool_size = <None> |
| max_pool_size = {{ [grains.num_cpus * 5, 30] | sort | first }} |
| |
| # Maximum number of database connection retries during startup. Set to -1 to |
| # specify an infinite retry count. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_max_retries |
| # Deprecated group/name - [DATABASE]/sql_max_retries |
| #max_retries = 10 |
| max_retries = -1 |
| |
| # Interval between retries of opening a SQL connection. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_retry_interval |
| # Deprecated group/name - [DATABASE]/reconnect_interval |
| #retry_interval = 10 |
| retry_interval = 2 |
| |
| # If set, use this value for max_overflow with SQLAlchemy. (integer value) |
| # Deprecated group/name - [DEFAULT]/sql_max_overflow |
| # Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow |
| #max_overflow = 50 |
| max_overflow = 20 |
| |
| # Verbosity of SQL debugging information: 0=None, 100=Everything. (integer |
| # value) |
| # Deprecated group/name - [DEFAULT]/sql_connection_debug |
| #connection_debug = 0 |
| |
| # Add Python stack traces to SQL as comment strings. (boolean value) |
| # Deprecated group/name - [DEFAULT]/sql_connection_trace |
| #connection_trace = false |
| |
| # If set, use this value for pool_timeout with SQLAlchemy. (integer value) |
| # Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout |
| #pool_timeout = <None> |
| |
| # Enable the experimental use of database reconnect on connection lost. |
| # (boolean value) |
| #use_db_reconnect = false |
| |
| # Seconds between retries of a database transaction. (integer value) |
| #db_retry_interval = 1 |
| |
| # If True, increases the interval between retries of a database operation up to |
| # db_max_retry_interval. (boolean value) |
| #db_inc_retry_interval = true |
| |
| # If db_inc_retry_interval is set, the maximum seconds between retries of a |
| # database operation. (integer value) |
| #db_max_retry_interval = 10 |
| |
| # Maximum retries in case of connection error or deadlock error before error is |
| # raised. Set to -1 to specify an infinite retry count. (integer value) |
| #db_max_retries = 20 |
| |
| |
| [keystone_authtoken] |
| {% if server.backend.engine == "contrail" %} |
| admin_token = {{ server.backend.token }} |
| admin_user={{ server.backend.user }} |
| admin_password={{ server.backend.password }} |
| admin_tenant_name={{ server.backend.tenant }} |
| {%- endif %} |
| auth_region={{ server.identity.region }} |
| auth_protocol=http |
| revocation_cache_time = 10 |
| {% if server.backend.engine == "contrail" %} |
| # LBaaS contrail neutron plugin for versions 3.x expects auth_type to be |
| # 'keystone' or 'noauth' |
| # This behaviour is fixed after the release MCP1.0 by using auth_strategy |
| # instead of auth_type, until this is backported to MCP1.0 auth_type must be |
| # set to keystone, noauth or commented out. |
| # |
| # When not defined, contrail defaults to 'keystone' |
| # |
| #auth_type=keystone |
| {% else %} |
| auth_type = password |
| {% endif %} |
| auth_host = {{ server.identity.host }} |
| auth_port = 35357 |
| user_domain_id = {{ server.identity.get('domain', 'default') }} |
| project_domain_id = {{ server.identity.get('domain', 'default') }} |
| project_name = {{ server.identity.tenant }} |
| username = {{ server.identity.user }} |
| password = {{ server.identity.password }} |
| auth_uri=http://{{ server.identity.host }}:5000 |
| auth_url=http://{{ server.identity.host }}:35357 |
| {%- if server.get('cache',{}).members is defined %} |
| memcached_servers={%- for member in server.cache.members %}{{ member.host }}:11211{% if not loop.last %},{% endif %}{%- endfor %} |
| {%- endif %} |
| # |
| # From keystonemiddleware.auth_token |
| # |
| |
| # Complete public Identity API endpoint. (string value) |
| #auth_uri = <None> |
| |
| # API version of the admin Identity API endpoint. (string value) |
| #auth_version = <None> |
| |
| # Do not handle authorization requests within the middleware, but delegate the |
| # authorization decision to downstream WSGI components. (boolean value) |
| #delay_auth_decision = false |
| |
| # Request timeout value for communicating with Identity API server. (integer |
| # value) |
| #http_connect_timeout = <None> |
| |
| # How many times are we trying to reconnect when communicating with Identity |
| # API Server. (integer value) |
| #http_request_max_retries = 3 |
| |
| # Env key for the swift cache. (string value) |
| #cache = <None> |
| |
| # Required if identity server requires client certificate (string value) |
| #certfile = <None> |
| |
| # Required if identity server requires client certificate (string value) |
| #keyfile = <None> |
| |
| # A PEM encoded Certificate Authority to use when verifying HTTPs connections. |
| # Defaults to system CAs. (string value) |
| #cafile = <None> |
| |
| # Verify HTTPS connections. (boolean value) |
| #insecure = false |
| |
| # The region in which the identity server can be found. (string value) |
| #region_name = <None> |
| |
| # Directory used to cache files related to PKI tokens. (string value) |
| #signing_dir = <None> |
| |
| # Optionally specify a list of memcached server(s) to use for caching. If left |
| # undefined, tokens will instead be cached in-process. (list value) |
| # Deprecated group/name - [DEFAULT]/memcache_servers |
| #memcached_servers = <None> |
| |
| # In order to prevent excessive effort spent validating tokens, the middleware |
| # caches previously-seen tokens for a configurable duration (in seconds). Set |
| # to -1 to disable caching completely. (integer value) |
| #token_cache_time = 300 |
| |
| # Determines the frequency at which the list of revoked tokens is retrieved |
| # from the Identity service (in seconds). A high number of revocation events |
| # combined with a low cache duration may significantly reduce performance. |
| # (integer value) |
| #revocation_cache_time = 10 |
| |
| # (Optional) If defined, indicate whether token data should be authenticated or |
| # authenticated and encrypted. If MAC, token data is authenticated (with HMAC) |
| # in the cache. If ENCRYPT, token data is encrypted and authenticated in the |
| # cache. If the value is not one of these options or empty, auth_token will |
| # raise an exception on initialization. (string value) |
| # Allowed values: None, MAC, ENCRYPT |
| #memcache_security_strategy = None |
| |
| # (Optional, mandatory if memcache_security_strategy is defined) This string is |
| # used for key derivation. (string value) |
| #memcache_secret_key = <None> |
| |
| # (Optional) Number of seconds memcached server is considered dead before it is |
| # tried again. (integer value) |
| #memcache_pool_dead_retry = 300 |
| |
| # (Optional) Maximum total number of open connections to every memcached |
| # server. (integer value) |
| #memcache_pool_maxsize = 10 |
| |
| # (Optional) Socket timeout in seconds for communicating with a memcached |
| # server. (integer value) |
| #memcache_pool_socket_timeout = 3 |
| |
| # (Optional) Number of seconds a connection to memcached is held unused in the |
| # pool before it is closed. (integer value) |
| #memcache_pool_unused_timeout = 60 |
| |
| # (Optional) Number of seconds that an operation will wait to get a memcached |
| # client connection from the pool. (integer value) |
| #memcache_pool_conn_get_timeout = 10 |
| |
| # (Optional) Use the advanced (eventlet safe) memcached client pool. The |
| # advanced pool will only work under python 2.x. (boolean value) |
| #memcache_use_advanced_pool = false |
| |
| # (Optional) Indicate whether to set the X-Service-Catalog header. If False, |
| # middleware will not ask for service catalog on token validation and will not |
| # set the X-Service-Catalog header. (boolean value) |
| #include_service_catalog = true |
| |
| # Used to control the use and type of token binding. Can be set to: "disabled" |
| # to not check token binding. "permissive" (default) to validate binding |
| # information if the bind type is of a form known to the server and ignore it |
| # if not. "strict" like "permissive" but if the bind type is unknown the token |
| # will be rejected. "required" any form of token binding is needed to be |
| # allowed. Finally the name of a binding method that must be present in tokens. |
| # (string value) |
| #enforce_token_bind = permissive |
| |
| # If true, the revocation list will be checked for cached tokens. This requires |
| # that PKI tokens are configured on the identity server. (boolean value) |
| #check_revocations_for_cached = false |
| |
| # Hash algorithms to use for hashing PKI tokens. This may be a single algorithm |
| # or multiple. The algorithms are those supported by Python standard |
| # hashlib.new(). The hashes will be tried in the order given, so put the |
| # preferred one first for performance. The result of the first hash will be |
| # stored in the cache. This will typically be set to multiple values only while |
| # migrating from a less secure algorithm to a more secure one. Once all the old |
| # tokens are expired this option should be set to a single value for better |
| # performance. (list value) |
| #hash_algorithms = md5 |
| |
| # Prefix to prepend at the beginning of the path. Deprecated, use identity_uri. |
| # (string value) |
| #auth_admin_prefix = |
| |
| # Host providing the admin Identity API endpoint. Deprecated, use identity_uri. |
| # (string value) |
| #auth_host = 127.0.0.1 |
| |
| # Port of the admin Identity API endpoint. Deprecated, use identity_uri. |
| # (integer value) |
| #auth_port = 35357 |
| |
| # Protocol of the admin Identity API endpoint. Deprecated, use identity_uri. |
| # (string value) |
| # Allowed values: http, https |
| #auth_protocol = https |
| |
| # Complete admin Identity API endpoint. This should specify the unversioned |
| # root endpoint e.g. https://localhost:35357/ (string value) |
| #identity_uri = <None> |
| |
| # This option is deprecated and may be removed in a future release. Single |
| # shared secret with the Keystone configuration used for bootstrapping a |
| # Keystone installation, or otherwise bypassing the normal authentication |
| # process. This option should not be used, use `admin_user` and |
| # `admin_password` instead. (string value) |
| #admin_token = <None> |
| |
| # Service username. (string value) |
| #admin_user = <None> |
| |
| # Service user password. (string value) |
| #admin_password = <None> |
| |
| # Service tenant name. (string value) |
| #admin_tenant_name = admin |
| |
| # Authentication type to load (unknown value) |
| # Deprecated group/name - [DEFAULT]/auth_plugin |
| #auth_type = <None> |
| |
| # Config Section from which to load plugin specific options (unknown value) |
| #auth_section = <None> |
| |
| |
| [matchmaker_redis] |
| |
| # |
| # From oslo.messaging |
| # |
| |
| # Host to locate redis. (string value) |
| #host = 127.0.0.1 |
| |
| # Use this port to connect to redis host. (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| #port = 6379 |
| |
| # Password for Redis server (optional). (string value) |
| #password = |
| |
| # List of Redis Sentinel hosts (fault tolerance mode) e.g. |
| # [host:port, host1:port ... ] (list value) |
| #sentinel_hosts = |
| |
| # Redis replica set name. (string value) |
| #sentinel_group_name = oslo-messaging-zeromq |
| |
| # Time in ms to wait between connection attempts. (integer value) |
| #wait_timeout = 500 |
| |
| # Time in ms to wait before the transaction is killed. (integer value) |
| #check_timeout = 20000 |
| |
| # Timeout in ms on blocking socket operations (integer value) |
| #socket_timeout = 1000 |
| |
| |
| [nova] |
| |
| # |
| # From neutron |
| # |
| |
| # Name of nova region to use. Useful if keystone manages more than one region. |
| # (string value) |
| #region_name = <None> |
| region_name = {{ server.compute.region }} |
| |
| # Type of the nova endpoint to use. This endpoint will be looked up in the |
| # keystone catalog and should be one of public, internal or admin. (string |
| # value) |
| # Allowed values: public, admin, internal |
| endpoint_type = {{ server.identity.get('endpoint_type', 'public') }} |
| |
| # |
| # From nova.auth |
| # |
| |
| # Authentication URL (unknown value) |
| #auth_url = <None> |
| user_domain_id = {{ server.identity.get('domain', 'default') }} |
| project_domain_id = {{ server.identity.get('domain', 'default') }} |
| project_name = {{ server.identity.tenant }} |
| password = {{ server.compute.password }} |
| username = {{ server.compute.user }} |
| auth_type = password |
| auth_url = http://{{ server.identity.host }}:35357 |
| |
| # Authentication type to load (unknown value) |
| # Deprecated group/name - [DEFAULT]/auth_plugin |
| #auth_type = <None> |
| |
| # PEM encoded Certificate Authority to use when verifying HTTPs connections. |
| # (string value) |
| #cafile = <None> |
| |
| # PEM encoded client certificate cert file (string value) |
| #certfile = <None> |
| |
| # Optional domain ID to use with v3 and v2 parameters. It will be used for both |
| # the user and project domain in v3 and ignored in v2 authentication. (unknown |
| # value) |
| #default_domain_id = <None> |
| |
| # Optional domain name to use with v3 API and v2 parameters. It will be used |
| # for both the user and project domain in v3 and ignored in v2 authentication. |
| # (unknown value) |
| #default_domain_name = <None> |
| |
| # Domain ID to scope to (unknown value) |
| #domain_id = <None> |
| |
| # Domain name to scope to (unknown value) |
| #domain_name = <None> |
| |
| # Verify HTTPS connections. (boolean value) |
| #insecure = false |
| |
| # PEM encoded client certificate key file (string value) |
| #keyfile = <None> |
| |
| # User's password (unknown value) |
| #password = <None> |
| |
| # Domain ID containing project (unknown value) |
| #project_domain_id = <None> |
| |
| # Domain name containing project (unknown value) |
| #project_domain_name = <None> |
| |
| # Project ID to scope to (unknown value) |
| # Deprecated group/name - [DEFAULT]/tenant-id |
| #project_id = <None> |
| |
| # Project name to scope to (unknown value) |
| # Deprecated group/name - [DEFAULT]/tenant-name |
| #project_name = <None> |
| |
| # Tenant ID (unknown value) |
| #tenant_id = <None> |
| |
| # Tenant Name (unknown value) |
| #tenant_name = <None> |
| |
| # Timeout value for http requests (integer value) |
| #timeout = <None> |
| |
| # Trust ID (unknown value) |
| #trust_id = <None> |
| |
| # User's domain id (unknown value) |
| #user_domain_id = <None> |
| |
| # User's domain name (unknown value) |
| #user_domain_name = <None> |
| |
| # User id (unknown value) |
| #user_id = <None> |
| |
| # Username (unknown value) |
| # Deprecated group/name - [DEFAULT]/username |
| #username = <None> |
| |
| |
| [oslo_concurrency] |
| |
| # |
| # From oslo.concurrency |
| # |
| |
| # Enables or disables inter-process locks. (boolean value) |
| # Deprecated group/name - [DEFAULT]/disable_process_locking |
| #disable_process_locking = false |
| |
| # Directory to use for lock files. For security, the specified directory |
| # should only be writable by the user running the processes that need locking. |
| # Defaults to environment variable OSLO_LOCK_PATH. If OSLO_LOCK_PATH is not set |
| # in the environment, use the Python tempfile.gettempdir function to find a |
| # suitable location. If external locks are used, a lock path must be set. |
| # (string value) |
| # Deprecated group/name - [DEFAULT]/lock_path |
| #lock_path = /tmp |
| lock_path = $state_path/lock |
| |
| [oslo_messaging_amqp] |
| |
| # |
| # From oslo.messaging |
| # |
| |
| # address prefix used when sending to a specific server (string value) |
| # Deprecated group/name - [amqp1]/server_request_prefix |
| #server_request_prefix = exclusive |
| |
| # address prefix used when broadcasting to all servers (string value) |
| # Deprecated group/name - [amqp1]/broadcast_prefix |
| #broadcast_prefix = broadcast |
| |
| # address prefix when sending to any server in group (string value) |
| # Deprecated group/name - [amqp1]/group_request_prefix |
| #group_request_prefix = unicast |
| |
| # Name for the AMQP container (string value) |
| # Deprecated group/name - [amqp1]/container_name |
| #container_name = <None> |
| |
| # Timeout for inactive connections (in seconds) (integer value) |
| # Deprecated group/name - [amqp1]/idle_timeout |
| #idle_timeout = 0 |
| |
| # Debug: dump AMQP frames to stdout (boolean value) |
| # Deprecated group/name - [amqp1]/trace |
| #trace = false |
| |
| # CA certificate PEM file to verify server certificate (string value) |
| # Deprecated group/name - [amqp1]/ssl_ca_file |
| #ssl_ca_file = |
| |
| # Identifying certificate PEM file to present to clients (string value) |
| # Deprecated group/name - [amqp1]/ssl_cert_file |
| #ssl_cert_file = |
| |
| # Private key PEM file used to sign cert_file certificate (string value) |
| # Deprecated group/name - [amqp1]/ssl_key_file |
| #ssl_key_file = |
| |
| # Password for decrypting ssl_key_file (if encrypted) (string value) |
| # Deprecated group/name - [amqp1]/ssl_key_password |
| #ssl_key_password = <None> |
| |
| # Accept clients using either SSL or plain TCP (boolean value) |
| # Deprecated group/name - [amqp1]/allow_insecure_clients |
| #allow_insecure_clients = false |
| |
| # Space separated list of acceptable SASL mechanisms (string value) |
| # Deprecated group/name - [amqp1]/sasl_mechanisms |
| #sasl_mechanisms = |
| |
| # Path to directory that contains the SASL configuration (string value) |
| # Deprecated group/name - [amqp1]/sasl_config_dir |
| #sasl_config_dir = |
| |
| # Name of configuration file (without .conf suffix) (string value) |
| # Deprecated group/name - [amqp1]/sasl_config_name |
| #sasl_config_name = |
| |
| # User name for message broker authentication (string value) |
| # Deprecated group/name - [amqp1]/username |
| #username = |
| |
| # Password for message broker authentication (string value) |
| # Deprecated group/name - [amqp1]/password |
| #password = |
| |
| |
| [oslo_messaging_notifications] |
| |
| # |
| # From oslo.messaging |
| # |
| |
| # The Drivers(s) to handle sending notifications. Possible values are |
| # messaging, messagingv2, routing, log, test, noop (multi valued) |
| # Deprecated group/name - [DEFAULT]/notification_driver |
| #driver = |
| {%- if server.notification is mapping %} |
| driver = {{ server.notification.get('driver', 'messagingv2') }} |
| {%- if server.notification.topics is defined %} |
| topics = {{ server.notification.topics }} |
| {%- endif %} |
| {%- elif server.notification %} |
| driver = messagingv2 |
| {%- endif %} |
| # A URL representing the messaging driver to use for notifications. If not set, |
| # we fall back to the same configuration used for RPC. (string value) |
| # Deprecated group/name - [DEFAULT]/notification_transport_url |
| #transport_url = <None> |
| |
| # AMQP topic used for OpenStack notifications. (list value) |
| # Deprecated group/name - [rpc_notifier2]/topics |
| # Deprecated group/name - [DEFAULT]/notification_topics |
| #topics = notifications |
| |
| |
| [oslo_messaging_rabbit] |
| |
| # |
| # From oslo.messaging |
| # |
| |
| # Use durable queues in AMQP. (boolean value) |
| # Deprecated group/name - [DEFAULT]/amqp_durable_queues |
| # Deprecated group/name - [DEFAULT]/rabbit_durable_queues |
| #amqp_durable_queues = false |
| |
| # Auto-delete queues in AMQP. (boolean value) |
| # Deprecated group/name - [DEFAULT]/amqp_auto_delete |
| #amqp_auto_delete = false |
| |
| # SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and |
| # SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some |
| # distributions. (string value) |
| # Deprecated group/name - [DEFAULT]/kombu_ssl_version |
| #kombu_ssl_version = |
| |
| # SSL key file (valid only if SSL enabled). (string value) |
| # Deprecated group/name - [DEFAULT]/kombu_ssl_keyfile |
| #kombu_ssl_keyfile = |
| |
| # SSL cert file (valid only if SSL enabled). (string value) |
| # Deprecated group/name - [DEFAULT]/kombu_ssl_certfile |
| #kombu_ssl_certfile = |
| |
| # SSL certification authority file (valid only if SSL enabled). (string value) |
| # Deprecated group/name - [DEFAULT]/kombu_ssl_ca_certs |
| #kombu_ssl_ca_certs = |
| |
| # How long to wait before reconnecting in response to an AMQP consumer cancel |
| # notification. (floating point value) |
| # Deprecated group/name - [DEFAULT]/kombu_reconnect_delay |
| #kombu_reconnect_delay = 1.0 |
| |
| # EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not |
| # be used. This option may notbe available in future versions. (string value) |
| #kombu_compression = <None> |
| |
| # How long to wait a missing client beforce abandoning to send it its replies. |
| # This value should not be longer than rpc_response_timeout. (integer value) |
| # Deprecated group/name - [DEFAULT]/kombu_reconnect_timeout |
| #kombu_missing_consumer_retry_timeout = 60 |
| |
| # Determines how the next RabbitMQ node is chosen in case the one we are |
| # currently connected to becomes unavailable. Takes effect only if more than |
| # one RabbitMQ node is provided in config. (string value) |
| # Allowed values: round-robin, shuffle |
| #kombu_failover_strategy = round-robin |
| |
| # The RabbitMQ broker address where a single node is used. (string value) |
| # Deprecated group/name - [DEFAULT]/rabbit_host |
| #rabbit_host = localhost |
| |
| # The RabbitMQ broker port where a single node is used. (port value) |
| # Minimum value: 0 |
| # Maximum value: 65535 |
| # Deprecated group/name - [DEFAULT]/rabbit_port |
| #rabbit_port = 5672 |
| |
| # RabbitMQ HA cluster host:port pairs. (list value) |
| # Deprecated group/name - [DEFAULT]/rabbit_hosts |
| #rabbit_hosts = $rabbit_host:$rabbit_port |
| # |
| {%- set rabbit_port = server.message_queue.get('port', 5671 if server.message_queue.get('ssl',{}).get('enabled', False) else 5672) %} |
| {%- if server.message_queue.members is defined %} |
| rabbit_hosts = {% for member in server.message_queue.members -%} |
| {{ member.host }}:{{ member.get('port',rabbit_port) }} |
| {%- if not loop.last -%},{%- endif -%} |
| {%- endfor -%} |
| {%- else %} |
| rabbit_host = {{ server.message_queue.host }} |
| rabbit_port = {{ rabbit_port }} |
| {%- endif %} |
| |
| {%- if server.message_queue.get('ssl',{}).get('enabled', False) %} |
| rabbit_use_ssl=true |
| |
| {%- if server.message_queue.ssl.version is defined %} |
| kombu_ssl_version = {{ server.message_queue.ssl.version }} |
| {%- elif salt['grains.get']('pythonversion') > [2,7,8] %} |
| kombu_ssl_version = TLSv1_2 |
| {%- endif %} |
| |
| kombu_ssl_ca_certs = {{ server.message_queue.ssl.get('cacert_file', server.cacert_file) }} |
| {%- endif %} |
| |
| rabbit_userid = {{ server.message_queue.user }} |
| rabbit_password = {{ server.message_queue.password }} |
| rabbit_virtual_host = {{ server.message_queue.virtual_host }} |
| # Connect over SSL for RabbitMQ. (boolean value) |
| # Deprecated group/name - [DEFAULT]/rabbit_use_ssl |
| #rabbit_use_ssl = false |
| |
| # The RabbitMQ userid. (string value) |
| # Deprecated group/name - [DEFAULT]/rabbit_userid |
| #rabbit_userid = guest |
| |
| # The RabbitMQ password. (string value) |
| # Deprecated group/name - [DEFAULT]/rabbit_password |
| #rabbit_password = guest |
| |
| # The RabbitMQ login method. (string value) |
| # Deprecated group/name - [DEFAULT]/rabbit_login_method |
| #rabbit_login_method = AMQPLAIN |
| |
| # The RabbitMQ virtual host. (string value) |
| # Deprecated group/name - [DEFAULT]/rabbit_virtual_host |
| #rabbit_virtual_host = / |
| |
| # How frequently to retry connecting with RabbitMQ. (integer value) |
| #rabbit_retry_interval = 1 |
| rabbit_retry_interval = 1 |
| |
| # How long to backoff for between retries when connecting to RabbitMQ. (integer |
| # value) |
| # Deprecated group/name - [DEFAULT]/rabbit_retry_backoff |
| #rabbit_retry_backoff = 2 |
| rabbit_retry_backoff = 2 |
| |
| # Maximum interval of RabbitMQ connection retries. Default is 30 seconds. |
| # (integer value) |
| #rabbit_interval_max = 30 |
| |
| # Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry |
| # count). (integer value) |
| # Deprecated group/name - [DEFAULT]/rabbit_max_retries |
| #rabbit_max_retries = 0 |
| rabbit_max_retries = 0 |
| |
| # Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this |
| # option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring |
| # is no longer controlled by the x-ha-policy argument when declaring a queue. |
| # If you just want to make sure that all queues (except those with auto- |
| # generated names) are mirrored across all nodes, run: "rabbitmqctl set_policy |
| # HA '^(?!amq\.).*' '{"ha-mode": "all"}' " (boolean value) |
| # Deprecated group/name - [DEFAULT]/rabbit_ha_queues |
| #rabbit_ha_queues = false |
| |
| # Positive integer representing duration in seconds for queue TTL (x-expires). |
| # Queues which are unused for the duration of the TTL are automatically |
| # deleted. The parameter affects only reply and fanout queues. (integer value) |
| # Minimum value: 1 |
| #rabbit_transient_queues_ttl = 1800 |
| |
| # Specifies the number of messages to prefetch. Setting to zero allows |
| # unlimited messages. (integer value) |
| #rabbit_qos_prefetch_count = 0 |
| |
| # Number of seconds after which the Rabbit broker is considered down if |
| # heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL (integer |
| # value) |
| #heartbeat_timeout_threshold = 60 |
| heartbeat_timeout_threshold = 0 |
| |
| # How often times during the heartbeat_timeout_threshold we check the |
| # heartbeat. (integer value) |
| #heartbeat_rate = 2 |
| heartbeat_rate = 2 |
| |
| # Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake (boolean value) |
| # Deprecated group/name - [DEFAULT]/fake_rabbit |
| #fake_rabbit = false |
| |
| # Maximum number of channels to allow (integer value) |
| #channel_max = <None> |
| |
| # The maximum byte size for an AMQP frame (integer value) |
| #frame_max = <None> |
| |
| # How often to send heartbeats for consumer's connections (integer value) |
| #heartbeat_interval = 1 |
| |
| # Enable SSL (boolean value) |
| #ssl = <None> |
| |
| # Arguments passed to ssl.wrap_socket (dict value) |
| #ssl_options = <None> |
| |
| # Set socket timeout in seconds for connection's socket (floating point value) |
| #socket_timeout = 0.25 |
| |
| # Set TCP_USER_TIMEOUT in seconds for connection's socket (floating point |
| # value) |
| #tcp_user_timeout = 0.25 |
| |
| # Set delay for reconnection to some host which has connection error (floating |
| # point value) |
| #host_connection_reconnect_delay = 0.25 |
| |
| # Maximum number of connections to keep queued. (integer value) |
| #pool_max_size = 10 |
| |
| # Maximum number of connections to create above `pool_max_size`. (integer |
| # value) |
| #pool_max_overflow = 0 |
| |
| # Default number of seconds to wait for a connections to available (integer |
| # value) |
| #pool_timeout = 30 |
| |
| # Lifetime of a connection (since creation) in seconds or None for no |
| # recycling. Expired connections are closed on acquire. (integer value) |
| #pool_recycle = 600 |
| |
| # Threshold at which inactive (since release) connections are considered stale |
| # in seconds or None for no staleness. Stale connections are closed on acquire. |
| # (integer value) |
| #pool_stale = 60 |
| |
| # Persist notification messages. (boolean value) |
| #notification_persistence = false |
| |
| # Exchange name for for sending notifications (string value) |
| #default_notification_exchange = ${control_exchange}_notification |
| |
| # Max number of not acknowledged message which RabbitMQ can send to |
| # notification listener. (integer value) |
| #notification_listener_prefetch_count = 100 |
| |
| # Reconnecting retry count in case of connectivity problem during sending |
| # notification, -1 means infinite retry. (integer value) |
| #default_notification_retry_attempts = -1 |
| |
| # Reconnecting retry delay in case of connectivity problem during sending |
| # notification message (floating point value) |
| #notification_retry_delay = 0.25 |
| |
| # Time to live for rpc queues without consumers in seconds. (integer value) |
| #rpc_queue_expiration = 60 |
| |
| # Exchange name for sending RPC messages (string value) |
| #default_rpc_exchange = ${control_exchange}_rpc |
| |
| # Exchange name for receiving RPC replies (string value) |
| #rpc_reply_exchange = ${control_exchange}_rpc_reply |
| |
| # Max number of not acknowledged message which RabbitMQ can send to rpc |
| # listener. (integer value) |
| #rpc_listener_prefetch_count = 100 |
| |
| # Max number of not acknowledged message which RabbitMQ can send to rpc reply |
| # listener. (integer value) |
| #rpc_reply_listener_prefetch_count = 100 |
| |
| # Reconnecting retry count in case of connectivity problem during sending |
| # reply. -1 means infinite retry during rpc_timeout (integer value) |
| #rpc_reply_retry_attempts = -1 |
| |
| # Reconnecting retry delay in case of connectivity problem during sending |
| # reply. (floating point value) |
| #rpc_reply_retry_delay = 0.25 |
| |
| # Reconnecting retry count in case of connectivity problem during sending RPC |
| # message, -1 means infinite retry. If actual retry attempts in not 0 the rpc |
| # request could be processed more then one time (integer value) |
| #default_rpc_retry_attempts = -1 |
| |
| # Reconnecting retry delay in case of connectivity problem during sending RPC |
| # message (floating point value) |
| #rpc_retry_delay = 0.25 |
| |
| |
| [oslo_policy] |
| |
| # |
| # From oslo.policy |
| # |
| |
| # The JSON file that defines policies. (string value) |
| # Deprecated group/name - [DEFAULT]/policy_file |
| #policy_file = policy.json |
| |
| # Default rule. Enforced when a requested rule is not found. (string value) |
| # Deprecated group/name - [DEFAULT]/policy_default_rule |
| #policy_default_rule = default |
| |
| # Directories where policy configuration files are stored. They can be relative |
| # to any directory in the search path defined by the config_dir option, or |
| # absolute paths. The file defined by policy_file must exist for these |
| # directories to be searched. Missing or empty directories are ignored. (multi |
| # valued) |
| # Deprecated group/name - [DEFAULT]/policy_dirs |
| #policy_dirs = policy.d |
| |
| |
| [quotas] |
| |
| # |
| # From neutron |
| # |
| |
| # Resource name(s) that are supported in quota features. This option is now |
| # deprecated for removal. (list value) |
| # This option is deprecated for removal. |
| # Its value may be silently ignored in the future. |
| #quota_items = network,subnet,port |
| |
| # Default number of resource allowed per tenant. A negative value means |
| # unlimited. (integer value) |
| #default_quota = -1 |
| |
| # Number of networks allowed per tenant. A negative value means unlimited. |
| # (integer value) |
| #quota_network = 10 |
| |
| # Number of subnets allowed per tenant, A negative value means unlimited. |
| # (integer value) |
| #quota_subnet = 10 |
| |
| # Number of ports allowed per tenant. A negative value means unlimited. |
| # (integer value) |
| #quota_port = 50 |
| |
| # Default driver to use for quota checks (string value) |
| #quota_driver = neutron.db.quota.driver.DbQuotaDriver |
| {% if server.backend.engine == "contrail" %} |
| quota_driver = neutron_plugin_contrail.plugins.opencontrail.quota.driver.QuotaDriver |
| {% endif %} |
| |
| # Keep in track in the database of current resourcequota usage. Plugins which |
| # do not leverage the neutron database should set this flag to False (boolean |
| # value) |
| #track_quota_usage = true |
| |
| # |
| # From neutron.extensions |
| # |
| |
| # Number of routers allowed per tenant. A negative value means unlimited. |
| # (integer value) |
| #quota_router = 10 |
| |
| # Number of floating IPs allowed per tenant. A negative value means unlimited. |
| # (integer value) |
| #quota_floatingip = 50 |
| |
| # Number of security groups allowed per tenant. A negative value means |
| # unlimited. (integer value) |
| #quota_security_group = 10 |
| |
| # Number of security rules allowed per tenant. A negative value means |
| # unlimited. (integer value) |
| #quota_security_group_rule = 100 |
| |
| |
| [ssl] |
| |
| # |
| # From oslo.service.sslutils |
| # |
| |
| # CA certificate file to use to verify connecting clients. (string value) |
| # Deprecated group/name - [DEFAULT]/ssl_ca_file |
| #ca_file = <None> |
| |
| # Certificate file to use when starting the server securely. (string value) |
| # Deprecated group/name - [DEFAULT]/ssl_cert_file |
| #cert_file = <None> |
| |
| # Private key file to use when starting the server securely. (string value) |
| # Deprecated group/name - [DEFAULT]/ssl_key_file |
| #key_file = <None> |
| |
| # SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and |
| # SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some |
| # distributions. (string value) |
| #version = <None> |
| |
| # Sets the list of available ciphers. value should be a string in the OpenSSL |
| # cipher list format. (string value) |
| #ciphers = <None> |
| [service_providers] |
| |
| {% if server.lbaas is defined -%} |
| |
| {%- if server.lbaas.enabled -%} |
| |
| {%- for lbaas_name, lbaas in server.lbaas.providers.iteritems() %} |
| |
| {%- if lbaas.engine == "avinetworks" -%} |
| service_provider=LOADBALANCERV2:{{ lbaas_name }}:{{ lbaas.get('driver_path', 'avi_lbaasv2.avi_driver.AviDriver') }}:default |
| |
| [{{ lbaas_name }}] |
| address={{ lbaas.controller_address }} |
| user={{ lbaas.controller_user }} |
| password={{ lbaas.controller_password }} |
| cloud={{ lbaas.controller_cloud_name }} |
| {%- endif -%} |
| |
| {%- endfor -%} |
| |
| {% endif %} |
| |
| {% elif server.backend.engine == "contrail" %} |
| |
| service_provider = LOADBALANCERV2:Opencontrail:neutron_plugin_contrail.plugins.opencontrail.loadbalancer.driver.OpencontrailLoadbalancerDummyDriver:default |
| |
| {% include "neutron/files/"+server.version+"/ContrailPlugin.ini" %} |
| |
| {% endif %} |