Public bug reported:

ubuntu 12.04 LTS, amd64
cgroup-bin                             0.37.1-1ubuntu10

1. cgconfig upstart job should start earlier.
/etc/init/cgconfig.conf contains this:
  start on runlevel [2345]
but should contain this (like cgroup-lite.conf does)
  start on mounted MOUNTPOINT=/sys

Why it's needed?  Imagine, I want cupsd to start with memory limit (cgroup 
called daemon-cups). To do this I edited configs:
/etc/cgconfig.conf
group daemon-cups {
    memory {
        memory.limit_in_bytes = 50M;
    }
}

 /etc/cgrules.conf
   root:/usr/sbin/cupsd memory          daemon-cups

Now, after computer rebooted, I can see that daemon-cups cgroup is created but 
cupsd isn't in daemon-cups cgroup tasks. It appears there only after:
  service cups restart

That's because cups service started earlier than cgred service (and cgred 
service starts on started cgconfig).
Than imagine what if lxc will somehow start earlier than cgconfig? No, it won't 
start at all. So, I think this should be fixed.

2. cgconfig should mount all available cgroup types by default.
Default /etc/cgconfig.conf contains these:
mount {
        cpu = /sys/fs//cgroup/cpu;
        cpuacct = /sys/fs/cgroup/cpuacct;
        devices = /sys/fs/cgroup/devices;
        memory = /sys/fs/cgroup/memory;
        freezer = /sys/fs/cgroup/freezer;
}

What if I  want to use LXC on the same machine and one container's config 
contains something like this:
  lxc.cgroup.cpuset.cpus = 1
Container will not start, because this cgroup type is not mounted by default 
with cgroup-bin package.
I think, the best way to fix this is to mount available cgroup fsystems via 
upstart job (the way cgroup-lite does it).  Another way is to change default 
/etc/cgconfig.conf (add mountpoints). But I would prefer the first solution 
(it's kernel independent).

3. After all these I'm asking you what is the reason of separation
cgroup-bin and cgroup-lite into different packages. Why not to just
disable cgrulesengd, cgconfigparser by default (using /etc/default
somehow)? For example, if I'm using LXC, I will likely be using
cgget/cgset or something.  And even if won't be using it what's wrong
with that these binaries are in my /usr/bin (100Kb)?

P.S.  cgconfig.conf : cpu = /sys/fs//cgroup/cpu; I believe double
slashes isn't needed here.

Thanks, hope it'll be fixed in LTS.

** Affects: libcgroup (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to libcgroup in Ubuntu.
https://bugs.launchpad.net/bugs/995956

Title:
  cgconfig upstart job should start earlier and mount all available
  cgroup types by default

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libcgroup/+bug/995956/+subscriptions

-- 
Ubuntu-server-bugs mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to