Bugzilla (bugzilla.redhat.com) will be under maintenance for infrastructure upgrades and will not be available on July 31st between 12:30 AM - 05:30 AM UTC. We appreciate your understanding and patience. You can follow status.redhat.com for details.
Bug 1566818 - Cannot trigger ValueError(_("cpuset can only contain numeric, ',', '^', or '-' characters"))
Summary: Cannot trigger ValueError(_("cpuset can only contain numeric, ',', '^', or '-...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: virt-manager
Version: 7.5
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: rc
: ---
Assignee: Pavel Hrdina
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-04-13 03:51 UTC by Xiaodai Wang
Modified: 2019-08-06 13:08 UTC (History)
4 users (show)

Fixed In Version: virt-manager-1.5.0-2.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-08-06 13:07:59 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2019:2232 0 None None None 2019-08-06 13:08:11 UTC

Description Xiaodai Wang 2018-04-13 03:51:49 UTC
Description of problem:
Cannot trigger ValueError(_("cpuset can only contain numeric, ',', '^', or '-' characters"))

Version-Release number of selected component (if applicable):
virt-manager-1.4.3-3.el7.noarch

How reproducible:
100%

Steps to Reproduce:
1) set cpuset to "1@2" and run below command.
#virt-install --name test1 --memory 1024 --disk /var/lib/libvirt/images/aaa.qcow2 --import --vcpus vcpus=1,cpuset="1@2" --debug

Actual results:
[Fri, 13 Apr 2018 11:44:03 virt-install 19007] ERROR (cli:317) Error: --vcpus vcpus=1,cpuset=1@2: invalid literal for int() with base 10: '1@2'
[Fri, 13 Apr 2018 11:44:03 virt-install 19007] DEBUG (cli:319) 
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtinst/cli.py", line 1204, in parse
    objs = self._parse(inst or self.guest)
  File "/usr/share/virt-manager/virtinst/cli.py", line 1565, in _parse
    ret = VirtCLIParser._parse(self, inst)
  File "/usr/share/virt-manager/virtinst/cli.py", line 1172, in _parse
    param.parse_param(self, inst, self.support_cb)
  File "/usr/share/virt-manager/virtinst/cli.py", line 928, in parse_param
    self.val, self)
  File "/usr/share/virt-manager/virtinst/cli.py", line 1546, in set_cpuset_cb
    inst.cpuset = val
  File "/usr/share/virt-manager/virtinst/xmlbuilder.py", line 655, in setter
    self._validate_cb(xmlbuilder, val)
  File "/usr/share/virt-manager/virtinst/guest.py", line 185, in _validate_cpuset
    DomainNumatune.validate_cpuset(self.conn, val)
  File "/usr/share/virt-manager/virtinst/domainnumatune.py", line 68, in validate_cpuset
    c = int(c)
ValueError: invalid literal for int() with base 10: '1@2'


Expected results:
Below error should be triggered.

raise ValueError(_("cpuset can only contain numeric, ',', '^', or "
                               "'-' characters"))
Additional info:
re.match("^[0-9,-^]*$", val) has problem. It should be re.match("^[0-9,\-^]*$", val).

Comment 1 Pavel Hrdina 2018-05-22 17:08:09 UTC
Upstream commit:

commit 5b2774b27aa84850de7c1328fb6d9d3682db7003
Author: Pavel Hrdina <phrdina@redhat.com>
Date:   Tue May 22 13:56:23 2018 +0200

    numatune: fix validate_cpuset regexp

Comment 3 Pavel Hrdina 2019-02-27 17:23:11 UTC
There is a better fix in upstream that removes the validation completely as it is also done by libvirt:

commit 39a7cbbad750656a7d89694c3b0341a5ae98d346
Author: Cole Robinson <crobinso@redhat.com>
Date:   Mon Jun 4 14:30:26 2018 -0400

    domain.numatune: Drop cpuset validation

Comment 6 ysu@redhat.com 2019-05-08 07:45:12 UTC
I can reproduce this issue with package:
virt-manager-1.4.3-3.el7.noarch

Then try to verify this bug with new build:
virt-manager-1.5.0-3.el7.noarch
virt-install-1.5.0-3.el7.noarch
libvirt-4.5.0-16.el7.x86_64
qemu-kvm-rhev-2.12.0-27.el7.x86_64
libvirt-python-4.5.0-1.el7.x86_64

Steps:
1.Check that the correct error report can be triggered:
1.1 virt-install --name test1 --memory 1024 --disk /var/lib/libvirt/images/aaa.qcow2 --import --vcpus vcpus=1,cpuset="1@2" 

ERROR    invalid argument: Failed to parse bitmap '1@2'

Result:The correct error report has been triggered successfully.
I move this bug from ON_QA to VERIFIED based on above testing.

Comment 8 errata-xmlrpc 2019-08-06 13:07:59 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:2232


Note You need to log in before you can comment on or make changes to this bug.