Re: [Lxc-users] lxc-clone -B lvm -L, bug?

2013-07-10 Thread Serge Hallyn
Quoting zoolook (nbensa+lxcus...@gmail.com):
 LXC version: 0.9.0.0~staging~20130708-2041-0ubuntu1~ppa1~raring1
 
 
 Hello,
 
 there's an inconsistency between lxc-create --fssize and lxc-clone -L.
 
 lxc-create --fssize accepts size in GB. For example, --fssize 2G
 mease 2GB (or 2GiB, my brain hurts with all that GB vs GiB stupidity
 but that's another story.)
 
 lxc-clone -L accepts size _only_ in B. In other words, ignores G.

Yup.  You can see the local functions for parsing the fssize in
lxc_clone.c and lxc_create.c.  Patch to commonize and improve them
would be very welcome.

 lxc-clone -s -B lvm -L2G...  returns: Unable to create new logical
 volume with no extents
 
 
 sysadmin@lxc0:~$ sudo lvs
   LV   VG   Attr LSize Pool Origin
 Data%  Move Log Copy%  Convert
   lxc-test2-root   vg_vmstorage owi-a-s- 1,95g
   lxc-test2x2-root vg_vmstorage swi-a-s- 2,05g  lxc-test2-root
 0,00
   lxc-test4x2-root vg_vmstorage swi-a-s- 1,95g  lxc-test2-root
 0,00
 
 
 test2 was created with --fssize 2G
 test2x2 cloned without -L (note 1,95g vs 2,05g, GB vs GiB? :-) )
 test4x2 cloned with -L 20 (doesn't accept -L2G)
 
 
 Thanks!
 Norberto
 
 --
 See everything from the browser to the database with AppDynamics
 Get end-to-end visibility with application monitoring from AppDynamics
 Isolate bottlenecks and diagnose root cause in seconds.
 Start your free trial of AppDynamics Pro today!
 http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk
 ___
 Lxc-users mailing list
 Lxc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/lxc-users

--
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone -B lvm -L, bug?

2013-07-10 Thread zoolook
 lxc-clone -L accepts size _only_ in B. In other words, ignores G.

 Yup.  You can see the local functions for parsing the fssize in
 lxc_clone.c and lxc_create.c.  Patch to commonize and improve them
 would be very welcome.

Thanks. I'll take a look when I get back home.

--
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


[Lxc-users] lxc-clone -B lvm -L, bug?

2013-07-09 Thread zoolook
LXC version: 0.9.0.0~staging~20130708-2041-0ubuntu1~ppa1~raring1


Hello,

there's an inconsistency between lxc-create --fssize and lxc-clone -L.

lxc-create --fssize accepts size in GB. For example, --fssize 2G
mease 2GB (or 2GiB, my brain hurts with all that GB vs GiB stupidity
but that's another story.)

lxc-clone -L accepts size _only_ in B. In other words, ignores G.

lxc-clone -s -B lvm -L2G...  returns: Unable to create new logical
volume with no extents


sysadmin@lxc0:~$ sudo lvs
  LV   VG   Attr LSize Pool Origin
Data%  Move Log Copy%  Convert
  lxc-test2-root   vg_vmstorage owi-a-s- 1,95g
  lxc-test2x2-root vg_vmstorage swi-a-s- 2,05g  lxc-test2-root
0,00
  lxc-test4x2-root vg_vmstorage swi-a-s- 1,95g  lxc-test2-root
0,00


test2 was created with --fssize 2G
test2x2 cloned without -L (note 1,95g vs 2,05g, GB vs GiB? :-) )
test4x2 cloned with -L 20 (doesn't accept -L2G)


Thanks!
Norberto

--
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone -s -B lvm, deletes original lv if no space left!

2013-06-21 Thread Serge Hallyn
Quoting zoolook (nbensa+lxcus...@gmail.com):
 Hi Serge,
 
 
 On Tue, Jun 18, 2013 at 5:57 PM, zoolook nbensa+lxcus...@gmail.com wrote:
  On Tue, Jun 18, 2013 at 5:39 PM, Serge Hallyn serge.hal...@ubuntu.com 
  wrote:
  Exactly what code (git commit id or distro+pkg) are you using?
 
 
  Installed: 0.9.0.0~staging~20130612-1544-0ubuntu1~ppa1~raring1
 
 
 on saucy, with ppa:ubuntu-lxc/daily
 (0.9.0.0~staging~20130612-1544-0ubuntu1~ppa1~saucy1), no patches
 applied.
 
 sysadmin@lxc3:~$ sudo lvs
   LV VG   Attr  LSize Pool Origin Data%  Move
 Log Copy%  Convert
   lxc-test1-root vg_vmstorage -wi-a 7,81g
 
 sysadmin@lxc3:~$ sudo lxc-clone -s -p /srv/lxc -P /srv/lxc -o test1 -n test101
   Volume group vg_vmstorage has insufficient free space (617
 extents): 2097 required.
 lxc: could not create /dev/vg_vmstorage/lxc-test101-root snapshot of

all right, not sure why yet, but the naming of your rootfs is somehow
causing the problem.  I was able to reproduce this when I renamed my
test101 rootfs to xxx-test101-xxx.

I'll look into why later today.  Thanks!

Note, this points out that I need a sanity check in lxc-clone.  If the
rootfs doesn't have the container name in it, we should refuse cloning
or simply change it to $newcontainername, bc we don't know how to go
about it.  Now your case should be allowed because it has the container
name in it, so we can rename it.

-serge

--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone -s -B lvm, deletes original lv if no space left!

2013-06-21 Thread Serge Hallyn
Quoting Serge Hallyn (serge.hal...@ubuntu.com):
 Quoting zoolook (nbensa+lxcus...@gmail.com):
  Hi Serge,
  
  
  On Tue, Jun 18, 2013 at 5:57 PM, zoolook nbensa+lxcus...@gmail.com wrote:
   On Tue, Jun 18, 2013 at 5:39 PM, Serge Hallyn serge.hal...@ubuntu.com 
   wrote:
   Exactly what code (git commit id or distro+pkg) are you using?
  
  
   Installed: 0.9.0.0~staging~20130612-1544-0ubuntu1~ppa1~raring1
  
  
  on saucy, with ppa:ubuntu-lxc/daily
  (0.9.0.0~staging~20130612-1544-0ubuntu1~ppa1~saucy1), no patches
  applied.
  
  sysadmin@lxc3:~$ sudo lvs
LV VG   Attr  LSize Pool Origin Data%  Move
  Log Copy%  Convert
lxc-test1-root vg_vmstorage -wi-a 7,81g
  
  sysadmin@lxc3:~$ sudo lxc-clone -s -p /srv/lxc -P /srv/lxc -o test1 -n 
  test101
Volume group vg_vmstorage has insufficient free space (617
  extents): 2097 required.
  lxc: could not create /dev/vg_vmstorage/lxc-test101-root snapshot of
 
 all right, not sure why yet, but the naming of your rootfs is somehow
 causing the problem.  I was able to reproduce this when I renamed my
 test101 rootfs to xxx-test101-xxx.
 
 I'll look into why later today.  Thanks!

Oh I see the problem.  The update_name_and_paths() only replaces
the container name if it is a whole word.

Need to think about whether it is safe to change that.  (What if the
container name is 'c'?)

--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone -s -B lvm, deletes original lv if no space left!

2013-06-21 Thread Serge Hallyn
Quoting Serge Hallyn (serge.hal...@ubuntu.com):
 Quoting Serge Hallyn (serge.hal...@ubuntu.com):
  Quoting zoolook (nbensa+lxcus...@gmail.com):
   Hi Serge,
   
   
   On Tue, Jun 18, 2013 at 5:57 PM, zoolook nbensa+lxcus...@gmail.com 
   wrote:
On Tue, Jun 18, 2013 at 5:39 PM, Serge Hallyn serge.hal...@ubuntu.com 
wrote:
Exactly what code (git commit id or distro+pkg) are you using?
   
   
Installed: 0.9.0.0~staging~20130612-1544-0ubuntu1~ppa1~raring1
   
   
   on saucy, with ppa:ubuntu-lxc/daily
   (0.9.0.0~staging~20130612-1544-0ubuntu1~ppa1~saucy1), no patches
   applied.
   
   sysadmin@lxc3:~$ sudo lvs
 LV VG   Attr  LSize Pool Origin Data%  Move
   Log Copy%  Convert
 lxc-test1-root vg_vmstorage -wi-a 7,81g
   
   sysadmin@lxc3:~$ sudo lxc-clone -s -p /srv/lxc -P /srv/lxc -o test1 -n 
   test101
 Volume group vg_vmstorage has insufficient free space (617
   extents): 2097 required.
   lxc: could not create /dev/vg_vmstorage/lxc-test101-root snapshot of
  
  all right, not sure why yet, but the naming of your rootfs is somehow
  causing the problem.  I was able to reproduce this when I renamed my
  test101 rootfs to xxx-test101-xxx.
  
  I'll look into why later today.  Thanks!
 
 Oh I see the problem.  The update_name_and_paths() only replaces
 the container name if it is a whole word.
 
 Need to think about whether it is safe to change that.  (What if the
 container name is 'c'?)

For that matter, if you call your original container lxc or rootfs,
you're gonna have a bad time.

So I think I will make sure to only update anything after an '='.  Maybe
even only in certain lines (lxc.hook, lxc.root, lxc.mount, etc).  Then
make sure to accept '-' as word splitter.  Then do the patch to not
remove rootfs if we haven't created it yet.

-serge

--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone -s -B lvm, deletes original lv if no space left!

2013-06-18 Thread zoolook
Hello Serge,

On Mon, Jun 17, 2013 at 4:43 PM, Serge Hallyn serge.hal...@ubuntu.com wrote:

 Haven't tested, but the following should fix it:


Unfortunately, your patch didn't fix it. I put a fprintf in lxcapi_destroy:


if (r) {
fprintf(stderr,!!! removing %s for  %s !!!\n,
c-lxc_conf-rootfs.path, c-name);
if (r-ops-destroy(r)  0) {
ERROR(Error destroying rootfs for %s, c-name);
goto out;
}
}


And I get:


sysadmin@lxc0:~/lxc/lxc-0.9.0.0~staging~20130612-1544$ sudo lxc-clone
-s -B lvm -p /srv/lxc -P /srv/lxc -o test1 -n test101
  Volume group vg_vmstorage has insufficient free space (617
extents): 2097 required.
lxc: could not create /dev/vg_vmstorage/lxc-test101-root snapshot of
/dev/vg_vmstorage/lxc-test1-root
lxc: failed getting pathnames for cloned storage:
/dev/vg_vmstorage/lxc-test1-root

lxc: error copying storage
!!! removing /dev/vg_vmstorage/lxc-test1-root for  test101 !!!
File descriptor 3 (/run/lock/lxc/srv/lxc/test101) leaked on lvremove
invocation. Parent PID 3784: lxc-clone
  Logical volume lxc-test1-root successfully removed
lxc: _recursive_rmdir_onedev: failed to delete /srv/lxc/test101
clone failed


Note that test101 rootfs should be lxc-test101-root, not
lxc-test1-root. So my swag is you meant:

c2-lxc_conf-rootfs.path = NULL;

Instead of:

c-lxc_conf-rootfs.path = NULL;


Is this correct?

With that small typo (?) fixed, my test now passes, but I'll feel more
confident if you can review it.


Thanks!
Norberto

--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone -s -B lvm, deletes original lv if no space left!

2013-06-18 Thread Serge Hallyn
Quoting zoolook (nbensa+lxcus...@gmail.com):
 Hello Serge,
 
 On Mon, Jun 17, 2013 at 4:43 PM, Serge Hallyn serge.hal...@ubuntu.com wrote:
 
  Haven't tested, but the following should fix it:
 
 
 Unfortunately, your patch didn't fix it. I put a fprintf in lxcapi_destroy:
 
 
 if (r) {
 fprintf(stderr,!!! removing %s for  %s !!!\n,
 c-lxc_conf-rootfs.path, c-name);
 if (r-ops-destroy(r)  0) {
 ERROR(Error destroying rootfs for %s, c-name);
 goto out;
 }
 }
 
 
 And I get:
 
 
 sysadmin@lxc0:~/lxc/lxc-0.9.0.0~staging~20130612-1544$ sudo lxc-clone
 -s -B lvm -p /srv/lxc -P /srv/lxc -o test1 -n test101
   Volume group vg_vmstorage has insufficient free space (617
 extents): 2097 required.
 lxc: could not create /dev/vg_vmstorage/lxc-test101-root snapshot of
 /dev/vg_vmstorage/lxc-test1-root
 lxc: failed getting pathnames for cloned storage:
 /dev/vg_vmstorage/lxc-test1-root
 
 lxc: error copying storage
 !!! removing /dev/vg_vmstorage/lxc-test1-root for  test101 !!!
 File descriptor 3 (/run/lock/lxc/srv/lxc/test101) leaked on lvremove
 invocation. Parent PID 3784: lxc-clone
   Logical volume lxc-test1-root successfully removed
 lxc: _recursive_rmdir_onedev: failed to delete /srv/lxc/test101
 clone failed
 
 
 Note that test101 rootfs should be lxc-test101-root, not
 lxc-test1-root. So my swag is you meant:
 
 c2-lxc_conf-rootfs.path = NULL;

Uh, yeah.  I did :)

 Instead of:
 
 c-lxc_conf-rootfs.path = NULL;
 
 
 Is this correct?
 
 With that small typo (?) fixed, my test now passes, but I'll feel more
 confident if you can review it.

Great, I'm setting up a test vm for it, then will push it out.  Thanks!

Though, I'm currently trying to reproduce with the lxc in ubuntu-lxc
saucy ppa, and failing.  It's not deleting the original lv for me.  I
just see:

serge@ubuntu:~$ sudo lxc-clone -o x1 -n x2
  Volume group lxc has insufficient free space (559 extents): 2097 required.
lxc: Error creating new lvm blockdev
lxc: failed getting pathnames for cloned storage: /dev/lxc/x1

lxc: error copying storage
clone failed
serge@ubuntu:~$ sudo lvscan
  ACTIVE'/dev/lxc/x1' [7.81 GiB] inherit

thanks,
-serge

--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone -s -B lvm, deletes original lv if no space left!

2013-06-18 Thread zoolook
On Tue, Jun 18, 2013 at 1:09 PM, Serge Hallyn serge.hal...@ubuntu.com wrote:
 Though, I'm currently trying to reproduce with the lxc in ubuntu-lxc
 saucy ppa, and failing.  It's not deleting the original lv for me.  I
 just see:

Maybe the fact that I don't use the default lxc vg name? :-)

I can test sausy tonight if you want. Just give some time to download
the iso and setup a vm.

Regards,
Norberto

--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone -s -B lvm, deletes original lv if no space left!

2013-06-18 Thread Serge Hallyn
Quoting zoolook (nbensa+lxcus...@gmail.com):
 On Tue, Jun 18, 2013 at 1:09 PM, Serge Hallyn serge.hal...@ubuntu.com wrote:
  Though, I'm currently trying to reproduce with the lxc in ubuntu-lxc
  saucy ppa, and failing.  It's not deleting the original lv for me.  I
  just see:
 
 Maybe the fact that I don't use the default lxc vg name? :-)

No, not that.  Looking at the lxcapi_clone() function, it calls
update_name_and_paths() before we ever create c2, and that function
updates the lxc.rootfs in the configuration file.  So when I run
lxc-clone -o p1 -n p2, it actually looks for /dev/vg0/p2 to destroy.

Exactly what code (git commit id or distro+pkg) are you using?

-serge

--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone -s -B lvm, deletes original lv if no space left!

2013-06-18 Thread zoolook
On Tue, Jun 18, 2013 at 5:39 PM, Serge Hallyn serge.hal...@ubuntu.com wrote:
 Quoting zoolook (nbensa+lxcus...@gmail.com):
 On Tue, Jun 18, 2013 at 1:09 PM, Serge Hallyn serge.hal...@ubuntu.com 
 wrote:
  Though, I'm currently trying to reproduce with the lxc in ubuntu-lxc
  saucy ppa, and failing.  It's not deleting the original lv for me.  I
  just see:

 Maybe the fact that I don't use the default lxc vg name? :-)

 No, not that.  Looking at the lxcapi_clone() function, it calls
 update_name_and_paths() before we ever create c2, and that function
 updates the lxc.rootfs in the configuration file.  So when I run
 lxc-clone -o p1 -n p2, it actually looks for /dev/vg0/p2 to destroy.

 Exactly what code (git commit id or distro+pkg) are you using?


Installed: 0.9.0.0~staging~20130612-1544-0ubuntu1~ppa1~raring1

--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone -s -B lvm, deletes original lv if no space left!

2013-06-18 Thread zoolook
Hi Serge,


On Tue, Jun 18, 2013 at 5:57 PM, zoolook nbensa+lxcus...@gmail.com wrote:
 On Tue, Jun 18, 2013 at 5:39 PM, Serge Hallyn serge.hal...@ubuntu.com wrote:
 Exactly what code (git commit id or distro+pkg) are you using?


 Installed: 0.9.0.0~staging~20130612-1544-0ubuntu1~ppa1~raring1


on saucy, with ppa:ubuntu-lxc/daily
(0.9.0.0~staging~20130612-1544-0ubuntu1~ppa1~saucy1), no patches
applied.

sysadmin@lxc3:~$ sudo lvs
  LV VG   Attr  LSize Pool Origin Data%  Move
Log Copy%  Convert
  lxc-test1-root vg_vmstorage -wi-a 7,81g

sysadmin@lxc3:~$ sudo lxc-clone -s -p /srv/lxc -P /srv/lxc -o test1 -n test101
  Volume group vg_vmstorage has insufficient free space (617
extents): 2097 required.
lxc: could not create /dev/vg_vmstorage/lxc-test101-root snapshot of
/dev/vg_vmstorage/lxc-test1-root
lxc: failed getting pathnames for cloned storage:
/dev/vg_vmstorage/lxc-test1-root

lxc: error copying storage
File descriptor 3 (/run/lock/lxc/srv/lxc/test101) leaked on lvremove
invocation. Parent PID 2436: lxc-clone
  Logical volume lxc-test1-root successfully removed
lxc: _recursive_rmdir_onedev: failed to delete /srv/lxc/test101
clone failed

sysadmin@lxc3:~$ sudo lvs


and BTW, why do I get lxc: _recursive_rmdir_onedev: failed to
delete? I need to rm -rf /path/to/container. Same behaviour with
lxc-destroy.

Thanks!
Norberto

--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


[Lxc-users] lxc-clone -s -B lvm, deletes original lv if no space left!

2013-06-17 Thread zoolook
Hello,

this is one is weird. lxc-clone removes the original volume if there's
no space to create a snapshot for the clone

ii  lxc 0.9.0.0~staging~2013 amd64
   Linux Containers userspace tools


sysadmin@lxc0:~$ sudo lxc-clone -s -B lvm -p /srv/lxc -P /srv/lxc -o
test1 -n test101
  Volume group vg_vmstorage has insufficient free space (617
extents): 2097 required.
lxc: could not create /dev/vg_vmstorage/lxc-test101-root snapshot of
/dev/vg_vmstorage/lxc-test1-root
lxc: failed getting pathnames for cloned storage:
/dev/vg_vmstorage/lxc-test1-root

lxc: error copying storage
File descriptor 3 (/run/lock/lxc/srv/lxc/test101) leaked on lvremove
invocation. Parent PID 2301: lxc-clone
  Logical volume lxc-test1-root successfully removed
lxc: _recursive_rmdir_onedev: failed to delete /srv/lxc/test101
clone failed


The vg is small (10GB). The original container is 8G. It's a test
cluster so no damage is done.

Thanks!

--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


[Lxc-users] lxc clone onto the host

2012-07-29 Thread calerius D'Souza
I have a service that is running inside container perfectly. I had deployed
it using node.js package manager (npm). Now I wanted to run the service on
the host itself instead of the container due to some disk space issues I am
running into.

Is there a way like lxc-clone that clones the container to the host itself,
instead of cloning to another container.

Thanks
calerius
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc clone onto the host

2012-07-29 Thread Fajar A. Nugraha
On Mon, Jul 30, 2012 at 9:59 AM, calerius D'Souza caler...@gmail.com wrote:
 I have a service that is running inside container perfectly. I had deployed
 it using node.js package manager (npm). Now I wanted to run the service on
 the host itself instead of the container due to some disk space issues I am
 running into.

Why don't you simply add disk space to the container?


 Is there a way like lxc-clone that clones the container to the host itself,
 instead of cloning to another container.

It wouldn't make sense, since cloning would overwrite everything. It's
like asking can I format my currently running root filesystem?

-- 
Fajar

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone

2011-08-29 Thread Serge Hallyn
Quoting Ramez Hanna (rha...@informatiq.org):
 Hi,
 
 I have started using lxc to setup a pre-production system instead of KVM
 at first glance clone seemd to me that it would copy everything to a new roots
 but turns out that in case of LVM it will snapshot
 AFAIK snapshots are meant more for backup or testing some changes and
 discarding them later
 do you think it makes sense if I modify the script in this way
 if user doesn't specify -s, then a new lv is created and copy all
 comtents to it, rather than snapshot which would work if user uses the
 -s option?

Yes, I guess I didn't implement that bit yet, but not specifying -s was
meant to do a simple copy.  You'll probably want to check whether the
original was a simple directory tree or an lvm, and only lvcreate if the
original was an lvm.  (then lxc-convert can offer conversion from one to
the other.)

-serge

--
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management 
Up to 160% more powerful than alternatives and 25% more efficient. 
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone

2011-08-29 Thread Ramez Hanna
On Mon, Aug 29, 2011 at 4:19 PM, Serge Hallyn
serge.hal...@canonical.com wrote:
 Quoting Ramez Hanna (rha...@informatiq.org):
 Hi,

 I have started using lxc to setup a pre-production system instead of KVM
 at first glance clone seemd to me that it would copy everything to a new 
 roots
 but turns out that in case of LVM it will snapshot
 AFAIK snapshots are meant more for backup or testing some changes and
 discarding them later
 do you think it makes sense if I modify the script in this way
 if user doesn't specify -s, then a new lv is created and copy all
 comtents to it, rather than snapshot which would work if user uses the
 -s option?

 Yes, I guess I didn't implement that bit yet, but not specifying -s was
 meant to do a simple copy.  You'll probably want to check whether the
 original was a simple directory tree or an lvm, and only lvcreate if the
 original was an lvm.  (then lxc-convert can offer conversion from one to
 the other.)

 -serge


I did implemet that
patch submitted yesterday, would appreciate any comments

--
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better 
price-free! And you'll get a free Love Thy Logs t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone

2011-08-24 Thread Ramez Hanna
Hi,

I have started using lxc to setup a pre-production system instead of KVM
at first glance clone seemd to me that it would copy everything to a new roots
but turns out that in case of LVM it will snapshot
AFAIK snapshots are meant more for backup or testing some changes and
discarding them later
do you think it makes sense if I modify the script in this way
if user doesn't specify -s, then a new lv is created and copy all
comtents to it, rather than snapshot which would work if user uses the
-s option?

On Tue, Jun 21, 2011 at 8:58 PM, Serge Hallyn
serge.hal...@canonical.com wrote:
 Hi Daniel,

 Quoting Daniel Lezcano (daniel.lezc...@free.fr):
 +echo Tweaking configuration
 +cp $lxc_path/$lxc_orig/config $lxc_path/$lxc_new/config
 +sed -i '/lxc.utsname/d' $lxc_path/$lxc_new/config
 +echo lxc.utsname = $hostname   $lxc_path/$lxc_new/config
 We should not assume lxc.utsname is in the configuration file in
 order to not write a hostname in all the cases.
 The user may want to let the container to setup itself the hostname.
 What do you think is the best way to do this?  We could allow the user
 to specify a 'firstboot' script, which gets copied into root directory
 of the container.   Maybe boot the container when it's done, run
 /firstboot.sh, and shut down.  Or just let that happen when the user
 first boots.  We could use a /etc/init.d/lxc-firstboot script, but
 that will only work if the container's init system actually looks at
 sysvinit scripts.  Obviously sysvinit and upstart do, and I must
 assume that systemd does.  lxc-init I assume doesn't.

 Mmh, that's look a bit complicate for the user. I was thinking about
 something simpler like:

 grep -q lxc.utsname $lxc_path/$lxc_new/config
 if [ $? == 0 ]; then
     sed -e s/lxc.utsname/lxc.utsname=$hostname $lxc_path/$lxc_new/config
 else
     echo lxc.utsname = $hostname $lxc_path/$lxc_new/config
 fi

 I started changing my code to this, but now am wondering how this
 differs from what I was doing, which was:

 sed -i '/lxc.utsname/d' $lxc_path/$lxc_new/config
 echo lxc.utsname = $hostname  $lxc_path/$lxc_new/config

 The only difference is that in mine, if the original config had a
 hostname at top of file, it'll now be at bottom of file.  But with
 both your snippets and mine, the 'lxc.utsname = new_hostname' will
 be the one and only utsname in the config.

 If you still think it's worth changing I'll do so, but I like that
 mine is shorter.

 -serge

 --
 EditLive Enterprise is the world's most technically advanced content
 authoring tool. Experience the power of Track Changes, Inline Image
 Editing and ensure content is compliant with Accessibility Checking.
 http://p.sf.net/sfu/ephox-dev2dev
 ___
 Lxc-users mailing list
 Lxc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/lxc-users


--
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management 
Up to 160% more powerful than alternatives and 25% more efficient. 
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone

2011-06-21 Thread Serge Hallyn
Hi Daniel,

Quoting Daniel Lezcano (daniel.lezc...@free.fr):
 +echo Tweaking configuration
 +cp $lxc_path/$lxc_orig/config $lxc_path/$lxc_new/config
 +sed -i '/lxc.utsname/d' $lxc_path/$lxc_new/config
 +echo lxc.utsname = $hostname   $lxc_path/$lxc_new/config
 We should not assume lxc.utsname is in the configuration file in
 order to not write a hostname in all the cases.
 The user may want to let the container to setup itself the hostname.
 What do you think is the best way to do this?  We could allow the user
 to specify a 'firstboot' script, which gets copied into root directory
 of the container.   Maybe boot the container when it's done, run
 /firstboot.sh, and shut down.  Or just let that happen when the user
 first boots.  We could use a /etc/init.d/lxc-firstboot script, but
 that will only work if the container's init system actually looks at
 sysvinit scripts.  Obviously sysvinit and upstart do, and I must
 assume that systemd does.  lxc-init I assume doesn't.
 
 Mmh, that's look a bit complicate for the user. I was thinking about
 something simpler like:
 
 grep -q lxc.utsname $lxc_path/$lxc_new/config
 if [ $? == 0 ]; then
 sed -e s/lxc.utsname/lxc.utsname=$hostname $lxc_path/$lxc_new/config
 else
 echo lxc.utsname = $hostname $lxc_path/$lxc_new/config
 fi

I started changing my code to this, but now am wondering how this
differs from what I was doing, which was:

sed -i '/lxc.utsname/d' $lxc_path/$lxc_new/config
echo lxc.utsname = $hostname  $lxc_path/$lxc_new/config

The only difference is that in mine, if the original config had a
hostname at top of file, it'll now be at bottom of file.  But with
both your snippets and mine, the 'lxc.utsname = new_hostname' will
be the one and only utsname in the config.

If you still think it's worth changing I'll do so, but I like that
mine is shorter.

-serge

--
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone

2011-04-18 Thread Daniel Lezcano
On 04/06/2011 04:05 PM, Serge E. Hallyn wrote:
 Quoting Daniel Lezcano (daniel.lezc...@free.fr):
 What do you think is the best way to do this?  We could allow the user
 to specify a 'firstboot' script, which gets copied into root directory
 of the container.   Maybe boot the container when it's done, run
 /firstboot.sh, and shut down.  Or just let that happen when the user
 first boots.  We could use a /etc/init.d/lxc-firstboot script, but
 that will only work if the container's init system actually looks at
 sysvinit scripts.  Obviously sysvinit and upstart do, and I must
 assume that systemd does.  lxc-init I assume doesn't.
 Mmh, that's look a bit complicate for the user. I was thinking about
 something simpler like:

 grep -q lxc.utsname $lxc_path/$lxc_new/config
 if [ $? == 0 ]; then
  sed -e s/lxc.utsname/lxc.utsname=$hostname $lxc_path/$lxc_new/config
 else
  echo lxc.utsname = $hostname  $lxc_path/$lxc_new/config
 fi

 and so for the rest of the configuration variables.
 Ok, yeah, that'll be necessary and independent of the distro.  But I
 do think a firstboot option will be useful both for -clone and -create.
 It can be totally optional so as not to confuse those who don't want
 it.

I am not sure to understand what is for the 'firstboot' option. Can you 
elaborate a bit ?

--
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone

2011-04-06 Thread Daniel Lezcano
On 04/05/2011 02:52 PM, Serge Hallyn wrote:
 Quoting Daniel Lezcano (daniel.lezc...@free.fr):
 I think more configuration tweaking will be needed but this patch
 looks good for me.
 I'm hoping to set up a machine on which to play with lxc on btrfs
 snapshots sometime this week.  (In the background, starting the
 build now).

Nice :)

 +echo Tweaking configuration
 +cp $lxc_path/$lxc_orig/config $lxc_path/$lxc_new/config
 +sed -i '/lxc.utsname/d' $lxc_path/$lxc_new/config
 +echo lxc.utsname = $hostname   $lxc_path/$lxc_new/config
 We should not assume lxc.utsname is in the configuration file in
 order to not write a hostname in all the cases.
 The user may want to let the container to setup itself the hostname.
 What do you think is the best way to do this?  We could allow the user
 to specify a 'firstboot' script, which gets copied into root directory
 of the container.   Maybe boot the container when it's done, run
 /firstboot.sh, and shut down.  Or just let that happen when the user
 first boots.  We could use a /etc/init.d/lxc-firstboot script, but
 that will only work if the container's init system actually looks at
 sysvinit scripts.  Obviously sysvinit and upstart do, and I must
 assume that systemd does.  lxc-init I assume doesn't.

