Bug 2016517

Summary: RFE: Add support for cached volumes (lvm-only)
Product: Red Hat Enterprise Linux 9 Reporter: David Lehman <dlehman>
Component: rhel-system-rolesAssignee: Vojtech Trefny <vtrefny>
Status: CLOSED ERRATA QA Contact: guazhang <guazhang>
Severity: medium Docs Contact: Eliane Ramos Pereira <elpereir>
Priority: unspecified    
Version: CentOS StreamCC: bstinson, djez, elpereir, guazhang, jharuda, jwboyer, nhosoi, pkettman, rhel-cs-system-management-subsystem-qe, rmeggins, spetrosi, vtrefny
Target Milestone: rcKeywords: FutureFeature, Triaged
Target Release: 9.0   
Hardware: All   
OS: Linux   
Whiteboard: role:storage
Fixed In Version: rhel-system-roles-1.13.0-1.el9 Doc Type: Enhancement
Doc Text:
.Support for cached volumes is available in the Storage System Role This enhancement adds support to the Storage RHEL System Role to create and manage cached LVM logical volumes. LVM cache can be used to improve performance of slower logical volumes, by temporarily storing subsets of an LV's data on a smaller, faster device, for example, an SSD.
Story Points: ---
Clone Of: 2016511 Environment:
Last Closed: 2022-05-17 13:02:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2016511    
Bug Blocks:    

Comment 4 guazhang@redhat.com 2022-01-20 08:00:00 UTC
rhel-system-roles-1.12.0-0.3.el9.noarch

TASK [Check the type of each PV] ***********************************************
task path: /usr/share/ansible/roles/rhel-system-roles.storage/tests/test-verify-pool-members.yml:46
fatal: [localhost]: FAILED! => {"msg": "Invalid data passed to 'loop', it requires a list, got this instead: [] + [ '/dev/nvme0n1p1' ]. Hint: If you passed a list/dict of just one element, try adding wantlist=True to your lookup invocation or use q/query instead of lookup."}

PLAY RECAP *********************************************************************
localhost                  : ok=57   changed=2    unreachable=0    failed=1    skipped=26   rescued=0    ignored=0
STDERR:[WARNING]: You are running the development version of Ansible. You should only
run Ansible from "devel" if you are modifying the Ansible engine, or trying out
features under development. This is a rapidly changing source of code and can
become unstable at any point.
RETURN:2

[INFO][00:03:20]############ finish run test tests_change_fs_use_partitions_nvme_generated.yml ansible-playbook -vv -i host tests_change_fs_use_partitions_nvme_generated.yml #############


[root@storageqe-26 auto_run_role_local]# lsblk
NAME                        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                           8:0    0 223.6G  0 disk 
sdb                           8:16   0 223.6G  0 disk 
sdc                           8:32   0 223.6G  0 disk 
sdd                           8:48   0 223.6G  0 disk 
sde                           8:64   0 223.6G  0 disk 
├─sde1                        8:65   0   600M  0 part /boot/efi
├─sde2                        8:66   0     1G  0 part /boot
└─sde3                        8:67   0   222G  0 part 
  ├─rhel_storageqe--26-root 253:0    0    70G  0 lvm  /
  ├─rhel_storageqe--26-swap 253:1    0   7.8G  0 lvm  [SWAP]
  └─rhel_storageqe--26-home 253:2    0 144.2G  0 lvm  /home
sdf                           8:80   0 223.6G  0 disk 
sdg                           8:96   0 223.6G  0 disk 
sdh                           8:112  0 223.6G  0 disk 
nvme0n1                     259:0    0 372.6G  0 disk 
├─foo-test3                 253:3    0     3G  0 lvm  /opt/test3
├─foo-test2                 253:4    0     3G  0 lvm  /opt/test2
└─foo-test1                 253:5    0     3G  0 lvm  /opt/test1
[root@storageqe-26 auto_run_role_local]# 


TASK [Check the type of each PV] ***********************************************
task path: /usr/share/ansible/roles/rhel-system-roles.storage/tests/test-verify-pool-members.yml:46
fatal: [localhost]: FAILED! => {"msg": "Invalid data passed to 'loop', it requires a list, got this instead: [] + [ '/dev/nvme2n1' ]. Hint: If you passed a list/dict of just one element, try adding wantlist=True to your lookup invocation or use q/query instead of lookup."}

