Mark Goddard b123bf6621 Use become for all docker tasks
Many tasks that use Docker have become specified already, but
not all. This change ensures all tasks that use the following
modules have become:

* kolla_docker
* kolla_ceph_keyring
* kolla_toolbox
* kolla_container_facts

It also adds become for 'command' tasks that use docker CLI.

Change-Id: I4a5ebcedaccb9261dbc958ec67e8077d7980e496
2019-06-06 19:04:58 +01:00

111 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 }}"
become: true
kolla_docker:
action: "recreate_or_restart_container"
common_options: "{{ docker_common_options }}"
name: "{{ service.container_name }}"
image: "{{ service.image }}"
volumes: "{{ service.volumes }}"
dimensions: "{{ service.dimensions }}"
when:
- kolla_action != "config"
- service.enabled | bool
- service.host_in_groups | bool
- config_json is changed
or ovsdpdk_db_container is 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] }}"
become: true
command: docker exec "{{ service.container_name }}" ovs-vsctl --no-wait show
register: check_result
until: check_result is 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] }}"
become: true
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'])
- 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 }}"
become: true
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) }}"
dimensions: "{{ service.dimensions }}"
when:
- kolla_action != "config"
- service.enabled | bool
- service.host_in_groups | bool
- config_json is changed
or ovsdpdk_vswitchd_container is changed
- name: Ensuring ovsdpdk bridges are properly setup named
vars:
service_name: "ovsdpdk-db"
service: "{{ ovsdpdk_services[service_name] }}"
become: true
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'])
- 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'])