Red Hat Bugzilla – Bug 748354
[lxc]setmem will get wrong error message when cgroup is unmounted.
Last modified: 2013-09-08 20:03:35 EDT
Description of problem: setmem will get wrong error message when cgroup is unmounted. Version-Release number of selected component (if applicable): libvirt-0.9.4-19.el6.x86_64 qemu-kvm-0.12.1.2-2.196.el6.x86_64 kernel-2.6.32-207.el6.x86_64 How reproducible: 100% Steps to Reproduce: 1. make sure a running lxc application container and cgroup is mounted. 2. virsh -c lxc:/// aaa list Id Name State ---------------------------------- 6182 aaa running virsh -c lxc:/// aaa aaa Id: 6182 Name: aaa UUID: c2031d50-8629-00a5-c895-f3b3c2f7b96a OS Type: exe State: running CPU(s): 1 CPU time: 0.0s Max memory: 1048576 kB Used memory: 428 kB Persistent: yes Autostart: disable Managed save: unknown 3. unmount cgroup # /etc/init.d/cgconfig stop # /etc/init.d/libvirtd restart # lscgroup cgroups can't be listed: Cgroup is not mounted 4. setmem of the lxc guest # virsh -c lxc:/// setmem aaa 512000 error:this function is not supported by the connection driver: cgroups must be configured on the host # virsh -c lxc:/// dominfo aaa Id: 6182 Name: aaa UUID: c2031d50-8629-00a5-c895-f3b3c2f7b96a OS Type: exe State: running CPU(s): 1 Max memory: 1048576 kB Used memory: 1048576 kB Persistent: yes Autostart: disable Managed save: unknown in debug info: Actual results: Step4 error message is incorrect. Expected results: The error is not right, *_OPERATION_INVALID is proper error code, but the more sensiable error from cgroup detection is overridden, we need the error from cgroup detection but not this one.
Patch for upstream, but hasn't been backported to rhel6.2: commit 6ac47762bb9c3851b07eaa871bfaf7ccd6017147 Author: Osier Yang <jyang@redhat.com> Date: Tue Aug 23 16:17:10 2011 +0800 lxc: Cleanup improper VIR_ERR_NO_SUPPORT use s/VIR_ERR_NO_SUPPORT/VIR_ERR_OPERATION_INVALID/ Special case is changes on lxcDomainInterfaceStats, if it's not implemented on the platform, prints error like: lxcError(VIR_ERR_OPERATION_INVALID, "%s", _("interface stats not implemented on this platform")); As the function is supported by driver actually, error like VIR_ERR_NO_SUPPORT is confused.
This is already fixed in upstream, move to POST.
The bug has been fixed on libvirt-0.9.9-1.el6.x86_64: # virsh -c lxc:/// setmem toy 400000 error: Requested operation is not valid: cgroups must be configured on the host
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: No documentation needed.
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. http://rhn.redhat.com/errata/RHSA-2012-0748.html