Bug 1566818
| Summary: | Cannot trigger ValueError(_("cpuset can only contain numeric, ',', '^', or '-' characters")) | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Xiaodai Wang <xiaodwan> |
| Component: | virt-manager | Assignee: | Pavel Hrdina <phrdina> |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | low | Docs Contact: | |
| Priority: | low | ||
| Version: | 7.5 | CC: | juzhou, mxie, mzhan, tzheng |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | virt-manager-1.5.0-2.el7 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2019-08-06 13:07:59 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: | |||
Upstream commit:
commit 5b2774b27aa84850de7c1328fb6d9d3682db7003
Author: Pavel Hrdina <phrdina>
Date: Tue May 22 13:56:23 2018 +0200
numatune: fix validate_cpuset regexp
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>
Date: Mon Jun 4 14:30:26 2018 -0400
domain.numatune: Drop cpuset validation
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. 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 |
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).