--- - name: Ensuring config directories exist 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: "{{ ovsdpdk_services }}" - name: Copying over config.json files for services template: src: "{{ item.key }}.json.j2" dest: "{{ node_config_directory }}/{{ item.key }}/config.json" mode: "0660" register: ovsdpdk_config_jsons when: - item.value.enabled | bool - item.value.host_in_groups | bool with_dict: "{{ ovsdpdk_services }}" notify: - "Restart {{ item.key }} container" - name: Copying ovs-dpdkctl tool copy: src: ../tools/ovs-dpdkctl.sh dest: "{{ node_config_directory }}/ovsdpdk-db/ovs-dpdkctl.sh" mode: "0770" - name: Install ovs-dpdkctl service and config become: True command: "{{ node_config_directory }}/ovsdpdk-db/ovs-dpdkctl.sh install" environment: CONFIG_FILE: "{{ node_config_directory }}/ovsdpdk-db/ovs-dpdkctl.conf" bridge_mappings: "{{ ovs_bridge_mappings }}" port_mappings: "{{ ovs_port_mappings }}" cidr_mappings: "{{ ovs_cidr_mappings }}" ovs_mem_channels: "{{ ovs_mem_channels }}" ovs_socket_mem: "{{ ovs_socket_mem }}" hugepage_mountpoint: "{{ ovs_hugepage_mountpoint }}" ovs_physical_port_policy: "{{ ovs_physical_port_policy }}" - name: Binds the interface to the target driver specifed in the config become: True command: "{{ node_config_directory }}/ovsdpdk-db/ovs-dpdkctl.sh bind_nics" environment: CONFIG_FILE: "{{ node_config_directory }}/ovsdpdk-db/ovs-dpdkctl.conf" bridge_mappings: "{{ ovs_bridge_mappings }}" port_mappings: "{{ ovs_port_mappings }}" cidr_mappings: "{{ ovs_cidr_mappings }}" ovs_mem_channels: "{{ ovs_mem_channels }}" ovs_socket_mem: "{{ ovs_socket_mem }}" hugepage_mountpoint: "{{ ovs_hugepage_mountpoint }}" ovs_physical_port_policy: "{{ ovs_physical_port_policy }}" # TODO check the environment change - name: Check ovs containers become: true kolla_docker: action: "compare_container" common_options: "{{ docker_common_options }}" name: "{{ item.value.container_name }}" image: "{{ item.value.image }}" privileged: "{{ item.value.privileged | default(False) }}" volumes: "{{ item.value.volumes }}" dimensions: "{{ item.value.dimensions }}" register: check_ovsdpdk_containers when: - kolla_action != "config" - item.value.enabled | bool - item.value.host_in_groups | bool with_dict: "{{ ovsdpdk_services }}" notify: - "Restart {{ item.key }} container"