Mmh, that's look a bit complicate for the user. I was thinking about 
something simpler like:

grep -q lxc.utsname $lxc_path/$lxc_new/config
if [ $? == 0 ]; then
 sed -e s/lxc.utsname/lxc.utsname=$hostname $lxc_path/$lxc_new/config
else
 echo lxc.utsname = $hostname $lxc_path/$lxc_new/config
fi

and so for the rest of the configuration variables.

I suspect the configuration tweaks will be more complicated than that..

For example:

lxc.network.veth.peer = veth1234

should be removed or replaced by a random name.

But we can improve the different configuration tweaks later.

 Thanks for looking it over, Daniel.  I'm using this heavily every day,
 so am really keen on polishing it :)

Thanks for this command, I think it is very useful.

By the way, did the lxc.rootfs=lvm_image worked ?

Thanks

   -- Daniel

--
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone

2011-04-06 Thread Serge E. Hallyn
Quoting Daniel Lezcano (daniel.lezc...@free.fr):
 What do you think is the best way to do this?  We could allow the user
 to specify a 'firstboot' script, which gets copied into root directory
 of the container.   Maybe boot the container when it's done, run
 /firstboot.sh, and shut down.  Or just let that happen when the user
 first boots.  We could use a /etc/init.d/lxc-firstboot script, but
 that will only work if the container's init system actually looks at
 sysvinit scripts.  Obviously sysvinit and upstart do, and I must
 assume that systemd does.  lxc-init I assume doesn't.
 
 Mmh, that's look a bit complicate for the user. I was thinking about
 something simpler like:
 
 grep -q lxc.utsname $lxc_path/$lxc_new/config
 if [ $? == 0 ]; then
 sed -e s/lxc.utsname/lxc.utsname=$hostname $lxc_path/$lxc_new/config
 else
 echo lxc.utsname = $hostname $lxc_path/$lxc_new/config
 fi
 
 and so for the rest of the configuration variables.

