-
Notifications
You must be signed in to change notification settings - Fork 9
Description
Hi,
When trying to use the collection/role infra.lvm_snapshots.snapshot_create, it fails when there is lvm thin pool in the managed node. Snashot and rollback works fine with regular LVM but not when thin pool is used.
ANSIBLE IN USE: from RH-SAT 6.15
RH-SATELLITE: ANSIBLE JOB TEMPLATE
ANSIBLE VERSION: ansible-core-2.16.3-2.el8.x86_64
ANSIBLE COLLECTIONS :
# /etc/ansible/collections/ansible_collections
Collection Version
--------------------------- -------
ansible.posix 1.5.4
community.general 9.2.0
infra.lvm_snapshots 2.1.0
TASK [ansible.builtin.debug] ***************************************************
ok: [examplecustomer19.ar.custy] => {
"msg": [
"INFO: OPERATING PARAMETERS",
"---------------------------------",
"INFO: TGT CONTENT HOST RHEL OS : '8'",
"INFO: TGT CONTENT HOST HOSTNAME : 'examplecustomer19'",
"INFO: TGT CONTENT HOST FQDN : 'examplecustomer19.ar.custy'",
"---------------------------------",
"INFO: TGT RHSM-ENVIRONMENT : 'DESA/S-RHEL-8'",
"INFO: TGT PATCHING COMMAND : '/usr/bin/dnf install sos'",
"---------------------------------",
"INFO: TGT AT TASK UNIT : 'minutes'",
"INFO: TGT AT TASK COUNT : '8'",
"---------------------------------",
"INFO: TGT LVM SNAP NAME PREFIX : 'xcustomer_pse'",
"INFO: TGT LVM SNAP NAME TIMESTAMP : '2024090412'",
"INFO: TGT LVM SNAP SET NAME : 'xcustomer_pse2024090412'",
"INFO: TGT LVM SNAP CREATE BOOT BKP : 'True'",
"---------------------------------",
"INFO: TGT LVM SNAP CREATE AUTOEXTEND PCENT : '20'",
"INFO: TGT LVM SNAP CREATE AUTOEXTEND TSHOLD : '70'",
"---------------------------------",
"INFO: TGT LVM VGs/LVs:",
[
{
"lv": "lv_root",
"vg": "vg00"
},
{
"lv": "lv_var",
"vg": "vg00"
},
{
"lv": "lv_opt",
"vg": "vg00"
}
],
"---------------------------------",
"INFO: TGT LVM LVs COUNT : '3'"
]
}
```=> DEBUG ADDED TO COLLECTIONS:
TASK [infra.lvm_snapshots.snapshot_create : ansible.builtin.debug] *************
ok: [examplecustomer19.ar.custy] => {
"msg": [
"-------------------------",
{
"changed": false,
"failed": false,
"failed_when_result": false,
"rc": 0,
"stderr": "Shared connection to 166.47.102.53 closed.\r\n",
"stderr_lines": [
"Shared connection to 166.47.102.53 closed."
],
"stdout": "[{\"vg\": \"vg00\", \"lv\": \"lv_root\", \"size\": \"0.0B\"}, {\"vg\": \"vg00\", \"lv\": \"lv_var\", \"size\": \"0.0B\"}, {\"vg\": \"vg00\", \"lv\": \"lv_opt\", \"size\": \"0.0B\"}]\r\n",
"stdout_lines": [
"[{\"vg\": \"vg00\", \"lv\": \"lv_root\", \"size\": \"0.0B\"}, {\"vg\": \"vg00\", \"lv\": \"lv_var\", \"size\": \"0.0B\"}, {\"vg\": \"vg00\", \"lv\": \"lv_opt\", \"size\": \"0.0B\"}]"
]
},
"-------------------------"
]
}
=> COLLECTIONS FAILS FOR THINPOOL LVM WITH NO SIZE:
TASK [infra.lvm_snapshots.snapshot_create : Create snapshots] ******************
failed: [examplecustomer19.ar.custy] (item={'vg': 'vg00', 'lv': 'lv_root', 'size': '0.0B'}) => {"ansible_loop_var": "item", "changed": false, "err": " --size may not be zero.\n Run `lvcreate --help' for more information.\n", "item": {"lv": "lv_root", "size": "0.0B", "vg": "vg00"}, "msg": "Creating logical volume 'lv_root' failed", "rc": 3}
failed: [examplecustomer19.ar.custy] (item={'vg': 'vg00', 'lv': 'lv_var', 'size': '0.0B'}) => {"ansible_loop_var": "item", "changed": false, "err": " --size may not be zero.\n Run `lvcreate --help' for more information.\n", "item": {"lv": "lv_var", "size": "0.0B", "vg": "vg00"}, "msg": "Creating logical volume 'lv_var' failed", "rc": 3}
failed: [examplecustomer19.ar.custy] (item={'vg': 'vg00', 'lv': 'lv_opt', 'size': '0.0B'}) => {"ansible_loop_var": "item", "changed": false, "err": " --size may not be zero.\n Run `lvcreate --help' for more information.\n", "item": {"lv": "lv_opt", "size": "0.0B", "vg": "vg00"}, "msg": "Creating logical volume 'lv_opt' failed", "rc": 3}
PLAY RECAP *********************************************************************
examplecustomer19.ar.custy : ok=46 changed=8 unreachable=0 failed=1 skipped=3 rescued=0 ignored=0
Exit status: 2
StandardError: Job execution failed
ERROR: --size may not be zero.\n Run `lvcreate --help' for more information.\n"
From DOCs: https://github.com/redhat-cop/infra.lvm_snapshots/tree/main/roles/snapshot_create#size
The size of the logical volume according to the definition of the size parameter of the community.general.lvol module.
To create thin provisioned snapshot of a thin provisioned volume, omit the size parameter or set it to 0