10 - name: tell lvm to ignore loop devices
12 path: /etc/lvm/lvm.conf
13 line: "\tfilter = [ 'r|loop.*|' ]"
14 insertafter: 'devices {'
15 - name: lvm allow changes depsite duplicate PVIDs
17 path: /etc/lvm/lvm.conf
18 line: ' allow_changes_with_duplicate_pvs = 1'
19 insertafter: '^devices {'
20 regexp: 'allow_changes_with_duplicate_pvs = 0'
21 - name: create mount points
22 command: "mkdir /opt/{{ item }}"
29 shell: echo "type=83" | sfdisk /dev/{{ item }}
35 command: "mkfs.ext4 /dev/{{ item }}1"
40 - name: mount additional drives
41 command: "mount /dev/{{ item }}1 /opt/{{ item }}"
46 - name: create the nvme image systemd unit
50 Description=NVMe loop device
56 ExecStart=/bin/bash /opt/ceph-nvme.sh
57 StandardOutput=journal
61 WantedBy=multi-user.target
62 dest: "/etc/systemd/system/ceph-nvme.service"
64 - name: create the ceph-nvme startup script
69 mount /dev/vdd1 /opt/vdd
70 mount /dev/vde1 /opt/vde
75 losetup -v /dev/loop0 /opt/vdd/loop0_nvme0
76 losetup -v /dev/loop1 /opt/vde/loop1_nvme1
78 nvmetcli restore /opt/loop.json
79 nvme connect -t loop -n testnqn1 -q hostnqn
80 nvme connect -t loop -n testnqn2 -q hostnqn
82 dest: "/opt/ceph-nvme.sh"
84 - name: ensure ceph-nvme is enabled
90 - name: install nvme dependencies
98 - name: enable NVME kernel modules
107 - name: detach nvme files from loop devices
108 command: "losetup -d /dev/{{ item }}"
114 - name: remove previous nvme files
119 - /opt/vdd/loop0_nvme0
120 - /opt/vde/loop1_nvme1
122 - name: create 20GB sparse files for NVMe
123 command: "fallocate -l 20G {{ item }}"
125 - /opt/vdd/loop0_nvme0
126 - /opt/vde/loop1_nvme1
128 - name: setup loop devices with sparse files 0
129 command: "losetup /dev/loop0 /opt/vdd/loop0_nvme0"
132 - name: setup loop devices with sparse files 1
133 command: "losetup /dev/loop1 /opt/vde/loop1_nvme1"
136 - name: create the loop.json file for nvmetcli
150 "treq": "not specified",
168 "allow_any_host": "0"
173 "nguid": "ef90689c-6c46-d44c-89c1-4067801309a8",
187 "allow_any_host": "0"
192 "nguid": "ef90689c-6c46-d44c-89c1-4067801309a7",
203 dest: "/opt/loop.json"
205 - name: setup the /dev/loop0 target with nvmetcli
206 command: nvmetcli restore /opt/loop.json
208 - name: connect the new target as an nvme device
209 command: "nvme connect -t loop -n testnqn{{ item }} -q hostnqn"
214 - name: debug output for nvme list