Bug 1543188

Summary: RFE: boom shows annoying inconsistency with --rootlv and --root-device
Product: Red Hat Enterprise Linux 7 Reporter: Corey Marthaler <cmarthal>
Component: lvm2Assignee: LVM and device-mapper development team <lvm-team>
lvm2 sub component: Snapshots QA Contact: cluster-qe <cluster-qe>
Status: CLOSED ERRATA Docs Contact:
Severity: low    
Priority: unspecified CC: agk, bmr, heinzm, jbrassow, msnitzer, prajnoha, prockai, rhandlin, zkabelac
Version: 7.5Keywords: FutureFeature
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: lvm2-2.02.177-3.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 15:25:23 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:

Description Corey Marthaler 2018-02-07 23:16:10 UTC
Description of problem:
Super low priority, but maybe accept both w/ or w/o the dash?

[root@host-082 ~]# boom create --title myTitle --root-device /dev/foo
Created entry with boot_id 8a3ea34:
  title myTitle
  machine-id 4be78ac81dac49098952215ac6624209
  version 3.10.0-847.el7.x86_64
  linux /vmlinuz-3.10.0-847.el7.x86_64
  initrd /initramfs-3.10.0-847.el7.x86_64.img
  options root=/dev/foo ro  rhgb quiet

[root@host-082 ~]# boom create --title myTitle --rootdevice /dev/foo
usage: boom [-h] [-b BOOT_ID] [--boot-dir PATH] [-B SUBVOL]
            [--btrfs-opts OPTS] [--debug DEBUGOPTS] [-e IMG] [-H] [-i IMG]
            [-k PATTERN] [-l IMG] [-L LV] [--lvm-opts OPTS] [-m MACHINE_ID]
            [-n OSNAME] [--nameprefixes] [--noheadings] [-o FIELDS]
            [--os-version OSVERSION] [-O SORTFIELDS] [-I OSVERSIONID]
            [--os-options OPTIONS] [--os-release OSRELEASE] [-p OS_ID]
            [-r ROOT] [-R PATTERN] [--rows] [--separator SEP] [-s OSSHORTNAME]
            [-t TITLE] [-u PATTERN] [-V] [-v VERSION]
            [TYPE] COMMAND [ID]
boom: error: unrecognized arguments: --rootdevice /dev/foo

[root@host-082 ~]# boom create --title myTitle --rootlv vg/lv
Created entry with boot_id e6585af:
  title myTitle
  machine-id 4be78ac81dac49098952215ac6624209
  version 3.10.0-847.el7.x86_64
  linux /vmlinuz-3.10.0-847.el7.x86_64
  initrd /initramfs-3.10.0-847.el7.x86_64.img
  options root=/dev/vg/lv ro rd.lvm.lv=vg/lv rhgb quiet

[root@host-082 ~]# boom create --title myTitle --root-lv vg/lv
usage: boom [-h] [-b BOOT_ID] [--boot-dir PATH] [-B SUBVOL]
            [--btrfs-opts OPTS] [--debug DEBUGOPTS] [-e IMG] [-H] [-i IMG]
            [-k PATTERN] [-l IMG] [-L LV] [--lvm-opts OPTS] [-m MACHINE_ID]
            [-n OSNAME] [--nameprefixes] [--noheadings] [-o FIELDS]
            [--os-version OSVERSION] [-O SORTFIELDS] [-I OSVERSIONID]
            [--os-options OPTIONS] [--os-release OSRELEASE] [-p OS_ID]
            [-r ROOT] [-R PATTERN] [--rows] [--separator SEP] [-s OSSHORTNAME]
            [-t TITLE] [-u PATTERN] [-V] [-v VERSION]
            [TYPE] COMMAND [ID]
boom: error: unrecognized arguments: --root-lv vg/lv


Version-Release number of selected component (if applicable):
3.10.0-847.el7.x86_64

