a82443481e
Libvirt needs to be able to plug ports into openvswitch bridges. It does this using the ovs-vsctl command, which it searches for in $PATH[1, 2]. This change will optionally install a wrapper script that executes the ovs-vsctl commands in the context of the openvswitchd container. This is useful when running libvirt on the host whilst still running openvswitch in a container. The advantage of this method over install the packages on the host is that it ensures client compatability with the daemon. The default is set to false as the wrapper could overwrite ovs-vsctl installed on the host. [1]ee51ab86c2/src/util/virnetdevopenvswitch.c (L59)
[2]a89b17c2a7/docs/kbase/internals/command.rst (id3)
Closes-Bug: #1995409 Change-Id: Iaa6bfb012ae847f5f6aa0a1fc1c27970ac265f93
107 lines
5.1 KiB
YAML
107 lines
5.1 KiB
YAML
---
|
|
openvswitch_services:
|
|
openvswitch-db-server:
|
|
container_name: "openvswitch_db"
|
|
image: "{{ openvswitch_db_image_full }}"
|
|
enabled: "{{ enable_openvswitch }}"
|
|
group: openvswitch
|
|
host_in_groups: >-
|
|
{{
|
|
inventory_hostname in groups['compute']
|
|
or (enable_manila_backend_generic | 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']
|
|
}}
|
|
volumes: "{{ openvswitch_db_default_volumes + openvswitch_db_extra_volumes }}"
|
|
dimensions: "{{ openvswitch_db_dimensions }}"
|
|
healthcheck: "{{ openvswitch_db_healthcheck }}"
|
|
openvswitch-vswitchd:
|
|
container_name: "openvswitch_vswitchd"
|
|
image: "{{ openvswitch_vswitchd_image_full }}"
|
|
enabled: "{{ enable_openvswitch }}"
|
|
group: openvswitch
|
|
host_in_groups: >-
|
|
{{
|
|
inventory_hostname in groups['compute']
|
|
or (enable_manila_backend_generic | 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']
|
|
}}
|
|
privileged: True
|
|
volumes: "{{ openvswitch_vswitchd_default_volumes + openvswitch_vswitchd_extra_volumes }}"
|
|
dimensions: "{{ openvswitch_vswitchd_dimensions }}"
|
|
healthcheck: "{{ openvswitch_vswitchd_healthcheck }}"
|
|
|
|
####################
|
|
# Docker
|
|
####################
|
|
openvswitch_tag: "{{ openstack_tag }}"
|
|
|
|
openvswitch_db_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/openvswitch-db-server"
|
|
openvswitch_db_tag: "{{ openvswitch_tag }}"
|
|
openvswitch_db_image_full: "{{ openvswitch_db_image }}:{{ openvswitch_db_tag }}"
|
|
|
|
openvswitch_vswitchd_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/openvswitch-vswitchd"
|
|
openvswitch_vswitchd_tag: "{{ openvswitch_tag }}"
|
|
openvswitch_vswitchd_image_full: "{{ openvswitch_vswitchd_image }}:{{ openvswitch_vswitchd_tag }}"
|
|
|
|
openvswitch_db_dimensions: "{{ default_container_dimensions }}"
|
|
openvswitch_vswitchd_dimensions: "{{ default_container_dimensions }}"
|
|
|
|
openvswitch_db_enable_healthchecks: "{{ enable_container_healthchecks }}"
|
|
openvswitch_db_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
|
|
openvswitch_db_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
|
|
openvswitch_db_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
|
|
openvswitch_db_healthcheck_test: ["CMD-SHELL", "ovsdb-client list-dbs"]
|
|
openvswitch_db_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
|
|
openvswitch_db_healthcheck:
|
|
interval: "{{ openvswitch_db_healthcheck_interval }}"
|
|
retries: "{{ openvswitch_db_healthcheck_retries }}"
|
|
start_period: "{{ openvswitch_db_healthcheck_start_period }}"
|
|
test: "{% if openvswitch_db_enable_healthchecks | bool %}{{ openvswitch_db_healthcheck_test }}{% else %}NONE{% endif %}"
|
|
timeout: "{{ openvswitch_db_healthcheck_timeout }}"
|
|
|
|
openvswitch_vswitchd_enable_healthchecks: "{{ enable_container_healthchecks }}"
|
|
openvswitch_vswitchd_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
|
|
openvswitch_vswitchd_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
|
|
openvswitch_vswitchd_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
|
|
openvswitch_vswitchd_healthcheck_test: ["CMD-SHELL", "ovs-appctl version"]
|
|
openvswitch_vswitchd_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
|
|
openvswitch_vswitchd_healthcheck:
|
|
interval: "{{ openvswitch_vswitchd_healthcheck_interval }}"
|
|
retries: "{{ openvswitch_vswitchd_healthcheck_retries }}"
|
|
start_period: "{{ openvswitch_vswitchd_healthcheck_start_period }}"
|
|
test: "{% if openvswitch_vswitchd_enable_healthchecks | bool %}{{ openvswitch_vswitchd_healthcheck_test }}{% else %}NONE{% endif %}"
|
|
timeout: "{{ openvswitch_vswitchd_healthcheck_timeout }}"
|
|
|
|
openvswitch_db_default_volumes:
|
|
- "{{ node_config_directory }}/openvswitch-db-server/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
|
|
- "/lib/modules:/lib/modules:ro"
|
|
- "/run/openvswitch:/run/openvswitch:shared"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
- "openvswitch_db:/var/lib/openvswitch/"
|
|
openvswitch_vswitchd_default_volumes:
|
|
- "{{ node_config_directory }}/openvswitch-vswitchd/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
|
|
- "/lib/modules:/lib/modules:ro"
|
|
- "/run/openvswitch:/run/openvswitch:shared"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
|
|
openvswitch_extra_volumes: "{{ default_extra_volumes }}"
|
|
openvswitch_db_extra_volumes: "{{ openvswitch_extra_volumes }}"
|
|
openvswitch_vswitchd_extra_volumes: "{{ openvswitch_extra_volumes }}"
|
|
|
|
openvswitch_ovs_vsctl_wrapper_enabled: false
|
|
|
|
#############
|
|
# OpenvSwitch
|
|
#############
|
|
|
|
openvswitch_system_id: "{{ ansible_facts.hostname }}"
|
|
openvswitch_hw_offload: "no"
|