107 lines
4.3 KiB
YAML
107 lines
4.3 KiB
YAML
---
|
|
- name: Restart ovsdpdk-db container
|
|
vars:
|
|
service_name: "ovsdpdk-db"
|
|
service: "{{ ovsdpdk_services[service_name] }}"
|
|
config_json: "{{ ovsdpdk_config_jsons.results|selectattr('item.key', 'equalto', service_name)|first }}"
|
|
ovsdpdk_db_container: "{{ check_ovsdpdk_containers.results|selectattr('item.key', 'equalto', service_name)|first }}"
|
|
kolla_docker:
|
|
action: "recreate_or_restart_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ service.container_name }}"
|
|
image: "{{ service.image }}"
|
|
volumes: "{{ service.volumes }}"
|
|
when:
|
|
- action != "config"
|
|
- service.enabled | bool
|
|
- service.host_in_groups | bool
|
|
- config_json | changed
|
|
or ovsdpdk_db_container | changed
|
|
notify:
|
|
- Waiting the ovs db service to be ready
|
|
- Ensuring ovsdpdk bridges are properly setup indexed
|
|
- Restart ovsdpdk-vswitchd container
|
|
- Ensuring ovsdpdk bridges are properly setup named
|
|
- wait for dpdk tunnel ip
|
|
- ovs-dpdk gather facts
|
|
|
|
- name: Waiting the ovs db service to be ready
|
|
vars:
|
|
service_name: "ovsdpdk-db"
|
|
service: "{{ ovsdpdk_services[service_name] }}"
|
|
command: docker exec "{{ service.container_name }}" ovs-vsctl --no-wait show
|
|
register: check_result
|
|
until: check_result | success
|
|
changed_when: False
|
|
retries: 30
|
|
delay: 2
|
|
|
|
- name: Ensuring ovsdpdk bridges are properly setup indexed
|
|
vars:
|
|
service_name: "ovsdpdk-db"
|
|
service: "{{ ovsdpdk_services[service_name] }}"
|
|
command: "docker exec {{ service.container_name }} /bin/sh -c 'CONFIG_FILE={{ container_config_directory }}/ovs-dpdkctl.conf {{ container_config_directory }}/ovs-dpdkctl.sh init'"
|
|
register: status
|
|
changed_when: status.stdout.find('changed') != -1
|
|
when:
|
|
- (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'])
|
|
- ovs_physical_port_policy == 'indexed'
|
|
|
|
- name: Restart ovsdpdk-vswitchd container
|
|
vars:
|
|
service_name: "ovsdpdk-vswitchd"
|
|
service: "{{ ovsdpdk_services[service_name] }}"
|
|
config_json: "{{ ovsdpdk_config_jsons.results|selectattr('item.key', 'equalto', service_name)|first }}"
|
|
ovsdpdk_vswitchd_container: "{{ check_ovsdpdk_containers.results|selectattr('item.key', 'equalto', service_name)|first }}"
|
|
kolla_docker:
|
|
action: "recreate_or_restart_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ service.container_name }}"
|
|
image: "{{ service.image }}"
|
|
volumes: "{{ service.volumes }}"
|
|
privileged: "{{ service.privileged | default(True) }}"
|
|
when:
|
|
- action != "config"
|
|
- service.enabled | bool
|
|
- service.host_in_groups | bool
|
|
- config_json | changed
|
|
or ovsdpdk_vswitchd_container | changed
|
|
|
|
- name: Ensuring ovsdpdk bridges are properly setup named
|
|
vars:
|
|
service_name: "ovsdpdk-db"
|
|
service: "{{ ovsdpdk_services[service_name] }}"
|
|
command: "docker exec {{ service.container_name }} /bin/sh -c 'CONFIG_FILE={{ container_config_directory }}/ovs-dpdkctl.conf {{ container_config_directory }}/ovs-dpdkctl.sh init'"
|
|
register: status
|
|
changed_when: status.stdout.find('changed') != -1
|
|
when:
|
|
- (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'])
|
|
- ovs_physical_port_policy == 'named'
|
|
|
|
- name: wait for dpdk tunnel ip
|
|
wait_for:
|
|
host: "{{ dpdk_tunnel_interface_address }}"
|
|
timeout: 300
|
|
sleep: 5
|
|
|
|
- name: ovs-dpdk gather facts
|
|
setup:
|
|
filter: ansible_*
|
|
when:
|
|
- (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'])
|