# neutron.conf [DEFAULT] debug = {{ neutron_logging_debug }} log_dir = /var/log/kolla/neutron # NOTE(elemoine): set use_stderr to False or the logs will also be sent to # stderr and collected by Docker use_stderr = False bind_host = {{ api_interface_address }} bind_port = {{ neutron_server_port }} api_paste_config = /usr/share/neutron/api-paste.ini endpoint_type = internalURL api_workers = {{ openstack_service_workers }} metadata_workers = {{ openstack_service_workers }} rpc_workers = {{ openstack_service_rpc_workers }} rpc_state_report_workers = {{ openstack_service_rpc_workers }} # NOTE(SamYaple): We must specify this value here rather than the metadata conf # because it is used by the l3 and dhcp agents. The reason the path has 'kolla' # in it is because we are sharing this socket in a volume which is it's own dir metadata_proxy_socket = /var/lib/neutron/kolla/metadata_proxy {% if neutron_plugin_agent == "openvswitch" or neutron_plugin_agent == "opendaylight" %} interface_driver = openvswitch {% elif neutron_plugin_agent == "linuxbridge" %} interface_driver = linuxbridge {% endif %} {% if enable_nova_fake | bool %} ovs_integration_bridge = br-int-{{ item }} host = {{ ansible_hostname }}_{{ item }} {% endif %} allow_overlapping_ips = true {% if neutron_plugin_agent == 'vmware_nsxv' %} core_plugin = vmware_nsx.plugin.NsxVPlugin {% elif neutron_plugin_agent == 'vmware_dvs' %} core_plugin = vmware_nsx.plugin.NsxDvsPlugin {% else %} core_plugin = ml2 service_plugins = {{ neutron_service_plugins|map(attribute='name')|join(',') }} {% endif %} {% if enable_neutron_agent_ha | bool %} dhcp_agents_per_network = {{ dhcp_agents_per_network }} l3_ha = true max_l3_agents_per_router = {{ max_l3_agents_per_router }} {% endif %} transport_url = {{ rpc_transport_url }} {% if enable_neutron_dvr | bool %} router_distributed = True {% endif %} {% if enable_designate | bool %} dns_domain = {{ designate_ns_record }}. external_dns_driver = designate {% if neutron_plugin_agent == 'vmware_nsxv' %} nsx_extension_drivers = vmware_nsxv_dns {% elif neutron_plugin_agent == 'vmware_dvs' %} nsx_extension_drivers = vmware_dvs_dns {% endif %} {% endif %} [nova] auth_url = {{ keystone_admin_url }} auth_type = password project_domain_id = {{ default_project_domain_id }} user_domain_id = {{ default_user_domain_id }} region_name = {{ openstack_region_name }} project_name = service username = {{ nova_keystone_user }} password = {{ nova_keystone_password }} endpoint_type = internal [oslo_concurrency] lock_path = /var/lib/neutron/tmp [agent] root_helper = sudo neutron-rootwrap /etc/neutron/rootwrap.conf [database] connection = mysql+pymysql://{{ neutron_database_user }}:{{ neutron_database_password }}@{{ neutron_database_address }}/{{ neutron_database_name }} max_retries = -1 [keystone_authtoken] auth_uri = {{ keystone_internal_url }} auth_url = {{ keystone_admin_url }} auth_type = password project_domain_id = {{ default_project_domain_id }} user_domain_id = {{ default_user_domain_id }} project_name = service username = {{ neutron_keystone_user }} password = {{ neutron_keystone_password }} memcache_security_strategy = ENCRYPT memcache_secret_key = {{ memcache_secret_key }} memcached_servers = {% for host in groups['memcached'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %} [oslo_messaging_notifications] transport_url = {{ notify_transport_url }} {% if neutron_enabled_notification_topics %} driver = messagingv2 topics = {{ neutron_enabled_notification_topics | map(attribute='name') | join(',') }} {% else %} driver = noop {% endif %} {% if enable_neutron_sfc | bool %} [sfc] drivers = ovs [flowclassifier] drivers = ovs {% endif %} {% if enable_octavia | bool %} [octavia] base_url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ octavia_api_port }} {% endif %} {% if enable_designate | bool %} [designate] url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ designate_api_port }}/v2 auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }} auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }} auth_type = password project_domain_id = {{ default_project_domain_id }} user_domain_id = {{ default_user_domain_id }} project_name = service username = {{ designate_keystone_user }} password = {{ designate_keystone_password }} allow_reverse_dns_lookup = True ipv4_ptr_zone_prefix_size = 24 ipv6_ptr_zone_prefix_size = 116 {% endif %} {% if enable_osprofiler | bool %} [profiler] enabled = true trace_sqlalchemy = true hmac_keys = {{ osprofiler_secret }} {% if enable_elasticsearch | bool %} connection_string = elasticsearch://{{ elasticsearch_address }}:{{ elasticsearch_port }} {% endif %} {% endif %} {% if enable_opendaylight_qos | bool %} [qos] notification_drivers = {{ neutron_notification_drivers|map(attribute='name')|join(',') }} {% endif %} [placement] auth_type = password auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }} username = {{ placement_keystone_user }} password = {{ placement_keystone_password }} user_domain_name = {{ default_user_domain_name }} project_name = service project_domain_name = {{ default_project_domain_name }} os_region_name = {{ openstack_region_name }} os_interface = internal [privsep] helper_command=sudo neutron-rootwrap /etc/neutron/rootwrap.conf privsep-helper