- name: creates logical volumes for the bucket index or fs journals on a single device and prepares for use of osd_scenario=lvm. become: true hosts: - osds tasks: - name: include vars of lv_vars.yaml include_vars: file: lv_vars.yaml # need to check if lvm2 is installed - name: install lvm2 package: name: lvm2 state: present # Make entire nvme device a VG - name: add nvme device as lvm pv lvg: force: yes pvs: "{{ nvme_device }}" pesize: 4 state: present vg: "{{ nvme_vg_name }}" - name: create lvs for fs journals for the bucket index on the nvme device lvol: lv: "{{ item.journal_name }}" vg: "{{ nvme_vg_name }}" size: "{{ journal_size }}" pvs: "{{ nvme_device }}" with_items: - "{{ nvme_device_lvs }}" - name: create lvs for fs journals for hdd devices lvol: lv: "{{ hdd_journal_prefix }}-{{ item.split('/')[-1] }}" vg: "{{ nvme_vg_name }}" size: "{{ journal_size }}" with_items: - "{{ hdd_devices }}" - name: create the lv for data portion of the bucket index on the nvme device lvol: lv: "{{ item.lv_name }}" vg: "{{ nvme_vg_name }}" size: "{{ item.size }}" pvs: "{{ nvme_device }}" with_items: - "{{ nvme_device_lvs }}" # Make sure all hdd devices have a unique volume group - name: create vgs for all hdd devices lvg: force: yes pvs: "{{ item }}" pesize: 4 state: present vg: "{{ hdd_vg_prefix }}-{{ item.split('/')[-1] }}" with_items: - "{{ hdd_devices }}" - name: create lvs for the data portion on hdd devices lvol: lv: "{{ hdd_lv_prefix }}-{{ item.split('/')[-1] }}" vg: "{{ hdd_vg_prefix }}-{{ item.split('/')[-1] }}" size: "{{ hdd_lv_size }}" pvs: "{{ item }}" with_items: - "{{ hdd_devices }}" - name: "write output for osds.yml to {{ logfile_path }}" become: false template: src: "templates/lv-create-log.j2" dest: "{{ logfile_path }}" delegate_to: localhost