lvm2-2.02.177-2.el7    BUILT: Wed Feb  7 17:39:26 CET 2018
lvm2-libs-2.02.177-2.el7    BUILT: Wed Feb  7 17:39:26 CET 2018
lvm2-cluster-2.02.177-2.el7    BUILT: Wed Feb  7 17:39:26 CET 2018
lvm2-lockd-2.02.177-2.el7    BUILT: Wed Feb  7 17:39:26 CET 2018
lvm2-python-boom-0.8.3-2.el7    BUILT: Wed Feb  7 17:42:09 CET 2018
cmirror-2.02.177-2.el7    BUILT: Wed Feb  7 17:39:26 CET 2018
device-mapper-1.02.146-2.el7    BUILT: Wed Feb  7 17:39:26 CET 2018
device-mapper-libs-1.02.146-2.el7    BUILT: Wed Feb  7 17:39:26 CET 2018
device-mapper-event-1.02.146-2.el7    BUILT: Wed Feb  7 17:39:26 CET 2018
device-mapper-event-libs-1.02.146-2.el7    BUILT: Wed Feb  7 17:39:26 CET 2018
device-mapper-persistent-data-0.7.3-3.el7    BUILT: Tue Nov 14 12:07:18 CET 2017

Comment 3 Bryn M. Reeves 2018-02-08 10:21:01 UTC
I had this on a list for the last release but it got missed. I plant to make the no-dash versions aliases of every option. I get how annoying it is; I keep mis-typing --boot-id as --bootid.

Change is trivial and low-risk: just adding a 2nd long opt string to each option definition.

Comment 5 Bryn M. Reeves 2018-02-08 13:12:01 UTC
It's not easy in Python to auto-alias these, since it means monkey-patching the ArgumentParser class (fragile), but it's easy to define explicit aliases for them. I've added these upstream, so all --multi-word-opts now allow --multiwordopts too:

commit 15fdaff03420caf3d17d9e9bdfd5772e63c6ad19
Author: Bryn M. Reeves <bmr>
Date:   Thu Feb 8 11:28:45 2018 +0000

    boom: support long options with or without dash separator
    
    Make --longoption a synonym for --long-option for all multi-word
    long options accepted by boom.
    
    Signed-off-by: Bryn M. Reeves <bmr>

Comment 10 Corey Marthaler 2018-02-14 20:32:56 UTC
Marking verified in the latest rpms.

3.10.0-848.el7.x86_64

lvm2-2.02.177-3.el7    BUILT: Wed Feb 14 06:52:14 CST 2018
lvm2-libs-2.02.177-3.el7    BUILT: Wed Feb 14 06:52:14 CST 2018
lvm2-cluster-2.02.177-3.el7    BUILT: Wed Feb 14 06:52:14 CST 2018
lvm2-lockd-2.02.177-3.el7    BUILT: Wed Feb 14 06:52:14 CST 2018
lvm2-python-boom-0.8.4-3.el7    BUILT: Wed Feb 14 07:10:51 CST 2018
cmirror-2.02.177-3.el7    BUILT: Wed Feb 14 06:52:14 CST 2018
device-mapper-1.02.146-3.el7    BUILT: Wed Feb 14 06:52:14 CST 2018
device-mapper-libs-1.02.146-3.el7    BUILT: Wed Feb 14 06:52:14 CST 2018
device-mapper-event-1.02.146-3.el7    BUILT: Wed Feb 14 06:52:14 CST 2018
device-mapper-event-libs-1.02.146-3.el7    BUILT: Wed Feb 14 06:52:14 CST 2018
device-mapper-persistent-data-0.7.3-3.el7    BUILT: Tue Nov 14 05:07:18 CST 2017





Check 2. Verify --rootlv and --root-device varations are both accepted (Bug 1543188)

--rootlv: boom create --title 1 --rootlv /dev/snapper/boom_snap
boom list eab8c1c
BootID  Version                  Name                            RootDevice            
eab8c1c 3.10.0-848.el7.x86_64    Red Hat Enterprise Linux Server /dev/snapper/boom_snap
boom delete eab8c1c

--root-lv: boom create --title 2 --root-lv /dev/snapper/boom_snap
boom list 0066682
BootID  Version                  Name                            RootDevice            
0066682 3.10.0-848.el7.x86_64    Red Hat Enterprise Linux Server /dev/snapper/boom_snap
boom delete 0066682

--rootdevice: boom create --title 3 --rootdevice /dev/snapper/boom_snap
boom list abd5471
BootID  Version                  Name                            RootDevice            
abd5471 3.10.0-848.el7.x86_64    Red Hat Enterprise Linux Server /dev/snapper/boom_snap
boom delete abd5471

--root-device: boom create --title 4 --root-device /dev/snapper/boom_snap
boom list c6c5279
BootID  Version                  Name                            RootDevice            
c6c5279 3.10.0-848.el7.x86_64    Red Hat Enterprise Linux Server /dev/snapper/boom_snap
boom delete c6c5279

Comment 13 errata-xmlrpc 2018-04-10 15:25:23 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, 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/RHEA-2018:0853