On Sat, May 31, 2014 at 8:11 PM, S.Çağlar Onur <cag...@10ur.org> wrote: > On Fri, May 30, 2014 at 11:54 PM, S.Çağlar Onur <cag...@10ur.org> wrote: >> On Fri, May 30, 2014 at 6:41 PM, Serge Hallyn <serge.hal...@ubuntu.com> >> wrote: >>> Quoting Serge Hallyn (serge.hal...@ubuntu.com): >>>> Quoting S.Çağlar Onur (cag...@10ur.org): >>>> > On Wed, May 28, 2014 at 8:32 PM, S.Çağlar Onur <cag...@10ur.org> wrote: >>>> > > Hi Serge, >>>> > > >>>> > > On Tue, May 27, 2014 at 5:24 PM, Serge Hallyn >>>> > > <serge.hal...@ubuntu.com> wrote: >>>> > >> Originally we kept snapshots under /var/lib/lxcsnaps. If a >>>> > >> separate btrfs is mounted at /var/lib/lxc, then we can't >>>> > >> make btrfs snapshots under /var/lib/lxcsnaps. >>>> > >> >>>> > >> This patch moves the default directory to /var/lib/lxc/c/snaps. >>>> > >> If /var/lib/lxcsnaps already exists, then we continue to use that. >>>> > >> >>>> > >> add c->destroy_with_snapshots() and c->snapshot_destroy_all() >>>> > >> API methods. c->snashot_destroy_all() can be triggered from >>>> > >> lxc-snapshot using '-d ALL'. There is no command to call >>>> > >> c->destroy_with_snapshots(c) as of yet. >>>> > >> >>>> > >> lxclock: use ".$lxcname" for container lock files >>>> > >> that way we can use /run/lock/lxc/$lxcpath/$lxcname/snaps as a >>>> > >> directory when locking snapshots without having to worry about >>>> > >> /run/lock//lxc/$lxcpath/$lxcname being a file. >>>> > >> >>>> > >> destroy: split off a container_destroy >>>> > >> container_destroy() doesn't check for snapshots, so snapshot_rename >>>> > >> can >>>> > >> use it. api_destroy() now does check for snapshots (previously it >>>> > >> only >>>> > >> checked for fs - i.e. overlayfs/aufs - snapshots). >>>> > >> >>>> > >> Add destroy to the manpage, as it was previously undocumented. >>>> > >> >>>> > >> Update snapshot testcase accordingly. >>>> > >> >>>> > >> Signed-off-by: Serge Hallyn <serge.hal...@ubuntu.com> >>>> > > >>>> > > This version is not cleanly getting applied on top of current master >>>> > > so I ended up modifying the patch locally. I might have introduced a >>>> > > problem or two while doing that cause my tests started to fail with >>>> > > this. Unfortunately I haven't been able to find some time to debug it >>>> > > further. Will try again and catch you on irc tomorrow. >>>> > >>>> > So I found why my tests are failing and my first reaction was blaming >>>> > the Go bindings but then I realized that python bindings are also not >>>> > working. Somehow this patch is causing create to fail and I'm not >>>> > seeing how. Please see below, same thing happens with Go (a file named >>>> > as template argument appears in the directory but nothing else >>>> > happens) but lxc-create works just fine. >>>> > >>>> > [caglar@qop:~/t] pwd >>>> > /home/caglar/t >>>> > [caglar@qop:~/t] sudo lxc-ls >>>> > [caglar@qop:~/t] ls >>>> > [caglar@qop:~/t] sudo python3 >>>> > Python 3.4.0 (default, Apr 11 2014, 13:05:11) >>>> > [GCC 4.8.2] on linux >>>> > Type "help", "copyright", "credits" or "license" for more information. >>>> > >>> import lxc >>>> > >>> c = lxc.Container("r") >>>> > >>> c.create("ubuntu") >>>> > True >>>> > >>> >>>> > [caglar@qop:~/t] cat ubuntu >>>> > lxc.network.type = veth >>>> > lxc.network.flags = up >>>> > lxc.network.link = lxcbr0 >>>> > lxc.network.hwaddr = 00:16:3e:e6:0b:a0 >>>> >>>> Hey, >>>> >>>> ok so I tried to reproduce this just now and couldn't. Which tree did >>>> you apply this to? Can you maybe push the result as a git tree? Before >>> >>> Or, the whole tree I originally was using is at git://github.com/hallyn >>> #snaps5 >> >> I was testing this patch on top of current master (head is at >> c83462d56d). I have limited connectivity right now but I'll push it to >> a branch tomorrow and will let you know. > > I pushed it to a branch called serge at https://github.com/caglar10ur/lxc > > As a sanity check, I started with current master which was working > fine then installed the branch and problem appeared again
Serge, I believe you can ignore this problem for now. Looks like it is not an issue if you do a fresh compilation. To reproduce, you need to start with compiling master (and then installing it on to your system) and then applying your patch on top of that and do a make followed by make install. My tests started to pass again expect one where I restore a snapshot as a new container. I'll debug more to see whether it's related with LXC or Go bindings cause as long as I see lxc-snapshot command works fine for that case. > [caglar@qop:~] mkdir t > [caglar@qop:~] cd t > /home/caglar/t > [caglar@qop:~/t] sudo lxc-ls > [caglar@qop:~/t] sudo python3 > Python 3.4.0 (default, Apr 11 2014, 13:05:11) > [GCC 4.8.2] on linux > Type "help", "copyright", "credits" or "license" for more information. >>>> import lxc >>>> c = lxc.Container("t") >>>> c.create("ubuntu") > Checking cache download in /var/cache/lxc/trusty/rootfs-amd64 ... > Copy /var/cache/lxc/trusty/rootfs-amd64 to /var/lib/lxc/t/rootfs ... > Copying rootfs to /var/lib/lxc/t/rootfs ... > Generating locales... > en_US.UTF-8... up-to-date > Generation complete. > Creating SSH2 RSA key; this may take some time ... > Creating SSH2 DSA key; this may take some time ... > Creating SSH2 ECDSA key; this may take some time ... > Creating SSH2 ED25519 key; this may take some time ... > update-rc.d: warning: default stop runlevel arguments (0 1 6) do not > match ssh Default-Stop values (none) > invoke-rc.d: policy-rc.d denied execution of start. > > Current default time zone: 'America/New_York' > Local time is now: Sat May 31 20:08:44 EDT 2014. > Universal Time is now: Sun Jun 1 00:08:44 UTC 2014. > > > ## > # The default user is 'ubuntu' with password 'ubuntu'! > # Use the 'sudo' command to run tasks as root in the container. > ## > > True >>>> > [caglar@qop:~/t] sudo lxc-destroy -n t > > [caglar@qop:~/t] cd /home/caglar/Projects/lxc > [caglar@qop:~/Projects/lxc(serge)] sudo make install > [...] > [caglar@qop:~/Projects/lxc(serge)] cd /home/caglar/t > [caglar@qop:~/t] > > [caglar@qop:~/t] sudo lxc-destroy -n t > [caglar@qop:~/t] sudo python3 > Python 3.4.0 (default, Apr 11 2014, 13:05:11) > [GCC 4.8.2] on linux > Type "help", "copyright", "credits" or "license" for more information. >>>> import lxc >>>> c = lxc.Container("t") >>>> c.create("ubuntu") > True >>>> > [caglar@qop:~/t] ls > ubuntu > [caglar@qop:~/t] cat ubuntu > lxc.network.type = veth > lxc.network.flags = up > lxc.network.link = lxcbr0 > lxc.network.hwaddr = 00:16:3e:35:4e:31 > [caglar@qop:~/t] > > > >>>> I was just building from git and had no problems. This time I >>>> pushed against >>>> https://launchpad.net/~ubuntu-lxc/+archive/daily/+files/lxc_1.0.3%2Bmaster%7E20140525-1523-0ubuntu1%7Etrusty.dsc >>>> (which required some twiddling as the ppa appears to be out of date), >>>> but still creation through the api is working fine for me. Tried >>>> both busybox and ubuntu templates. >>>> >>>> Is it possible that you installed in a way that there are no available >>>> templates (or they are in the wrong place)? Still doesn't explain >>>> why 'ubuntu' would show up in your current path... >>> _______________________________________________ >>> lxc-devel mailing list >>> lxc-devel@lists.linuxcontainers.org >>> http://lists.linuxcontainers.org/listinfo/lxc-devel >> >> >> >> -- >> S.Çağlar Onur <cag...@10ur.org> > > > > -- > S.Çağlar Onur <cag...@10ur.org> -- S.Çağlar Onur <cag...@10ur.org> _______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel