gluster-ansible-infra
gluster-ansible-infra copied to clipboard
gluster_infra_lv_logicalvols['lvsize'] is not optional and doesn't default to 100% of LV
The README says that the lvsize option for gluster_infra_lv_logicalvols is "Optional, Default 100%, size of LV". However, omitting it results in the following error:
TASK [gluster.infra/roles/backend_setup : Create thin logical volume] **************************************************************************************************************************
fatal: [hc2-02]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'lvsize'\n\nThe error appears to be in '/home/ollie/.ansible/roles/gluster.infra/roles/backend_setup/tasks/thin_volume_create.yml': line 132, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n#this fails when the pool doesn't exist\n- name: Create thin logical volume\n ^ here\n"}
Manually specifying "100%FREE" results in this error:
TASK [gluster.infra/roles/backend_setup : Create thin logical volume] **************************************************************************************************************************
failed: [hc2-02] (item={'vgname': 'vg.gluster', 'thinpool': 'thinpool', 'lvname': 'lv.thin', 'lvsize': '100%FREE'}) => {"ansible_index_var": "index", "ansible_loop_var": "item", "changed": false, "index": 0, "item": {"lvname": "lv.thin", "lvsize": "100%FREE", "thinpool": "thinpool", "vgname": "vg.gluster"}, "msg": "Thin volume sizing with percentage not supported."}
What do I need to do to get the logical volume to be 100% the size of the thinpool?
If it helps, this is my playbook (with "lvsize" omitted):
roles:
- role: gluster.infra
vars:
gluster_infra_disktype: JBOD
gluster_infra_volume_groups:
- { vgname: vg.gluster, pvname: /dev/sda }
gluster_infra_lv_logicalvols:
- { vgname: vg.gluster, thinpool: thinpool, lvname: lv.thin }
gluster_infra_thinpools:
- { vgname: vg.gluster, thinpoolname: thinpool, poolmetadatasize: 16G, thinpoolsize: 100%FREE }
gluster_infra_mount_devices:
- { path: "/mnt/brick{{ ansible_hostname[-2:] }}", vgname: vg.gluster, lvname: lv.thin }
become: yes