--- - name: Check /tmp/cephfs path become: true command: "docker exec -u 0 manila_share ls /tmp/cephfs/" register: check_cephfs changed_when: False failed_when: check_cephfs.rc != 0 and check_cephfs.stderr.find('No such file or directory') == -1 run_once: True - name: Create /tmp/cephfs path become: true command: "docker exec -u 0 manila_share mkdir -p /tmp/cephfs" run_once: True when: check_cephfs.rc != 0 - name: Get monitor dump become: true command: docker exec manila_share ceph mon dump -c /etc/ceph/ceph.conf --name client.manila -f json register: ceph_monitor_dump changed_when: False run_once: True - name: Get cephfs addr vars: query: mons[*].public_addr # take only ip and port from public_addr, e.g from public_addr: 10.66.1.5:6789/0 # use 10.66.1.5:6789 regex: "[^/]*" set_fact: cephfs_addr: "{{ ceph_monitor_dump.stdout | from_json | json_query(query) | map('regex_search', regex) | join(',') }}:/" run_once: true - name: Get cephfs secret become: true command: docker exec manila_share ceph-authtool -p /etc/ceph/ceph.client.manila.keyring -n client.manila register: manila_keyring changed_when: False run_once: True - name: Umount cephfs become: true command: "docker exec -u 0 manila_share umount /tmp/cephfs/" register: umount_cephfs changed_when: False failed_when: False run_once: True - name: Mount cephfs become: true command: "docker exec -u 0 manila_share mount -t ceph {{cephfs_addr}} /tmp/cephfs -o name=manila,secret={{ manila_keyring.stdout }}" register: mount_cephfs changed_when: False run_once: True - name: Check volumes path become: true command: "docker exec -u 0 manila_share ls /tmp/cephfs/volumes" register: check_volume changed_when: False failed_when: False run_once: True - name: Create /tmp/cephfs/volumes path become: true command: "docker exec -u 0 manila_share mkdir /tmp/cephfs/volumes" register: create_volume run_once: True when: check_volume.rc != 0 - name: Change the owner and group of /tmp/cephfs/volumes become: true command: "docker exec -u 0 manila_share chown manila:manila /tmp/cephfs/volumes" register: chown_volume run_once: True when: check_volume.rc != 0 and create_volume.rc == 0 - name: Umount cephfs become: true command: "docker exec -u 0 manila_share umount /tmp/cephfs" changed_when: False register: umount_cephfs run_once: True when: mount_cephfs.rc == 0