Bug 1257486

Summary: libvirt could have a check to host node during use numatune
Product: Red Hat Enterprise Linux 7 Reporter: Luyao Huang <lhuang>
Component: libvirtAssignee: Libvirt Maintainers <libvirt-maint>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: low Docs Contact:
Priority: low    
Version: 7.2CC: dyuan, mzhan, rbalakri
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-1.3.1-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-03 18:23:12 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 Luyao Huang 2015-08-27 07:58:19 UTC
Description of problem:
libvirt could have a check to host node during use numatune

Version-Release number of selected component (if applicable):
libvirt-1.2.17-6.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. prepare a running guest and bind guest to a invalid nodeset:

# virsh numatune test3 0 100
error: Unable to change numa parameters
error: Invalid value '100' for 'cpuset.mems': Invalid argument


2.
3.

Actual results:
libvirt do not check if the node is available then try to set the node to cgroup
 
Expected results:

just like when we start a guest with invalid nodeset:

# virsh start test3
error: Failed to start domain test3
error: unsupported configuration: NUMA node 100 is unavailable


Additional info:

Upstream patch could fix this:

commit c8e5177303f1b17a5e3116c6a8693391a3539bb9
Author: Luyao Huang <lhuang>
Date:   Fri Aug 14 17:37:28 2015 +0800

    qemu: add a check for nodeset in qemuDomainSetNumaParamsLive

v1.2.18-175-gc8e5177

Comment 2 Luyao Huang 2016-06-01 09:22:18 UTC
Verify this bug with libvirt-1.3.4-1.el7.x86_64:

1. prepare a running guest:

# virsh list --all
 Id    Name                           State
----------------------------------------------------
 59    rhel72-test                    running

2. bind guest mem to a invalid nodeset:

# numactl --hard
available: 4 nodes (0-3)
node 0 cpus: 0 2 4 6 8 10
node 0 size: 10205 MB
node 0 free: 3750 MB
node 1 cpus: 12 14 16 18 20 22
node 1 size: 8192 MB
node 1 free: 4045 MB
node 2 cpus: 1 3 5 7 9 11
node 2 size: 6144 MB
node 2 free: 5501 MB
node 3 cpus: 13 15 17 19 21 23
node 3 size: 8175 MB
node 3 free: 7059 MB
node distances:
node   0   1   2   3 
  0:  10  20  20  20 
  1:  20  10  20  20 
  2:  20  20  10  20 
  3:  20  20  20  10 

# virsh numatune rhel72-test 0 1000
error: Unable to change numa parameters
error: unsupported configuration: NUMA node 1000 is unavailable

# virsh numatune rhel72-test 0 4
error: Unable to change numa parameters
error: unsupported configuration: NUMA node 4 is unavailable

Comment 4 errata-xmlrpc 2016-11-03 18:23:12 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://rhn.redhat.com/errata/RHSA-2016-2577.html