Sukadev Bhattiprolu wrote: > Daniel Lezcano [dlezcano@xxxxxxxxxx] wrote: >> Sukadev Bhattiprolu wrote: >>> Link lxc_checkpoint, lxc_restart with USERCR[2] >>> >>> 3. Checkpoint/restart a simple LXC container >>> >>> $ lxc-execute --name foo --rcfile lxc-no-netns.conf -- /bin/sleep 1000 >>> >>> $ lxc-freeze --name foo >>> >>> $ lxc-checkpoint --name foo --image /root/lxc-foo.ckpt >>> >>> $ lxc-unfreeze --name foo >> IMO, the freeze / thaw should be done in the lxc_checkpoint function code. > > Well, by separating the freeze and checkpoint, we could do things like > snapshot the filesystem or would lxc_checkpoint make an external call > to do that ? > > I will leave it as is for my next version and I am guessing it can be done > easily later ? >>> $ lxc-stop --name foo >>> >>> $ lxc-restart --name foo --image /root/lxc-foo.ckpt >> Is the container restarted in a frozen state ? > > It can be (by setting the restart_args->freezer). I will leave it in > frozen for now. Maybe later we can add a command line option to let > user choose whether or not to leave it frozen The lxc_checkpoint / lxc_restart API have already the --pause option defined. If you don't specify the --pause option, the checkpoint and the restart release the application right after finishing their job. There is also the --kill option for the checkpoint, to kill the container after the checkpoint. The lxc_checkpoint function should do: freeze(); checkpoint(); if (kill) { stop(); unfreeze(); return; } if (!pause) unfreeze(); return; The same for the restart except for the 'kill'. The functions are already defined in lxc, it takes 5 mins to write this code. Defined in lxc.h : extern int lxc_stop(const char *name); extern int lxc_freeze(const char *name); extern int lxc_unfreeze(const char *name); The lxc_checkpoint / lxc_restart functions have a 'flags' parameter with LXC_FLAG_PAUSE or LXC_FLAG_HALT (if set in the command line). _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers