Quoting Brian Campbell (lam...@continuation.org): > > On Feb 20, 2014, at 11:23 AM, Serge Hallyn <serge.hal...@ubuntu.com> wrote: > > > Quoting Brian Campbell (lam...@continuation.org): > >> On Feb 20, 2014, at 9:21 AM, Serge Hallyn <serge.hal...@ubuntu.com> wrote: > >> > >>> Quoting Brian Campbell (lam...@continuation.org): > >>>> On Feb 18, 2014, at 10:25 AM, Serge Hallyn <serge.hal...@ubuntu.com> > >>>> wrote: > >>>>> It looks like you're in the root cgroup and starting as non-root. > >>>>> Without being root you indeed do not have the rights to create new > >>>>> cgroups there. You'll need to either use lxc as root, or do something > >>>>> like > >>>>> > >>>>> for d in /sys/fs/cgroup/*; do > >>>>> sudo mkdir $d/lambda > >>>>> sudo chown -R lambda: $d/lambda > >>>>> echo $$ > $d/lambda/tasks > >>>>> done > >>>> > >>>> > >>>> Apologies for the slow followup, been a busy few days. > >>>> > >>>> Doing that gives me an error on the the cpuset cgroup (added an echo to > >>>> see which one it was): > >>>> > >>>> /sys/fs/cgroup/blkio/lambda > >>>> /sys/fs/cgroup/cpu/lambda > >>>> /sys/fs/cgroup/cpuacct/lambda > >>>> /sys/fs/cgroup/cpu,cpuacct/lambda > >>>> /sys/fs/cgroup/cpuset/lambda > >>>> -bash: echo: write error: No space left on device > >>>> /sys/fs/cgroup/devices/lambda > >>>> /sys/fs/cgroup/freezer/lambda > >>>> /sys/fs/cgroup/net_cls/lambda > >>>> /sys/fs/cgroup/perf_event/lambda > >>>> /sys/fs/cgroup/systemd/lambda > >>>> > >>>> I decided to see if it would work anyhow, but it still fails. Any clue > >>>> why cpuset would be failing? > >>> > >>> You need to either echo 1 > /sys/fs/cgroup/cpuset/cgroup.clone_children, > >>> or else manually cp cpuset.cpus and cpuset.mems from the parent to the > >>> child cgroup. Otherwise you cannot place a task into the cgroup. > >> > >> Yep, as I mentioned in my followup I figured that out (the manual part, I > >> hadn't noticed clone_children), and got a bit further, but it's still > >> failing: > >> > >> lxc-start 1392878417.586 INFO lxc_start_ui - using rcfile > >> /home/lambda/.local/share/lxc/precise-test/config > >> lxc-start 1392878417.586 INFO lxc_confile - read uid map: type u > >> nsid 0 hostid 100000 range 65536 > >> lxc-start 1392878417.586 INFO lxc_confile - read uid map: type g > >> nsid 0 hostid 100000 range 65536 > >> lxc-start 1392878417.586 WARN lxc_log - lxc_log_init called with > >> log already initialized > >> lxc-start 1392878417.586 INFO lxc_lsm - LSM security driver nop > >> lxc-start 1392878417.586 DEBUG lxc_conf - allocated pty > >> '/dev/pts/3' (5/6) > >> lxc-start 1392878417.586 DEBUG lxc_conf - allocated pty > >> '/dev/pts/4' (7/8) > >> lxc-start 1392878417.586 DEBUG lxc_conf - allocated pty > >> '/dev/pts/5' (9/10) > >> lxc-start 1392878417.586 DEBUG lxc_conf - allocated pty > >> '/dev/pts/6' (11/12) > >> lxc-start 1392878417.586 INFO lxc_conf - tty's configured > >> lxc-start 1392878417.587 DEBUG lxc_start - sigchild handler set > >> lxc-start 1392878417.587 DEBUG lxc_console - opening /dev/tty for > >> console peer > >> lxc-start 1392878417.587 INFO lxc_caps - Last supported cap was 34 > >> lxc-start 1392878417.587 DEBUG lxc_console - using '/dev/tty' as > >> console > >> lxc-start 1392878417.587 DEBUG lxc_console - 21308 got SIGWINCH fd > >> 17 > >> lxc-start 1392878417.587 DEBUG lxc_console - set winsz dstfd:14 > >> cols:161 rows:55 > >> lxc-start 1392878417.847 INFO lxc_start - 'precise-test' is > >> initialized > >> lxc-start 1392878417.875 DEBUG lxc_start - Not dropping > >> cap_sys_boot or watching utmp > >> lxc-start 1392878417.875 INFO lxc_start - Cloning a new user > >> namespace > >> lxc-start 1392878417.875 INFO lxc_cgroup - cgroup driver cgroupfs > >> initing for precise-test > >> lxc-start 1392878417.876 ERROR lxc_cgfs - Operation not permitted - > >> Could not add pid 21330 to cgroup /lambda/precise-test: internal error > >> lxc-start 1392878417.909 ERROR lxc_start - failed to spawn > >> 'precise-test' > >> > >> After changing that error to provide a little more information, I found > >> that the full path is: > >> > >> lxc-start: Operation not permitted - Could not add pid 23235 to cgroup > >> /sys/fs/cgroup/devices/lambda/precise-test/tasks > > > > Urgh, I'm not sure, but this stuff gets tedious so doing it by hand it's > > easy to overlook something (especially after one step has partially > > failed). > > > > I just tested on a clean system without cgmanager. I installed > > cgroup-lite and did the following on command line: > > > > for d in /sys/fs/cgroup/*; do > > f=$(basename $d) > > echo "looking at $f" > > if [ "$f" = "cpuset" ]; then > > echo 1 | sudo tee -a $d/cgroup.clone_children; > > elif [ "$f" = "memory" ]; then > > echo 1 | sudo tee -a $d/memory.use_hierarchy; > > fi > > sudo mkdir -p $d/$USER > > sudo chown -R $USER $d/$USER > > echo $$ > $d/$USER/tasks > > done > > > > After this I was able to do an unprivileged lxc-start. Can you > > try rebooting then cut-pasting and running the above? > > Sure. If I'm going to reboot anyhow, would it be easier to just set this up > using systemd-logind? Do I just add all of the cgroup controllers to the > "Controllers=" setting in logind.conf?
Not sure why I suggested rebooting - it shouldn't be necessary. But if you want to do that sure, that should work. _______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel