--- - name: Ensuring the containers up become: true kolla_container_facts: name: "{{ item.name }}" action: "get_containers_state" container_engine: "{{ kolla_container_engine }}" register: container_state failed_when: container_state.states[item.name] != "running" when: inventory_hostname in groups[item.group] with_items: - { name: bifrost-deploy, group: bifrost-deploy } - import_tasks: config.yml - name: Check the configs become: true command: "{{ kolla_container_engine }} exec {{ item.name }} /usr/local/bin/kolla_set_configs --check" changed_when: false failed_when: false register: check_results when: inventory_hostname in groups[item.group] with_items: - { name: bifrost-deploy, group: bifrost-deploy } # NOTE(jeffrey4l): when config_strategy == 'COPY_ALWAYS' # and container env['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE', # just remove the container and start again - name: Containers config strategy become: true kolla_container_facts: name: "{{ item.name }}" action: "get_containers_env" container_engine: "{{ kolla_container_engine }}" register: container_envs when: inventory_hostname in groups[item.group] with_items: - { name: bifrost-deploy, group: bifrost-deploy } - name: Remove the containers become: true vars: container_name: "{{ item[0]['name'] }}" container_config_strategy: "{{ item[1].envs[container_name] }}" kolla_container: common_options: "{{ docker_common_options }}" name: "{{ container_name }}" action: "remove_container" register: remove_containers when: - inventory_hostname in groups[item[0]['group']] - config_strategy == "COPY_ONCE" or container_config_strategy == 'COPY_ONCE' - item[2]['rc'] == 1 with_together: - [{ name: bifrost-deploy, group: bifrost-deploy }] - "{{ container_envs.results }}" - "{{ check_results.results }}" - include_tasks: start.yml when: remove_containers.changed - name: Restart containers become: true vars: container_name: "{{ item[0]['name'] }}" container_config_strategy: "{{ item[1].envs[container_name] }}" kolla_container: common_options: "{{ docker_common_options }}" name: "{{ container_name }}" action: "restart_container" when: - inventory_hostname in groups[item[0]['group']] - config_strategy == 'COPY_ALWAYS' - container_config_strategy != 'COPY_ONCE' - item[2]['rc'] == 1 with_together: - [{ name: bifrost-deploy, group: bifrost-deploy }] - "{{ container_envs.results }}" - "{{ check_results.results }}"