Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 2005005

Summary: "vdoimport --dry-run" is broken [rhel-8.6.0]
Product: Red Hat Enterprise Linux 8 Reporter: RHEL Program Management Team <pgm-rhel-tools>
Component: lvm2Assignee: Zdenek Kabelac <zkabelac>
lvm2 sub component: VDO QA Contact: cluster-qe <cluster-qe>
Status: CLOSED ERRATA Docs Contact:
Severity: medium    
Priority: urgent CC: agk, awalsh, cmarthal, heinzm, jbrassow, lmiksik, mcsontos, prajnoha, zkabelac
Version: 8.5Keywords: Triaged
Target Milestone: rcFlags: pm-rhel: mirror+
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: lvm2-2.03.14-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1989650 Environment:
Last Closed: 2022-05-10 15:22:14 UTC Type: ---
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: 1989650    
Bug Blocks:    

Comment 1 Zdenek Kabelac 2021-09-22 14:36:50 UTC
Fixed upstream 2.03.14

Comment 3 Corey Marthaler 2021-11-03 03:57:31 UTC
Marking Verified:Tested in the latest rpms.

kernel-4.18.0-348.4.el8.kpq0    BUILT: Wed Oct 27 15:00:32 CDT 2021
lvm2-2.03.14-1.el8    BUILT: Wed Oct 20 10:18:17 CDT 2021
lvm2-libs-2.03.14-1.el8    BUILT: Wed Oct 20 10:18:17 CDT 2021
lvm2-dbusd-2.03.14-1.el8    BUILT: Wed Oct 20 10:18:48 CDT 2021


The output now appears to use the --verbose as default like mentioned in the 8.5 version of this bug.

[root@hayes-02 ~]# vdo create --force --name lvm_import_vdo_sanity --vdoLogicalSize 500G --device /dev/sdd1
Creating VDO lvm_import_vdo_sanity
      The VDO volume can address 928 GB in 464 data slabs, each 2 GB.
      It can grow to address at most 16 TB of physical storage in 8192 slabs.
      If a larger maximum size might be needed, use bigger slabs.
Starting VDO lvm_import_vdo_sanity
Starting compression on VDO lvm_import_vdo_sanity
VDO instance 156 volume is ready at /dev/mapper/lvm_import_vdo_sanity

[root@hayes-02 ~]# lvm_import_vdo --dry-run --yes /dev/sdd1
lvm_import_vdo: Checked whether device /dev/sdd1 is already LV (0).
lvm_import_vdo: Getting YAML VDO configuration.
lvm_import_vdo: Found matching device /dev/disk/by-id/scsi-36d094660650d1e0022bd29f31e631f3e-part1  8:49
lvm_import_vdo: Converted VDO device has logical/physical size 524288000/976486380 KiB.
lvm_import_vdo: VDO conversion paramaters: allocation {
        vdo_use_compression = 1
        vdo_use_deduplication = 1
        vdo_use_metadata_hints=1
        vdo_minimum_io_size = 4096
        vdo_block_map_cache_size_mb = 128
        vdo_block_map_period = 16380
        vdo_check_point_frequency = 0
        vdo_use_sparse_index = 0
        vdo_index_memory_size_mb = 256
        vdo_slab_size_mb = 128
        vdo_ack_threads = 1
        vdo_bio_threads = 4
        vdo_bio_rotation = 64
        vdo_cpu_threads = 2
        vdo_hash_zone_threads = 1
        vdo_logical_threads = 1
        vdo_physical_threads = 1
        vdo_write_policy = auto
        vdo_max_discard = 1
        vdo_pool_header_size = 0
}
lvm_import_vdo: Stopping VDO volume.
lvm_import_vdo: Dry execution vdo stop --name lvm_import_vdo_sanity
lvm_import_vdo: Moving VDO header by 2MiB.
lvm_import_vdo: Dry execution vdo convert --force --name lvm_import_vdo_sanity
lvm_import_vdo: Dry execution lvm pvcreate -y --dataalignment 2M /dev/sdd1
lvm_import_vdo: Creating VG "" with extent size 4 KiB.
lvm_import_vdo: Dry execution lvm vgcreate -y -v -s 4k vdovg /dev/sdd1
lvm_import_vdo: Creating VDO pool data LV from all extents in volume group vdovg.
lvm_import_vdo: Dry execution lvm lvcreate -Zn -Wn -y -v -l100%VG -n vdolvol_vpool vdovg
lvm_import_vdo: Converting to VDO pool.
lvm_import_vdo: Dry execution lvm lvconvert -y -v --config allocation {
        vdo_use_compression = 1
        vdo_use_deduplication = 1
        vdo_use_metadata_hints=1
        vdo_minimum_io_size = 4096
        vdo_block_map_cache_size_mb = 128
        vdo_block_map_period = 16380
        vdo_check_point_frequency = 0
        vdo_use_sparse_index = 0
        vdo_index_memory_size_mb = 256
        vdo_slab_size_mb = 128
        vdo_ack_threads = 1
        vdo_bio_threads = 4
        vdo_bio_rotation = 64
        vdo_cpu_threads = 2
        vdo_hash_zone_threads = 1
        vdo_logical_threads = 1
        vdo_physical_threads = 1
        vdo_write_policy = auto
        vdo_max_discard = 1
        vdo_pool_header_size = 0
} -Zn -V 524288000k -n vdolvol --type vdo-pool vdovg/vdolvol_vpool

