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
68 lines
1.9 KiB
YAML
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
|