Ok, yeah, that'll be necessary and independent of the distro.  But I
do think a firstboot option will be useful both for -clone and -create.
It can be totally optional so as not to confuse those who don't want
it.

 I suspect the configuration tweaks will be more complicated than that..
 
 For example:
 
 lxc.network.veth.peer = veth1234
 
 should be removed or replaced by a random name.

Sigh, yeah.

 But we can improve the different configuration tweaks later.

Phes :)

 Thanks for looking it over, Daniel.  I'm using this heavily every day,
 so am really keen on polishing it :)
 
 Thanks for this command, I think it is very useful.
 
 By the way, did the lxc.rootfs=lvm_image worked ?

Yup!

Now, to do btrfs (I got sidetracked and won't be able to get to it this
week probably), we will probably want to be able to specify a bind
mount source.  That way we can mount a btrfs somewhere like /opt/lxc.
Otherwise IIRC the way btrfs works we won't be able to create a snapshot
from /var/lib/lxc/natty/rootfs for /var/lib/lxc/n2/rootfs, because the
snapshots are are created as sibling directories.

Can you think of a clean way to do that or add that to the current config
format?

thanks,
-serge


signature.asc
Description: Digital signature
--
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev___
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users


Re: [Lxc-users] lxc-clone

2011-04-05 Thread Daniel Lezcano
On 03/30/2011 06:29 PM, Serge E. Hallyn wrote:
 I've replaced most of my previous use of kvm and cloud instances for bug
 investigations with lxc instances.  To emulate my older workflows, I've
 created lxc-clone.  My diff against the current natty lxc package is
 attached.  I've written up how I use this at s3hh.wordpress.com.  Briefly,
 I have a single pristine container, with LVM rootfs, for each of lucid,
 maverick, and natty.  When I want a container, I

   lxc-clone -o natty -n n1 -s
   lxc-start -n n1

 which takes about 5 seconds altogether.  Ruin n1 however I like, and

   lxc-destroy -l -n n1

 when done.

 It needs fleshing out, but it's at the point where it does exactly what
 I need.  The next thing I'm likely to add will be btrfs snapshotting,
 not sure when.

 Daniel, is this something you'd consider adding?  I assume that if so,
 then there are changes you'd like to make to the interface :)