[root@hayes-02 ~]# lvm_import_vdo --yes --dry-run --verbose /dev/sdd1
lvm_import_vdo: Checked whether device /dev/sdd1 is already LV (0).
lvm_import_vdo: Getting YAML VDO configuration.
lvm_import_vdo: Found matching device /dev/disk/by-id/scsi-36d094660650d1e0022bd29f31e631f3e-part1  8:49
lvm_import_vdo: Converted VDO device has logical/physical size 524288000/976486380 KiB.
lvm_import_vdo: VDO conversion paramaters: allocation {
        vdo_use_compression = 1
        vdo_use_deduplication = 1
        vdo_use_metadata_hints=1
        vdo_minimum_io_size = 4096
        vdo_block_map_cache_size_mb = 128
        vdo_block_map_period = 16380
        vdo_check_point_frequency = 0
        vdo_use_sparse_index = 0
        vdo_index_memory_size_mb = 256
        vdo_slab_size_mb = 128
        vdo_ack_threads = 1
        vdo_bio_threads = 4
        vdo_bio_rotation = 64
        vdo_cpu_threads = 2
        vdo_hash_zone_threads = 1
        vdo_logical_threads = 1
        vdo_physical_threads = 1
        vdo_write_policy = auto
        vdo_max_discard = 1
        vdo_pool_header_size = 0
}
lvm_import_vdo: Stopping VDO volume.
lvm_import_vdo: Dry execution vdo stop --name lvm_import_vdo_sanity
lvm_import_vdo: Moving VDO header by 2MiB.
lvm_import_vdo: Dry execution vdo convert --force --name lvm_import_vdo_sanity
lvm_import_vdo: Dry execution lvm pvcreate -y --dataalignment 2M /dev/sdd1
lvm_import_vdo: Creating VG "" with extent size 4 KiB.
lvm_import_vdo: Dry execution lvm vgcreate -y -v -s 4k vdovg /dev/sdd1
lvm_import_vdo: Creating VDO pool data LV from all extents in volume group vdovg.
lvm_import_vdo: Dry execution lvm lvcreate -Zn -Wn -y -v -l100%VG -n vdolvol_vpool vdovg
lvm_import_vdo: Converting to VDO pool.
lvm_import_vdo: Dry execution lvm lvconvert -y -v --config allocation {
        vdo_use_compression = 1
        vdo_use_deduplication = 1
        vdo_use_metadata_hints=1
        vdo_minimum_io_size = 4096
        vdo_block_map_cache_size_mb = 128
        vdo_block_map_period = 16380
        vdo_check_point_frequency = 0
        vdo_use_sparse_index = 0
        vdo_index_memory_size_mb = 256
        vdo_slab_size_mb = 128
        vdo_ack_threads = 1
        vdo_bio_threads = 4
        vdo_bio_rotation = 64
        vdo_cpu_threads = 2
        vdo_hash_zone_threads = 1
        vdo_logical_threads = 1
        vdo_physical_threads = 1
        vdo_write_policy = auto
        vdo_max_discard = 1
        vdo_pool_header_size = 0
} -Zn -V 524288000k -n vdolvol --type vdo-pool vdovg/vdolvol_vpool

Comment 6 Corey Marthaler 2021-11-16 18:25:03 UTC
Marking Verified in the latest rpms.

kernel-4.18.0-348.4.el8.kpq0    BUILT: Wed Oct 27 15:00:32 CDT 2021
lvm2-2.03.14-1.el8    BUILT: Wed Oct 20 10:18:17 CDT 2021
lvm2-libs-2.03.14-1.el8    BUILT: Wed Oct 20 10:18:17 CDT 2021


SCENARIO - vdo_convert_dry_run_failure_attempts:  Test the various dry-run conversion options in with invalid devices 
lvm_import_vdo --yes --dry-run

lvm_import_vdo --dry-run --yes /dev/sdc1

vdo create --force --name lvm_import_vdo_sanity --vdoLogicalSize 500G --device /dev/sdd1
Creating VDO lvm_import_vdo_sanity
      The VDO volume can address 1 TB in 929 data slabs, each 2 GB.
      It can grow to address at most 16 TB of physical storage in 8192 slabs.
      If a larger maximum size might be needed, use bigger slabs.
Starting VDO lvm_import_vdo_sanity
Starting compression on VDO lvm_import_vdo_sanity
VDO instance 3 volume is ready at /dev/mapper/lvm_import_vdo_sanity

lvm_import_vdo --dry-run --yes /dev/sdc1

vdo stop --name lvm_import_vdo_sanity
lvm_import_vdo --dry-run --yes /dev/sdd1
vdo remove --name lvm_import_vdo_sanity
vdo: WARNING - VDO service lvm_import_vdo_sanity already stopped
Removing VDO lvm_import_vdo_sanity
Stopping VDO lvm_import_vdo_sanity


SCENARIO - vdo_convert_dry_run:  Test the various dry-run conversion options of an existent vdo volume to lvm (bug 1989650) 
vdo create --force --name lvm_import_vdo_sanity --vdoLogicalSize 500G --device /dev/sdd1
Creating VDO lvm_import_vdo_sanity
      The VDO volume can address 1 TB in 929 data slabs, each 2 GB.
      It can grow to address at most 16 TB of physical storage in 8192 slabs.
      If a larger maximum size might be needed, use bigger slabs.
Starting VDO lvm_import_vdo_sanity
Starting compression on VDO lvm_import_vdo_sanity
VDO instance 4 volume is ready at /dev/mapper/lvm_import_vdo_sanity

lvm_import_vdo --dry-run --yes /dev/sdd1
lvm_import_vdo --yes --dry-run --verbose /dev/sdd1

vdo remove --name lvm_import_vdo_sanity
Removing VDO lvm_import_vdo_sanity
Stopping VDO lvm_import_vdo_sanity

Comment 8 errata-xmlrpc 2022-05-10 15:22:14 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 (lvm2 bug fix and enhancement update), 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:2038