Bug 2121476
| Summary: | "<volume group name>: command not found" errors from /var/lib/rear/layout/diskrestore.sh during restoration | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 9 | Reporter: | Pavel Cahyna <pcahyna> | |
| Component: | rear | Assignee: | Pavel Cahyna <pcahyna> | |
| Status: | POST --- | QA Contact: | Jakub Haruda <jharuda> | |
| Severity: | unspecified | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | 9.0 | CC: | jharuda, pcahyna | |
| Target Milestone: | rc | Keywords: | Triaged | |
| Target Release: | --- | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | Doc Type: | No Doc Update | ||
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 2121483 (view as bug list) | Environment: | ||
| Last Closed: | 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: | ||||
| Bug Blocks: | 2121483 | |||
On a further examination, the problem will make a difference only if $vg is in the ${create_thin_volumes_only[@]} array and the LV is not thin. This would happen only with FORCE_VGCFGRESTORE=yes and with a VG that has a thin pool and also a non-thin LV. Also, MIGRATION_MODE must be off.
|
Description of problem: During restoration of a storage layout with LVM, this message appears in the log: /var/lib/rear/layout/diskrestore.sh: line <n>: <vg>: command not found where <vg> is a volume group name. This is because of this line in usr/share/rear/layout/prepare/GNU/Linux/110_include_lvm_code.sh if IsInArray $vg \"\${create_logical_volumes[@]}\" && ! \$IsInArray $vg \"\${create_thin_volumes_only[@]}\" ; then which after quote removal becomes this in disklayout.sh ... $IsInArray $vg "${create_thin_volumes_only[@]}" and this is equivalent to just $vg "${create_thin_volumes_only[@]}", because $IsInArray does not exist (IsInArray is a shell function, not a variable). The line should read just if IsInArray $vg \"\${create_logical_volumes[@]}\" && ! IsInArray $vg \"\${create_thin_volumes_only[@]}\" ; then This problem does not exist upstream, I probably backported an old version of the change in https://github.com/rear/rear/pull/2691. Version-Release number of selected component (if applicable): 2.6 How reproducible: for the message: recovery of a system with LVM, most likely it depends on migration mode being in use (MIGRATION_MODE=TRUE) Not sure what to do to trigger an actual problem, probably it involves a thin pool.