kolla-ansible/ansible/roles/openvswitch/tasks/config.yml
Will Szumski a82443481e Adds a wrapper script to run ovs-vsctl commands in the container
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
2022-11-15 10:16:02 +00:00

68 lines
1.9 KiB
YAML

---
- name: Ensuring config directories exist
become: true
file:
path: "{{ node_config_directory }}/{{ item.key }}"
state: "directory"
owner: "{{ config_owner_user }}"
group: "{{ config_owner_group }}"
mode: "0770"
when:
- item.value.enabled | bool
- item.value.host_in_groups | bool
with_dict: "{{ openvswitch_services }}"
- name: Copying over config.json files for services
become: true
template:
src: "{{ item.key }}.json.j2"
dest: "{{ node_config_directory }}/{{ item.key }}/config.json"
mode: "0660"
when:
- item.value.enabled | bool
- item.value.host_in_groups | bool
with_dict: "{{ openvswitch_services }}"
notify:
- "Restart {{ item.key }} container"
- name: Copying over start-ovs file for openvswitch-vswitchd
become: true
vars:
service: "{{ openvswitch_services['openvswitch-vswitchd'] }}"
template:
src: "{{ role_path }}/templates/start-ovs.j2"
dest: "{{ node_config_directory }}/openvswitch-vswitchd/start-ovs"
mode: "0770"
when:
- service.host_in_groups | bool
- service.enabled | bool
notify:
- "Restart openvswitch-vswitchd container"
- name: Copying over start-ovsdb-server files for openvswitch-db-server
become: true
vars:
service: "{{ openvswitch_services['openvswitch-db-server'] }}"
template:
src: "{{ role_path }}/templates/start-ovsdb-server.j2"
dest: "{{ node_config_directory }}/openvswitch-db-server/start-ovsdb-server"
mode: "0770"
when:
- service.host_in_groups | bool
- service.enabled | bool
notify:
- "Restart openvswitch-db-server container"
- name: Copying over ovs-vsctl wrapper
vars:
service: "{{ openvswitch_services['openvswitch-vswitchd'] }}"
template:
src: "ovs-vsctl.j2"
dest: "/usr/bin/ovs-vsctl"
mode: "0755"
become: true
when:
- service.host_in_groups | bool
- service.enabled | bool
- openvswitch_ovs_vsctl_wrapper_enabled | bool