
In case Kolla's users want to deploy with both of binary and source image, we should have a variable install type that define install type for each project. We also add specific image tag for each Openstack project. This commit is implemented for Neutron, Nova, Octavia project and Openvswitch as well. Change-Id: I04d3a17231b607795bbddb85cd940fa725ff7a61 Implements: blueprint mixing-binary-and-source-image
284 lines
13 KiB
YAML
284 lines
13 KiB
YAML
---
|
|
project_name: "neutron"
|
|
|
|
neutron_services:
|
|
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"
|
|
- "/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"
|
|
- "/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"
|
|
- "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"
|
|
- "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"
|
|
- "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"
|
|
- "/lib/modules:/lib/modules:ro"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
neutron-bgp-dragent:
|
|
container_name: "neutron_bgp_dragent"
|
|
image: "{{ neutron_bgp_dragent_image_full }}"
|
|
privileged: True
|
|
enabled: "{{ enable_neutron_bgp_dragent | bool }}"
|
|
group: "neutron-bgp-dragent"
|
|
host_in_groups: "{{ False if orchestration_engine == 'KUBERNETES' else inventory_hostname in groups['neutron-bgp-dragent'] }}"
|
|
volumes:
|
|
- "{{ node_config_directory }}/neutron-bgp-dragent/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "/run:/run:shared"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
|
|
|
|
####################
|
|
# Database
|
|
####################
|
|
neutron_database_name: "neutron"
|
|
neutron_database_user: "neutron"
|
|
neutron_database_address: "{{ kolla_internal_fqdn }}:{{ database_port }}"
|
|
|
|
|
|
####################
|
|
# Docker
|
|
####################
|
|
neutron_install_type: "{{ kolla_install_type }}"
|
|
neutron_tag: "{{ openstack_release }}"
|
|
|
|
neutron_dhcp_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ neutron_install_type }}-neutron-dhcp-agent"
|
|
neutron_dhcp_agent_tag: "{{ neutron_tag }}"
|
|
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 }}-{{ neutron_install_type }}-neutron-l3-agent"
|
|
neutron_l3_agent_tag: "{{ neutron_tag }}"
|
|
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 }}-{{ neutron_install_type }}-neutron-lbaas-agent"
|
|
neutron_lbaas_agent_tag: "{{ neutron_tag }}"
|
|
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 }}-{{ neutron_install_type }}-neutron-linuxbridge-agent"
|
|
neutron_linuxbridge_agent_tag: "{{ neutron_tag }}"
|
|
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 }}-{{ neutron_install_type }}-neutron-metadata-agent"
|
|
neutron_metadata_agent_tag: "{{ neutron_tag }}"
|
|
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 }}-{{ neutron_install_type }}-neutron-openvswitch-agent"
|
|
neutron_openvswitch_agent_tag: "{{ neutron_tag }}"
|
|
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 }}-{{ neutron_install_type }}-neutron-sfc-agent"
|
|
neutron_sfc_agent_tag: "{{ neutron_tag }}"
|
|
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 }}-{{ neutron_install_type }}-neutron-server"
|
|
neutron_server_tag: "{{ neutron_tag }}"
|
|
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 }}-{{ neutron_install_type }}-neutron-vpnaas-agent"
|
|
neutron_vpnaas_agent_tag: "{{ neutron_tag }}"
|
|
neutron_vpnaas_agent_image_full: "{{ neutron_vpnaas_agent_image }}:{{ neutron_vpnaas_agent_tag }}"
|
|
|
|
neutron_bgp_dragent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ neutron_install_type }}-neutron-bgp-dragent"
|
|
neutron_bgp_dragent_tag: "{{ neutron_tag }}"
|
|
neutron_bgp_dragent_image_full: "{{ neutron_bgp_dragent_image }}:{{ neutron_bgp_dragent_tag }}"
|
|
|
|
|
|
####################
|
|
# OpenStack
|
|
####################
|
|
dhcp_agents_per_network: 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 }}"
|
|
|
|
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 }}"
|
|
|
|
####################
|
|
# Service Plugins
|
|
####################
|
|
service_plugins:
|
|
- name: "flow_classifier"
|
|
enabled: "{{ neutron_plugin_agent == 'sfc' }}"
|
|
- name: "lbaasv2"
|
|
enabled: "{{ enable_neutron_lbaas | bool }}"
|
|
- name: "neutron_fwaas.services.firewall.fwaas_plugin.FirewallPlugin"
|
|
enabled: "{{ enable_neutron_fwaas | bool }}"
|
|
- name: "vpnaas"
|
|
enabled: "{{ enable_neutron_vpnaas | bool }}"
|
|
- name: "qos"
|
|
enabled: "{{ enable_neutron_qos | bool }}"
|
|
- name: "router"
|
|
enabled: true
|
|
- name: "sfc"
|
|
enabled: "{{ neutron_plugin_agent == 'sfc' }}"
|
|
- name: "neutron_dynamic_routing.services.bgp.bgp_plugin.BgpPlugin"
|
|
enabled: "{{ enable_neutron_bgp_dragent | bool }}"
|
|
|
|
neutron_service_plugins: "{{ service_plugins|selectattr('enabled', 'equalto', true)|list }}"
|