--- project_name: "neutron" neutron_services: openvswitch-db-server: container_name: "openvswitch_db" image: "{{ openvswitch_db_image_full }}" enabled: "{{ neutron_plugin_agent == 'openvswitch' }}" host_in_groups: >- {{ True if orchestration_engine == 'KUBERNETES' else inventory_hostname in groups['compute'] or (enable_manila | bool and inventory_hostname in groups['manila-share']) or inventory_hostname in groups['neutron-dhcp-agent'] or inventory_hostname in groups['neutron-l3-agent'] or inventory_hostname in groups['neutron-metadata-agent'] or inventory_hostname in groups['neutron-vpnaas-agent'] }} volumes: - "{{ node_config_directory }}/openvswitch-db-server/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "/run:/run:shared" - "kolla_logs:/var/log/kolla/" - "openvswitch_db:/var/lib/openvswitch/" openvswitch-vswitchd: container_name: "openvswitch_vswitchd" image: "{{ openvswitch_vswitchd_image_full }}" enabled: "{{ neutron_plugin_agent == 'openvswitch' }}" host_in_groups: >- {{ True if orchestration_engine == 'KUBERNETES' else inventory_hostname in groups['compute'] or (enable_manila | bool and inventory_hostname in groups['manila-share']) or inventory_hostname in groups['neutron-dhcp-agent'] or inventory_hostname in groups['neutron-l3-agent'] or inventory_hostname in groups['neutron-metadata-agent'] or inventory_hostname in groups['neutron-vpnaas-agent'] }} privileged: True volumes: - "{{ node_config_directory }}/openvswitch-vswitchd/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "/lib/modules:/lib/modules:ro" - "/run:/run:shared" - "kolla_logs:/var/log/kolla/" neutron-server: container_name: "neutron_server" image: "{{ neutron_server_image_full }}" enabled: true group: "neutron-server" host_in_groups: "{{ True if orchestration_engine == 'KUBERNETES' else inventory_hostname in groups['neutron-server'] }}" volumes: - "{{ node_config_directory }}/neutron-server/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "kolla_logs:/var/log/kolla/" neutron-openvswitch-agent: container_name: "neutron_openvswitch_agent" image: "{{ neutron_openvswitch_agent_image_full }}" enabled: "{{ neutron_plugin_agent == 'openvswitch' }}" privileged: True host_in_groups: >- {{ True if orchestration_engine == 'KUBERNETES' else ( inventory_hostname in groups['compute'] or (enable_manila | bool and inventory_hostname in groups['manila-share']) or inventory_hostname in groups['neutron-dhcp-agent'] or inventory_hostname in groups['neutron-l3-agent'] or inventory_hostname in groups['neutron-metadata-agent'] or inventory_hostname in groups['neutron-vpnaas-agent'] and not enable_nova_fake | bool ) or ( inventory_hostname in groups['neutron-dhcp-agent'] or inventory_hostname in groups['neutron-l3-agent'] or inventory_hostname in groups['neutron-metadata-agent'] or inventory_hostname in groups['neutron-vpnaas-agent'] and enable_nova_fake | bool ) }} volumes: - "{{ node_config_directory }}/neutron-openvswitch-agent/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "/lib/modules:/lib/modules:ro" - "/run:/run:shared" - "kolla_logs:/var/log/kolla/" neutron-sfc-agent: container_name: "neutron_sfc_agent" image: "{{ neutron_sfc_agent_image_full }}" enabled: "{{ neutron_plugin_agent == 'sfc' }}" privileged: True host_in_groups: >- {{ True if orchestration_engine == 'KUBERNETES' else ( inventory_hostname in groups['compute'] or (enable_manila | bool and inventory_hostname in groups['manila-share']) or inventory_hostname in groups['neutron-dhcp-agent'] or inventory_hostname in groups['neutron-l3-agent'] or inventory_hostname in groups['neutron-metadata-agent'] and not enable_nova_fake | bool ) or ( inventory_hostname in groups['neutron-dhcp-agent'] or inventory_hostname in groups['neutron-l3-agent'] or inventory_hostname in groups['neutron-metadata-agent'] and enable_nova_fake | bool ) }} volumes: - "{{ node_config_directory }}/neutron-sfc-agent/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "/lib/modules:/lib/modules:ro" - "/run:/run:shared" - "kolla_logs:/var/log/kolla/" neutron-linuxbridge-agent: container_name: "neutron_linuxbridge_agent" image: "{{ neutron_linuxbridge_agent_image_full }}" privileged: True enabled: "{{ neutron_plugin_agent == 'linuxbridge' }}" environment: KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" NEUTRON_BRIDGE: "br-ex" NEUTRON_INTERFACE: "{{ neutron_external_interface }}" host_in_groups: >- {{ True if orchestration_engine == 'KUBERNETES' else inventory_hostname in groups['compute'] or (enable_manila | bool and inventory_hostname in groups['manila-share']) or inventory_hostname in groups['neutron-dhcp-agent'] or inventory_hostname in groups['neutron-l3-agent'] or inventory_hostname in groups['neutron-metadata-agent'] or inventory_hostname in groups['neutron-vpnaas-agent'] }} volumes: - "{{ node_config_directory }}/neutron-linuxbridge-agent/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "/lib/modules:/lib/modules:ro" - "/run:/run:shared" - "kolla_logs:/var/log/kolla/" neutron-dhcp-agent: container_name: "neutron_dhcp_agent" image: "{{ neutron_dhcp_agent_image_full }}" privileged: True enabled: True group: "neutron-dhcp-agent" host_in_groups: "{{ True if orchestration_engine == 'KUBERNETES' else inventory_hostname in groups['neutron-dhcp-agent'] }}" volumes: - "{{ node_config_directory }}/neutron-dhcp-agent/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "/run/:/run/:shared" - "/run/netns/:/run/netns/:shared" - "neutron_metadata_socket:/var/lib/neutron/kolla/" - "kolla_logs:/var/log/kolla/" neutron-l3-agent: container_name: "neutron_l3_agent" image: "{{ neutron_l3_agent_image_full }}" privileged: True enabled: "{{ not enable_neutron_vpnaas | bool }}" host_in_groups: >- {{ True if orchestration_engine == 'KUBERNETES' else inventory_hostname in groups['neutron-l3-agent'] or (inventory_hostname in groups['compute'] and enable_neutron_dvr | bool) }} volumes: - "{{ node_config_directory }}/neutron-l3-agent/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "/run:/run:shared" - "/run/netns/:/run/netns/:shared" - "neutron_metadata_socket:/var/lib/neutron/kolla/" - "kolla_logs:/var/log/kolla/" neutron-lbaas-agent: container_name: "neutron_lbaas_agent" image: "{{ neutron_lbaas_agent_image_full }}" privileged: True enabled: "{{ enable_neutron_lbaas | bool }}" group: "neutron-lbaas-agent" host_in_groups: "{{ True if orchestration_engine == 'KUBERNETES' else inventory_hostname in groups['neutron-lbaas-agent'] }}" volumes: - "{{ node_config_directory }}/neutron-lbaas-agent/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "/run:/run:shared" - "/run/netns/:/run/netns/:shared" - "neutron_metadata_socket:/var/lib/neutron/kolla/" - "kolla_logs:/var/log/kolla/" neutron-metadata-agent: container_name: "neutron_metadata_agent" image: "{{ neutron_metadata_agent_image_full }}" privileged: True enabled: true host_in_groups: >- {{ True if orchestration_engine == 'KUBERNETES' else inventory_hostname in groups['neutron-metadata-agent'] or (inventory_hostname in groups['compute'] and enable_neutron_dvr | bool) }} volumes: - "{{ node_config_directory }}/neutron-metadata-agent/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "/run/netns/:/run/netns/:shared" - "neutron_metadata_socket:/var/lib/neutron/kolla/" - "kolla_logs:/var/log/kolla/" neutron-vpnaas-agent: container_name: "neutron_vpnaas_agent" image: "{{ neutron_vpnaas_agent_image_full }}" privileged: True enabled: "{{ enable_neutron_vpnaas | bool }}" group: "neutron-vpnaas-agent" host_in_groups: "{{ True if orchestration_engine == 'KUBERNETES' else inventory_hostname in groups['neutron-vpnaas-agent'] }}" volumes: - "{{ node_config_directory }}/neutron-vpnaas-agent/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "/run:/run:shared" - "/run/netns/:/run/netns/:shared" - "/lib/modules:/lib/modules:ro" - "neutron_metadata_socket:/var/lib/neutron/kolla/" - "kolla_logs:/var/log/kolla/" #################### # Database #################### neutron_database_name: "neutron" neutron_database_user: "neutron" neutron_database_address: "{{ kolla_internal_fqdn }}:{{ database_port }}" #################### # Docker #################### neutron_dhcp_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-neutron-dhcp-agent" neutron_dhcp_agent_tag: "{{ openstack_release }}" neutron_dhcp_agent_image_full: "{{ neutron_dhcp_agent_image }}:{{ neutron_dhcp_agent_tag }}" neutron_l3_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-neutron-l3-agent" neutron_l3_agent_tag: "{{ openstack_release }}" neutron_l3_agent_image_full: "{{ neutron_l3_agent_image }}:{{ neutron_l3_agent_tag }}" neutron_lbaas_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-neutron-lbaas-agent" neutron_lbaas_agent_tag: "{{ openstack_release }}" neutron_lbaas_agent_image_full: "{{ neutron_lbaas_agent_image }}:{{ neutron_lbaas_agent_tag }}" neutron_linuxbridge_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-neutron-linuxbridge-agent" neutron_linuxbridge_agent_tag: "{{ openstack_release }}" neutron_linuxbridge_agent_image_full: "{{ neutron_linuxbridge_agent_image }}:{{ neutron_linuxbridge_agent_tag }}" neutron_metadata_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-neutron-metadata-agent" neutron_metadata_agent_tag: "{{ openstack_release }}" neutron_metadata_agent_image_full: "{{ neutron_metadata_agent_image }}:{{ neutron_metadata_agent_tag }}" neutron_openvswitch_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-neutron-openvswitch-agent" neutron_openvswitch_agent_tag: "{{ openstack_release }}" neutron_openvswitch_agent_image_full: "{{ neutron_openvswitch_agent_image }}:{{ neutron_openvswitch_agent_tag }}" neutron_sfc_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-neutron-sfc-agent" neutron_sfc_agent_tag: "{{ openstack_release }}" neutron_sfc_agent_image_full: "{{ neutron_sfc_agent_image }}:{{ neutron_sfc_agent_tag }}" neutron_server_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-neutron-server" neutron_server_tag: "{{ openstack_release }}" neutron_server_image_full: "{{ neutron_server_image }}:{{ neutron_server_tag }}" neutron_vpnaas_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-neutron-vpnaas-agent" neutron_vpnaas_agent_tag: "{{ openstack_release }}" neutron_vpnaas_agent_image_full: "{{ neutron_vpnaas_agent_image }}:{{ neutron_vpnaas_agent_tag }}" openvswitch_db_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-openvswitch-db-server" openvswitch_db_tag: "{{ openstack_release }}" openvswitch_db_image_full: "{{ openvswitch_db_image }}:{{ openvswitch_db_tag }}" openvswitch_vswitchd_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-openvswitch-vswitchd" openvswitch_vswitchd_tag: "{{ openstack_release }}" openvswitch_vswitchd_image_full: "{{ openvswitch_vswitchd_image }}:{{ openvswitch_vswitchd_tag }}" #################### # OpenStack #################### dhcp_agents_per_network: 2 min_l3_agents_per_router: 2 max_l3_agents_per_router: 3 neutron_admin_endpoint: "{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ neutron_server_port }}" neutron_internal_endpoint: "{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ neutron_server_port }}" neutron_public_endpoint: "{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ neutron_server_port }}" neutron_logging_debug: "{{ openstack_logging_debug }}" neutron_bridge_name: "br-ex" openstack_neutron_auth: "{{ openstack_auth }}" #################### # Extension drivers #################### extension_drivers: - name: "qos" enabled: "{{ enable_neutron_qos | bool }}" - name: "port_security" enabled: "{{ enable_tacker | bool or enable_designate | bool }}" - name: "dns" enabled: "{{ enable_designate | bool }}" neutron_extension_drivers: "{{ extension_drivers|selectattr('enabled', 'equalto', true)|list }}"