PLAY RECAP *********************************************************************
localhost                  : ok=57   changed=2    unreachable=0    failed=1    skipped=26   rescued=0    ignored=0
STDERR:[WARNING]: You are running the development version of Ansible. You should only
run Ansible from "devel" if you are modifying the Ansible engine, or trying out
features under development. This is a rapidly changing source of code and can
become unstable at any point.
RETURN:2

[INFO][00:24:04]############ finish run test tests_change_fs_nvme_generated.yml ansible-playbook -vv -i host tests_change_fs_nvme_generated.yml #############

Comment 5 Rich Megginson 2022-01-20 17:58:51 UTC
@guazhang I cannot reproduce the failure.  I'm assuming you used a rhel9 controller host.  What is the managed host?  localhost?  an openstack machine?  a local qemu/qcow2 machine?  If not localhost, what is the platform?  How did you set up the additional NVMe disk devices to use with the test?

Comment 8 guazhang@redhat.com 2022-01-22 05:55:08 UTC
I get the ansible version and hit the error.
# ansible --version
[WARNING]: You are running the development version of Ansible. You should only run Ansible from "devel" if you are modifying the
Ansible engine, or trying out features under development. This is a rapidly changing source of code and can become unstable at any
point.
ansible [core 2.13.0.dev0]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.9/site-packages/ansible_core-2.12.1-py3.9.egg/ansible
  ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.9.9 (main, Jan  8 2022, 00:00:00) [GCC 11.2.1 20211203 (Red Hat 11.2.1-7)]
  jinja version = 3.0.3
  libyaml = True



Don't hit the error 
# ansible --version
ansible [core 2.12.1]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.9/site-packages/ansible
  ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.9.9 (main, Jan  8 2022, 00:00:00) [GCC 11.2.1 20211203 (Red Hat 11.2.1-7)]
  jinja version = 2.11.3
  libyaml = True

Comment 9 Rich Megginson 2022-01-23 23:32:15 UTC
Ok.  Then I don't think this issue is urgent.

(In reply to guazhang from comment #8)
> I get the ansible version and hit the error.
> # ansible --version
> [WARNING]: You are running the development version of Ansible. You should
> only run Ansible from "devel" if you are modifying the
> Ansible engine, or trying out features under development. This is a rapidly
> changing source of code and can become unstable at any
> point.
> ansible [core 2.13.0.dev0]
>   config file = /etc/ansible/ansible.cfg
>   configured module search path = ['/root/.ansible/plugins/modules',
> '/usr/share/ansible/plugins/modules']
>   ansible python module location =
> /usr/local/lib/python3.9/site-packages/ansible_core-2.12.1-py3.9.egg/ansible
>   ansible collection location =
> /root/.ansible/collections:/usr/share/ansible/collections
>   executable location = /usr/local/bin/ansible
>   python version = 3.9.9 (main, Jan  8 2022, 00:00:00) [GCC 11.2.1 20211203
> (Red Hat 11.2.1-7)]
>   jinja version = 3.0.3
>   libyaml = True
> 
> 
> 
> Don't hit the error 
> # ansible --version
> ansible [core 2.12.1]
>   config file = /etc/ansible/ansible.cfg
>   configured module search path = ['/root/.ansible/plugins/modules',
> '/usr/share/ansible/plugins/modules']
>   ansible python module location =
> /usr/local/lib/python3.9/site-packages/ansible
>   ansible collection location =
> /root/.ansible/collections:/usr/share/ansible/collections
>   executable location = /usr/local/bin/ansible
>   python version = 3.9.9 (main, Jan  8 2022, 00:00:00) [GCC 11.2.1 20211203
> (Red Hat 11.2.1-7)]
>   jinja version = 2.11.3
>   libyaml = True

Comment 10 Rich Megginson 2022-01-23 23:36:54 UTC
@guazhang since it works with the supported ansible, please mark this bz as pre-verified, and open a new bz for the `"Invalid data passed to 'loop', it requires a list, got this instead: [] + [ '/dev/nvme1n1p1' ] + [ '/dev/nvme4n1p1' ]. ` issue

Comment 11 guazhang@redhat.com 2022-01-24 02:40:10 UTC
open new bug for issue.
https://bugzilla.redhat.com/show_bug.cgi?id=2044119

Comment 17 guazhang@redhat.com 2022-02-17 01:29:27 UTC
test pass with fixed package.

rhel-system-roles-1.13.0-1.el9.noarch
ansible [core 2.12.2]

Comment 19 errata-xmlrpc 2022-05-17 13:02:55 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (new packages: rhel-system-roles), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:2443