Bug 814777
Summary: | Ensure lvrename handles all types of thin LVs sensibly | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Alasdair Kergon <agk> |
Component: | lvm2 | Assignee: | Zdenek Kabelac <zkabelac> |
Status: | CLOSED ERRATA | QA Contact: | Cluster QE <mspqa-list> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 6.4 | CC: | agk, cmarthal, dwysocha, heinzm, jbrassow, msnitzer, prajnoha, prockai, thornber, zkabelac |
Target Milestone: | rc | ||
Target Release: | 6.4 | ||
Hardware: | Unspecified | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | lvm2-2.02.98-1.el6 | Doc Type: | Bug Fix |
Doc Text: |
Rename of thin snapshot volumes have not been working.
This has been fixed also with full support for stacked devices.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2013-02-21 08:09:29 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: | 814732 | ||
Bug Blocks: |
Description
Alasdair Kergon
2012-04-20 16:03:30 UTC
New set of tests will be created once we start to support lvconvert. QE reviewed this BZ for QA_ACK but was unable to ack due to a lack of requirements or description of how the new feature is supposed to work or be tested. What are all the uses of lvrename? Please see https://wiki.test.redhat.com/ClusterStorage/WhyNoAck Well if you need my short-hand spelling out: Create every possible type of LV involved with thin provisioning (pool/metadata/snapshots), in every possible state (active/inactive, undergoing any conversions/moves that might be permitted), then run lvrename against every distinct type of LV name present (incl. hidden ones) and check the behaviour is sensible (i.e. it either refuses the rename if it wouldn't work, or it permits it and does the rename correctly and completely, incl all associated LVs that share the main part of the name be they active or inactive). Adding QA ack for 6.4. Devel will need to provide unit testing results however before this bug can be ultimately verified by QA. FWIW, the current 6.3 rpms do not support rename of thin snaps. [root@taft-01 ~]# lvs -a -o +devices LV VG Attr LSize Pool Origin Data% Devices POOL snapper_thinp twi-a-tz 300.00m 0.00 POOL_tdata(0) [POOL_tdata] snapper_thinp Twi-aot- 300.00m /dev/sdh1(0) [POOL_tmeta] snapper_thinp ewi-aot- 4.00m /dev/sdg1(0) origin snapper_thinp Vwi-a-tz 1.00g POOL 0.00 rename_snapA snapper_thinp Vwi-a-tz 1.00g POOL origin 0.00 [root@taft-01 ~]# lvrename /dev/snapper_thinp/rename_snapA /dev/snapper_thinp/rename_snapB Cannot rename "rename_snapA": name format not recognized for internal LV "POOL" Insert layer has been updated to support thin provisioning rename of stacked devices: https://www.redhat.com/archives/lvm-devel/2012-October/msg00013.html and should be usable with release 2.02.98. Verified in the latest rpms. 2.6.32-343.el6.x86_64 lvm2-2.02.98-3.el6 BUILT: Mon Nov 5 06:45:48 CST 2012 lvm2-libs-2.02.98-3.el6 BUILT: Mon Nov 5 06:45:48 CST 2012 lvm2-cluster-2.02.98-3.el6 BUILT: Mon Nov 5 06:45:48 CST 2012 udev-147-2.43.el6 BUILT: Thu Oct 11 05:59:38 CDT 2012 device-mapper-1.02.77-3.el6 BUILT: Mon Nov 5 06:45:48 CST 2012 device-mapper-libs-1.02.77-3.el6 BUILT: Mon Nov 5 06:45:48 CST 2012 device-mapper-event-1.02.77-3.el6 BUILT: Mon Nov 5 06:45:48 CST 2012 device-mapper-event-libs-1.02.77-3.el6 BUILT: Mon Nov 5 06:45:48 CST 2012 cmirror-2.02.98-3.el6 BUILT: Mon Nov 5 06:45:48 CST 2012 SCENARIO - [snap_rename_active] Create and attempt to rename the following volumes associated with thinprovising while ACTIVE: pool volume, pool_tdata, pool_tmeta, virt origin volume, thinp snapshot volume Making origin volume Creating thinpool and corresponding thin virtual volumes (one to be used as an origin) lvcreate --thinpool POOLA -L 1G snapper_thinp lvcreate --virtualsize 1G --thinpool snapper_thinp/POOLA -n origin lvcreate --virtualsize 1G --thinpool snapper_thinp/POOLA -n other1 lvcreate --virtualsize 1G --thinpool snapper_thinp/POOLA -n other2 lvcreate --virtualsize 1G --thinpool snapper_thinp/POOLA -n other3 lvcreate --virtualsize 1G --thinpool snapper_thinp/POOLA -n other4 lvcreate --virtualsize 1G --thinpool snapper_thinp/POOLA -n other5 Create a snap and then rename it lvcreate -s /dev/snapper_thinp/origin -n rename_snapA taft-01: lvrename /dev/snapper_thinp/POOLA /dev/snapper_thinp/POOLB taft-01: lvrename /dev/snapper_thinp/POOLB_tmeta /dev/snapper_thinp/POOLC_tmeta Names including "_tmeta" are reserved. Please choose a different LV name. taft-01: lvrename /dev/snapper_thinp/POOLB_tdata /dev/snapper_thinp/POOLC_tdata Names including "_tdata" are reserved. Please choose a different LV name. taft-01: lvrename /dev/snapper_thinp/origin /dev/snapper_thinp/originB taft-01: lvrename /dev/snapper_thinp/rename_snapA /dev/snapper_thinp/rename_snapB Removing volume snapper_thinp/rename_snapB Removing thin origin and other virtual thin volumes Removing thinpool snapper_thinp/POOLB SCENARIO - [snap_rename_inactive] Create and attempt to rename the following volumes associated with thinprovising while INACTIVE: pool volume, pool_tdata, pool_tmeta, virt origin volume, thinp snapshot volume Making origin volume Creating thinpool and corresponding thin virtual volumes (one to be used as an origin) lvcreate --thinpool POOLA -L 1G snapper_thinp lvcreate --virtualsize 1G --thinpool snapper_thinp/POOLA -n origin lvcreate --virtualsize 1G --thinpool snapper_thinp/POOLA -n other1 lvcreate --virtualsize 1G --thinpool snapper_thinp/POOLA -n other2 lvcreate --virtualsize 1G --thinpool snapper_thinp/POOLA -n other3 lvcreate --virtualsize 1G --thinpool snapper_thinp/POOLA -n other4 lvcreate --virtualsize 1G --thinpool snapper_thinp/POOLA -n other5 Create a snap and then rename it lvcreate -s /dev/snapper_thinp/origin -n rename_snapA Deactivate the volume group taft-01: lvrename /dev/snapper_thinp/POOLA /dev/snapper_thinp/POOLB taft-01: lvrename /dev/snapper_thinp/POOLB_tmeta /dev/snapper_thinp/POOLC_tmeta Names including "_tmeta" are reserved. Please choose a different LV name. taft-01: lvrename /dev/snapper_thinp/POOLB_tdata /dev/snapper_thinp/POOLC_tdata Names including "_tdata" are reserved. Please choose a different LV name. taft-01: lvrename /dev/snapper_thinp/origin /dev/snapper_thinp/originB taft-01: lvrename /dev/snapper_thinp/rename_snapA /dev/snapper_thinp/rename_snapB Removing volume snapper_thinp/rename_snapB Removing thin origin and other virtual thin volumes Removing thinpool snapper_thinp/POOLB 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, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2013-0501.html |