Bug 1654583

Summary: ssm resize fails with python stack trace
Product: Red Hat Enterprise Linux 7 Reporter: nikhil kshirsagar <nkshirsa>
Component: system-storage-managerAssignee: Lukáš Czerner <lczerner>
Status: CLOSED ERRATA QA Contact: Boyang Xue <bxue>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.5CC: agk, lczerner, prajnoha, rhandlin, xzhou, zkabelac
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-08-06 12:55:09 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 nikhil kshirsagar 2018-11-29 07:15:22 UTC
Description of problem:
[root@cvmarc ~]# ssm resize -s +100%free /dev/rhel_cvmarc/root
Traceback (most recent call last):
  File "/usr/bin/ssm", line 48, in <module>
    sys.exit(main.main())
  File "/usr/lib/python2.7/site-packages/ssmlib/main.py", line 2110, in main
    args.func(args)
  File "/usr/lib/python2.7/site-packages/ssmlib/main.py", line 1150, in resize
    ret = args.volume['fs_info'].resize()
  File "/usr/lib/python2.7/site-packages/ssmlib/main.py", line 256, in resize
    return self._get_fs_func("resize", *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/ssmlib/main.py", line 246, in _get_fs_func
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/ssmlib/main.py", line 355, in xfs_resize
    new_size = int(new_size)
TypeError: int() argument must be a string or a number, not 'NoneType'

Version-Release number of selected component (if applicable):
system-storage-manager-0.4-7.el7.noarch

Steps to Reproduce:
see https://access.redhat.com/solutions/3606431

Comment 3 Jan Tulak 2018-11-29 09:26:46 UTC
I confirm I can reproduce the bug, and it isn't specific to RHEL.

Comment 4 Jan Tulak 2019-03-11 11:08:59 UTC
The upstream has a patch for this issue.

Comment 6 Boyang Xue 2019-03-20 04:49:12 UTC
TEST PASS.

Setup
---
[root@host-8-247-225 tests1minutetip_bringup]# ssm create --fs xfs -p ssm_vg -n ssm_lv /dev/loop1
  Physical volume "/dev/loop1" successfully created.
  Volume group "ssm_vg" successfully created
  Logical volume "ssm_lv" created.
meta-data=/dev/ssm_vg/ssm_lv     isize=512    agcount=4, agsize=130816 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=523264, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@host-8-247-225 tests1minutetip_bringup]# ssm list
-------------------------------------------------------------
Device         Free     Used     Total  Pool      Mount point
-------------------------------------------------------------
/dev/loop0  0.00 KB  5.00 GB   5.00 GB  lvm_pool
/dev/loop1  0.00 KB  2.00 GB   2.00 GB  ssm_vg
/dev/vda                      20.00 GB            PARTITIONED
/dev/vda1                     20.00 GB            /
-------------------------------------------------------------
--------------------------------------------------
Pool      Type  Devices     Free     Used    Total
--------------------------------------------------
lvm_pool  lvm   1        0.00 KB  5.00 GB  5.00 GB
ssm_vg    lvm   1        0.00 KB  2.00 GB  2.00 GB
--------------------------------------------------
------------------------------------------------------------------------------------------
Volume                 Pool      Volume size  FS    FS size      Free  Type    Mount point
------------------------------------------------------------------------------------------
/dev/lvm_pool/lvol001  lvm_pool      5.00 GB  xfs   4.99 GB   4.95 GB  linear  /media
/dev/ssm_vg/ssm_lv     ssm_vg        2.00 GB  xfs   1.99 GB   1.99 GB  linear
/dev/vda1                           20.00 GB  xfs  19.99 GB  14.28 GB  part    /
------------------------------------------------------------------------------------------
[root@host-8-247-225 tests1minutetip_bringup]# mkdir /ssmtest
[root@host-8-247-225 tests1minutetip_bringup]# mount /dev/ssm_vg/ssm_lv /ssmtest/
---

Reproduced with ssm version 0.4-8.el7
---
[root@host-8-247-225 tests1minutetip_bringup]# ssm resize -s +100%FREE /dev/ssm_vg/ssm_lv /dev/sdc
Traceback (most recent call last):
  File "/usr/bin/ssm", line 48, in <module>
    sys.exit(main.main())
  File "/usr/lib/python2.7/site-packages/ssmlib/main.py", line 2110, in main
    args.func(args)
  File "/usr/lib/python2.7/site-packages/ssmlib/main.py", line 1150, in resize
    ret = args.volume['fs_info'].resize()
  File "/usr/lib/python2.7/site-packages/ssmlib/main.py", line 256, in resize
    return self._get_fs_func("resize", *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/ssmlib/main.py", line 246, in _get_fs_func
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/ssmlib/main.py", line 355, in xfs_resize
    new_size = int(new_size)
TypeError: int() argument must be a string or a number, not 'NoneType'
---

Verified with ssm version 0.4-9.el7
---
[root@host-8-247-225 tests1minutetip_bringup]# ssm resize -s +100%FREE /dev/ssm_vg/ssm_lv /dev/sdc
meta-data=/dev/mapper/ssm_vg-ssm_lv isize=512    agcount=4, agsize=130816 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=523264, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
---

Comment 9 errata-xmlrpc 2019-08-06 12:55:09 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/RHBA-2019:2133