--- # Copyright 2019 Red Hat, Inc. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. - name: Docker vfs setup hosts: all gather_facts: true handlers: - name: Stop docker daemon become: true systemd: name: docker state: stopped listen: Restart docker - name: Start docker daemon become: true systemd: name: docker state: started listen: Restart docker - name: Cleanup temp json file become: true file: path: "{{ tripleo_docker_temp_file }}" state: absent pre_tasks: - name: Set temp file fact set_fact: tripleo_docker_temp_file: "{{ ansible_user_dir }}/.ansible/tmp/docker-daemon-{{ inventory_hostname }}.json" when: - tripleo_docker_temp_file is undefined tasks: - name: Storage driver block become: true when: - (tripleo_docker_enable_vfs | default(false)) | bool block: - name: Create ansible temp directory file: path: "{{ tripleo_docker_temp_file | dirname }}" state: directory - name: Check for docker json file stat: path: /etc/docker/daemon.json register: daemon_json - name: Store config file fetch: src: /etc/docker/daemon.json dest: "{{ tripleo_docker_temp_file }}" flat: true register: stored_file when: - daemon_json.stat.exists | bool notify: - Cleanup temp json file - name: Insert storage-driver into docker daemon config (existing) include_role: name: tripleo_config vars: tripleo_config_src: "{{ tripleo_docker_temp_file }}" tripleo_config_type: json tripleo_config_dest: /etc/docker/daemon.json tripleo_config_overrides: storage-driver: vfs when: - daemon_json.stat.exists | bool - name: Insert storage-driver into docker daemon config (new) include_role: name: tripleo_config vars: tripleo_config_type: json tripleo_config_dest: /etc/docker/daemon.json tripleo_config_overrides: storage-driver: vfs when: - not (daemon_json.stat.exists | bool) post_tasks: - name: Get checksum from running docker config stat: path: /etc/docker/daemon.json register: running_file - name: Notify config changes debug: msg: "Configuration changes detected notifying handlers" changed_when: true when: - (not (stored_file.changed | bool)) or (stored_file.checksum != running_file.stat.checksum) notify: - Restart docker