cgroup-bin prevents libvirt from starting
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libcgroup (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
It should not start cgred if cgred is not already started. In fact it should not deal with cgred at all. Rather it should wait until cgconfig is started. That is when we know cgconfig's prestart - which is where the reclassification of all tasks is done - has completed.
With the current libvirt-
#!/bin/bash
p=`pidof libvirtd`
echo "task: $p"
cat /proc/$p/cgroup
echo -n "threads:"
for t in `/bin/ls /proc/$p/task`; do
echo -n $t
done
echo
echo "Cgroups:"
for t in `/bin/ls /proc/$p/task`; do
echo -n "$t: "
cat /proc/$t/cgroup
echo
done
This shows that while the parent libvirt task is in /sysdefault, all its thread are still in /. After doing 'stop libvirt-bin; start libvirt-bin' all tasks are in sysdefault.
By using the attached /etc/init/
Related branches
Changed in libcgroup (Ubuntu): | |
status: | New → In Progress |
importance: | Undecided → Critical |
tags: | added: patch |
summary: |
- libvirt-cgred-wait.conf is broken + cgroup-bin prevents libvirt from starting |
While the libvirt- cgred-wait. conf problem is real, there is another problem.
According to upstart debub output, cgconfig is running twice. Every time it runs, it reclassifies all tasks, moving them first to '/' and then to '/sysdefault'.