Hi Serge,

yes, it is an interesting feature, thanks for the patch.

I think more configuration tweaking will be needed but this patch looks 
good for me.

 === modified file 'configure.ac'
 --- configure.ac  2011-03-10 07:25:34 +
 +++ configure.ac  2011-03-30 15:36:58 +
 @@ -156,6 +156,7 @@
   src/lxc/lxc-setuid
   src/lxc/lxc-version
   src/lxc/lxc-create
 + src/lxc/lxc-clone
   src/lxc/lxc-destroy

   ])

 === modified file 'lxc.spec'

It should be lxc.spec.in

 --- lxc.spec  2011-03-10 07:25:34 +
 +++ lxc.spec  2011-03-30 15:36:58 +
 @@ -78,6 +78,7 @@
   %{_bindir}/*
   %attr(4111,root,root) %{_bindir}/lxc-attach
   %attr(4111,root,root) %{_bindir}/lxc-create
 +%attr(4111,root,root) %{_bindir}/lxc-clone
   %attr(4111,root,root) %{_bindir}/lxc-start
   %attr(4111,root,root) %{_bindir}/lxc-netstat
   %attr(4111,root,root) %{_bindir}/lxc-unshare

 === modified file 'src/lxc/Makefile.am'
 --- src/lxc/Makefile.am   2011-03-10 07:25:34 +
 +++ src/lxc/Makefile.am   2011-03-30 15:36:58 +
 @@ -72,6 +72,7 @@
   lxc-setuid \
   lxc-version \
   lxc-create \
 + lxc-clone \
   lxc-destroy

   bin_PROGRAMS = \

 === modified file 'src/lxc/Makefile.in'

Makefile.in is generated. I suppose it is the diff command which 
integrated the configure and Makefile.in in the diff result.


 === added file 'src/lxc/lxc-clone.in'
 --- src/lxc/lxc-clone.in  1970-01-01 00:00:00 +
 +++ src/lxc/lxc-clone.in  2011-03-30 15:36:58 +
 @@ -0,0 +1,206 @@
 +#!/bin/bash
 +
 +#
 +# lxc: linux Container library
 +
 +# Authors:
 +# Serge Hallynserge.hal...@ubuntu.com
 +# Daniel Lezcanodaniel.lezc...@free.fr
 +
 +# This library is free software; you can redistribute it and/or
 +# modify it under the terms of the GNU Lesser General Public
 +# License as published by the Free Software Foundation; either
 +# version 2.1 of the License, or (at your option) any later version.
 +
 +# This library is distributed in the hope that it will be useful,
 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 +# Lesser General Public License for more details.
 +
 +# You should have received a copy of the GNU Lesser General Public
 +# License along with this library; if not, write to the Free Software
 +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 +
 +usage() {
 +echo usage: lxc-clone -oorig  -nnew  [-s] [-h] [-L fssize] [-v 
 vgname]
 +}
 +
 +help() {
 +usage
 +echo
 +echo creates a lxc system object.
 +echo
 +echo Options:
 +echo orig: name of the original container
 +echo new : name of the new container
 +echo -s  : make the new rootfs a snapshot of the original
 +echo fssize  : size if creating a new fs.  By default, 2G
 +echo vgname  : lvm volume group name, lxc by default
 +}
 +
 +shortoptions='ho:n:sL:v:'
 +longoptions='help,orig:,name:,snapshot,fssize,vgname'
 +lxc_path=/var/lib/lxc
 +bindir=/usr/bin
 +snapshot=no
 +lxc_size=2G
 +lxc_vg=lxc
 +
 +getopt=$(getopt -o $shortoptions --longoptions  $longoptions -- $@)
 +if [ $? != 0 ]; then
 +usage
 +exit 1;
 +fi
 +
 +eval set -- $getopt
 +
 +while true; do
 +case $1 in
 + -h|--help)
 + help
 + exit 1
 + ;;
 + -s|--snapshot)
 + shift
 + snapshot=yes
 + ;;
 + -o|--orig)
 + shift
 + lxc_orig=$1
 + shift
 + ;;
 + -L|--fssize)
 + shift
 + lxc_size=$1
 + shift
 + ;;
 + -v|--vgname)
 + shift
 + lxc_vg=$1
 + shift
 + ;;
 + -n|--new)
 + shift
 + lxc_new=$1
 + shift
 + ;;
 +--)
 + shift
 + break;;
 +*)
 + echo $1
 + usage
 +  

Re: [Lxc-users] lxc-clone

2011-03-31 Thread matthew byers
I saw this on the blog. Very useful and time saver. Exactly what alot of
pople were looking for.

On Wed, Mar 30, 2011 at 7:29 PM, Serge E. Hallyn serge.hal...@ubuntu.comwrote:

 I've replaced most of my previous use of kvm and cloud instances for bug
 investigations with lxc instances.  To emulate my older workflows, I've
 created lxc-clone.  My diff against the current natty lxc package is
 attached.  I've written up how I use this at s3hh.wordpress.com.  Briefly,
 I have a single pristine container, with LVM rootfs, for each of lucid,
 maverick, and natty.  When I want a container, I

lxc-clone -o natty -n n1 -s
lxc-start -n n1

 which takes about 5 seconds altogether.  Ruin n1 however I like, and

lxc-destroy -l -n n1

 when done.

 It needs fleshing out, but it's at the point where it does exactly what
 I need.  The next thing I'm likely to add will be btrfs snapshotting,
 not sure when.

 Daniel, is this something you'd consider adding?  I assume that if so,
 then there are changes you'd like to make to the interface :)

 thanks,
 -serge

 === modified file 'configure'
 --- configure   2011-03-10 07:25:34 +
 +++ configure   2011-03-30 15:36:58 +
 @@ -5057,7 +5057,7 @@
   CFLAGS=$CFLAGS -Wall
  fi

 -ac_config_files=$ac_config_files Makefile lxc.pc lxc.spec config/Makefile
 doc/Makefile doc/lxc-create.sgml doc/lxc-destroy.sgml doc/lxc-execute.sgml
 doc/lxc-start.sgml doc/lxc-checkpoint.sgml doc/lxc-restart.sgml
 doc/lxc-stop.sgml doc/lxc-console.sgml doc/lxc-freeze.sgml
 doc/lxc-unfreeze.sgml doc/lxc-monitor.sgml doc/lxc-wait.sgml doc/lxc-ls.sgml
 doc/lxc-ps.sgml doc/lxc-cgroup.sgml doc/lxc-kill.sgml doc/lxc.conf.sgml
 doc/lxc.sgml doc/common_options.sgml doc/see_also.sgml doc/rootfs/Makefile
 doc/examples/Makefile doc/examples/lxc-macvlan.conf
 doc/examples/lxc-vlan.conf doc/examples/lxc-no-netns.conf
 doc/examples/lxc-empty-netns.conf doc/examples/lxc-phys.conf
 doc/examples/lxc-veth.conf doc/examples/lxc-complex.conf templates/Makefile
 templates/lxc-lenny templates/lxc-debian templates/lxc-lucid
 templates/lxc-maverick templates/lxc-natty templates/lxc-busybox
 templates/lxc-fedora templates/lxc-sshd src/Makefile src/lxc/Makefile
 src/lxc/lxc-ps src/lxc/lxc-ls src/lxc/lxc-netstat src/lxc/lxc-checkconfig
 src/lxc/lxc-setcap src/lxc/lxc-setuid src/lxc/lxc-version src/lxc/lxc-create
 src/lxc/lxc-destroy
 +ac_config_files=$ac_config_files Makefile lxc.pc lxc.spec config/Makefile
 doc/Makefile doc/lxc-create.sgml doc/lxc-destroy.sgml doc/lxc-execute.sgml
 doc/lxc-start.sgml doc/lxc-checkpoint.sgml doc/lxc-restart.sgml
 doc/lxc-stop.sgml doc/lxc-console.sgml doc/lxc-freeze.sgml
 doc/lxc-unfreeze.sgml doc/lxc-monitor.sgml doc/lxc-wait.sgml doc/lxc-ls.sgml
 doc/lxc-ps.sgml doc/lxc-cgroup.sgml doc/lxc-kill.sgml doc/lxc.conf.sgml
 doc/lxc.sgml doc/common_options.sgml doc/see_also.sgml doc/rootfs/Makefile
 doc/examples/Makefile doc/examples/lxc-macvlan.conf
 doc/examples/lxc-vlan.conf doc/examples/lxc-no-netns.conf
 doc/examples/lxc-empty-netns.conf doc/examples/lxc-phys.conf
 doc/examples/lxc-veth.conf doc/examples/lxc-complex.conf templates/Makefile
 templates/lxc-lenny templates/lxc-debian templates/lxc-lucid
 templates/lxc-maverick templates/lxc-natty templates/lxc-busybox
 templates/lxc-fedora templates/lxc-sshd src/Makefile src/lxc/Makefile
 src/lxc/lxc-ps src/lxc/lxc-ls src/lxc/lxc-netstat src/lxc/lxc-checkconfig
 src/lxc/lxc-setcap src/lxc/lxc-setuid src/lxc/lxc-version src/lxc/lxc-create
 src/lxc/lxc-clone src/lxc/lxc-destroy

  ac_config_commands=$ac_config_commands default

 @@ -5842,6 +5842,7 @@
 src/lxc/lxc-setuid) CONFIG_FILES=$CONFIG_FILES src/lxc/lxc-setuid
 ;;
 src/lxc/lxc-version) CONFIG_FILES=$CONFIG_FILES src/lxc/lxc-version
 ;;
 src/lxc/lxc-create) CONFIG_FILES=$CONFIG_FILES src/lxc/lxc-create
 ;;
 +src/lxc/lxc-clone) CONFIG_FILES=$CONFIG_FILES src/lxc/lxc-clone ;;
 src/lxc/lxc-destroy) CONFIG_FILES=$CONFIG_FILES src/lxc/lxc-destroy
 ;;
 default) CONFIG_COMMANDS=$CONFIG_COMMANDS default ;;


 === modified file 'configure.ac'
 --- configure.ac2011-03-10 07:25:34 +
 +++ configure.ac2011-03-30 15:36:58 +
 @@ -156,6 +156,7 @@
src/lxc/lxc-setuid
src/lxc/lxc-version
src/lxc/lxc-create
 +   src/lxc/lxc-clone
src/lxc/lxc-destroy

  ])

 === modified file 'lxc.spec'
 --- lxc.spec2011-03-10 07:25:34 +
 +++ lxc.spec2011-03-30 15:36:58 +
 @@ -78,6 +78,7 @@
  %{_bindir}/*
  %attr(4111,root,root) %{_bindir}/lxc-attach
  %attr(4111,root,root) %{_bindir}/lxc-create
 +%attr(4111,root,root) %{_bindir}/lxc-clone
  %attr(4111,root,root) %{_bindir}/lxc-start
  %attr(4111,root,root) %{_bindir}/lxc-netstat
  %attr(4111,root,root) %{_bindir}/lxc-unshare

 === modified file 'src/lxc/Makefile.am'
 --- src/lxc/Makefile.am 2011-03-10 07:25:34 +
 +++ src/lxc/Makefile.am 2011-03-30 15:36:58 +
 @@ -72,6 +72,7 @@
lxc-setuid \
lxc-version \
lxc-create \
 +   

[Lxc-users] lxc-clone

2011-03-30 Thread Serge E. Hallyn
I've replaced most of my previous use of kvm and cloud instances for bug
investigations with lxc instances.  To emulate my older workflows, I've
created lxc-clone.  My diff against the current natty lxc package is
attached.  I've written up how I use this at s3hh.wordpress.com.  Briefly,
I have a single pristine container, with LVM rootfs, for each of lucid,
maverick, and natty.  When I want a container, I

lxc-clone -o natty -n n1 -s
lxc-start -n n1

which takes about 5 seconds altogether.  Ruin n1 however I like, and

lxc-destroy -l -n n1

when done.

It needs fleshing out, but it's at the point where it does exactly what
I need.  The next thing I'm likely to add will be btrfs snapshotting,
not sure when.

Daniel, is this something you'd consider adding?  I assume that if so,
then there are changes you'd like to make to the interface :)

thanks,
-serge

=== modified file 'configure'
--- configure   2011-03-10 07:25:34 +
+++ configure   2011-03-30 15:36:58 +
@@ -5057,7 +5057,7 @@
   CFLAGS=$CFLAGS -Wall
 fi
 
-ac_config_files=$ac_config_files Makefile lxc.pc lxc.spec config/Makefile 
doc/Makefile doc/lxc-create.sgml doc/lxc-destroy.sgml doc/lxc-execute.sgml 
doc/lxc-start.sgml doc/lxc-checkpoint.sgml doc/lxc-restart.sgml 
doc/lxc-stop.sgml doc/lxc-console.sgml doc/lxc-freeze.sgml 
doc/lxc-unfreeze.sgml doc/lxc-monitor.sgml doc/lxc-wait.sgml doc/lxc-ls.sgml 
doc/lxc-ps.sgml doc/lxc-cgroup.sgml doc/lxc-kill.sgml doc/lxc.conf.sgml 
doc/lxc.sgml doc/common_options.sgml doc/see_also.sgml doc/rootfs/Makefile 
doc/examples/Makefile doc/examples/lxc-macvlan.conf doc/examples/lxc-vlan.conf 
doc/examples/lxc-no-netns.conf doc/examples/lxc-empty-netns.conf 
doc/examples/lxc-phys.conf doc/examples/lxc-veth.conf 
doc/examples/lxc-complex.conf templates/Makefile templates/lxc-lenny 
templates/lxc-debian templates/lxc-lucid templates/lxc-maverick 
templates/lxc-natty templates/lxc-busybox templates/lxc-fedora 
templates/lxc-sshd src/Makefile src/lxc/Makefile src/lxc/lxc-ps src/lxc/lxc-ls 
src/lxc/lxc-netstat src/lxc/lxc-checkconfig src/lxc/lxc-setcap 
src/lxc/lxc-setuid src/lxc/lxc-version src/lxc/lxc-create src/lxc/lxc-destroy
+ac_config_files=$ac_config_files Makefile lxc.pc lxc.spec config/Makefile 
doc/Makefile doc/lxc-create.sgml doc/lxc-destroy.sgml doc/lxc-execute.sgml 
doc/lxc-start.sgml doc/lxc-checkpoint.sgml doc/lxc-restart.sgml 
doc/lxc-stop.sgml doc/lxc-console.sgml doc/lxc-freeze.sgml 
doc/lxc-unfreeze.sgml doc/lxc-monitor.sgml doc/lxc-wait.sgml doc/lxc-ls.sgml 
doc/lxc-ps.sgml doc/lxc-cgroup.sgml doc/lxc-kill.sgml doc/lxc.conf.sgml 
doc/lxc.sgml doc/common_options.sgml doc/see_also.sgml doc/rootfs/Makefile 
doc/examples/Makefile doc/examples/lxc-macvlan.conf doc/examples/lxc-vlan.conf 
doc/examples/lxc-no-netns.conf doc/examples/lxc-empty-netns.conf 
doc/examples/lxc-phys.conf doc/examples/lxc-veth.conf 
doc/examples/lxc-complex.conf templates/Makefile templates/lxc-lenny 
templates/lxc-debian templates/lxc-lucid templates/lxc-maverick 
templates/lxc-natty templates/lxc-busybox templates/lxc-fedora 
templates/lxc-sshd src/Makefile src/lxc/Makefile src/lxc/lxc-ps src/lxc/lxc-ls 
src/lxc/lxc-netstat src/lxc/lxc-checkconfig src/lxc/lxc-setcap 
src/lxc/lxc-setuid src/lxc/lxc-version src/lxc/lxc-create src/lxc/lxc-clone 
src/lxc/lxc-destroy
 
 ac_config_commands=$ac_config_commands default
 
@@ -5842,6 +5842,7 @@
 src/lxc/lxc-setuid) CONFIG_FILES=$CONFIG_FILES src/lxc/lxc-setuid ;;
 src/lxc/lxc-version) CONFIG_FILES=$CONFIG_FILES src/lxc/lxc-version ;;
 src/lxc/lxc-create) CONFIG_FILES=$CONFIG_FILES src/lxc/lxc-create ;;
+src/lxc/lxc-clone) CONFIG_FILES=$CONFIG_FILES src/lxc/lxc-clone ;;
 src/lxc/lxc-destroy) CONFIG_FILES=$CONFIG_FILES src/lxc/lxc-destroy ;;
 default) CONFIG_COMMANDS=$CONFIG_COMMANDS default ;;
 

=== modified file 'configure.ac'
--- configure.ac2011-03-10 07:25:34 +
+++ configure.ac2011-03-30 15:36:58 +
@@ -156,6 +156,7 @@
src/lxc/lxc-setuid
src/lxc/lxc-version
src/lxc/lxc-create
+   src/lxc/lxc-clone
src/lxc/lxc-destroy
 
 ])

=== modified file 'lxc.spec'
--- lxc.spec2011-03-10 07:25:34 +
+++ lxc.spec2011-03-30 15:36:58 +
@@ -78,6 +78,7 @@
 %{_bindir}/*
 %attr(4111,root,root) %{_bindir}/lxc-attach
 %attr(4111,root,root) %{_bindir}/lxc-create
+%attr(4111,root,root) %{_bindir}/lxc-clone
 %attr(4111,root,root) %{_bindir}/lxc-start
 %attr(4111,root,root) %{_bindir}/lxc-netstat
 %attr(4111,root,root) %{_bindir}/lxc-unshare

=== modified file 'src/lxc/Makefile.am'
--- src/lxc/Makefile.am 2011-03-10 07:25:34 +
+++ src/lxc/Makefile.am 2011-03-30 15:36:58 +
@@ -72,6 +72,7 @@
lxc-setuid \
lxc-version \
lxc-create \
+   lxc-clone \
lxc-destroy
 
 bin_PROGRAMS = \

=== modified file 'src/lxc/Makefile.in'
--- src/lxc/Makefile.in 2011-03-10 07:25:34 +
+++ src/lxc/Makefile.in 2011-03-30 15:36:58 +
@@ -49,7 +49,8 @@