[CRIU] [PATCH 10/12] p.haul: add pre_final_setup function
Nikita Spiridonov
nspiridonov at virtuozzo.com
Tue Apr 5 04:12:08 PDT 2016
Please disregard
On Tue, 2016-04-05 at 15:10 +0400, Nikita Spiridonov wrote:
> I am not sure that new rpc call needed here. Why desired action (merge
> of shared ploop disks snapshots) can't be done in
> phaul_service.rpc_restore_from_images?
>
> As for me it is better to merge snapshots in
> phaul_service.rpc_restore_from_images or in phaul_service.on_disconnect.
>
>
> but it is impossible to pass some extra data (self.fs.prepare_src_data)
> in this call.
>
>
>
> since additional rpc call complicate
>
>
> more error-prone
>
>
>
> but maybe I miss something.
>
>
> Xemul, what do you think?
>
>
> On Mon, 2016-04-04 at 17:27 +0300, Alexander Burluka wrote:
> > Signed-off-by: Alexander Burluka <aburluka at virtuozzo.com>
> > ---
> > phaul/p_haul_docker.py | 3 +++
> > phaul/p_haul_lxc.py | 3 +++
> > phaul/p_haul_pid.py | 3 +++
> > phaul/p_haul_vz.py | 5 +++++
> > phaul/service.py | 3 +++
> > 5 files changed, 17 insertions(+)
> >
> > diff --git a/phaul/p_haul_docker.py b/phaul/p_haul_docker.py
> > index 626ebd0..abb1716 100644
> > --- a/phaul/p_haul_docker.py
> > +++ b/phaul/p_haul_docker.py
> > @@ -138,6 +138,9 @@ class p_haul_type:
> > pid = int(line.split(None, 1)[0])
> > os.kill(pid, signal.SIGKILL)
> >
> > + def pre_final_setup(self, source_data):
> > + pass
> > +
> > def final_restore(self, img, criu):
> > logf = open("/tmp/docker_restore.log", "w+")
> >
> > diff --git a/phaul/p_haul_lxc.py b/phaul/p_haul_lxc.py
> > index 5303574..8dc77b5 100644
> > --- a/phaul/p_haul_lxc.py
> > +++ b/phaul/p_haul_lxc.py
> > @@ -118,6 +118,9 @@ class p_haul_type:
> > def final_dump(self, pid, img, ccon, fs):
> > criu_cr.criu_dump(self, pid, img, ccon, fs)
> >
> > + def pre_final_setup(self, source_data):
> > + pass
> > +
> > def final_restore(self, img, connection):
> > criu_cr.criu_restore(self, img, connection)
> >
> > diff --git a/phaul/p_haul_pid.py b/phaul/p_haul_pid.py
> > index 061a766..ae32699 100644
> > --- a/phaul/p_haul_pid.py
> > +++ b/phaul/p_haul_pid.py
> > @@ -73,6 +73,9 @@ class p_haul_type:
> > def final_dump(self, pid, img, ccon, fs):
> > criu_cr.criu_dump(self, pid, img, ccon, fs)
> >
> > + def pre_final_setup(self, source_data):
> > + pass
> > +
> > def final_restore(self, img, connection):
> > criu_cr.criu_restore(self, img, connection)
> >
> > diff --git a/phaul/p_haul_vz.py b/phaul/p_haul_vz.py
> > index 8055f69..8321520 100644
> > --- a/phaul/p_haul_vz.py
> > +++ b/phaul/p_haul_vz.py
> > @@ -166,6 +166,11 @@ class p_haul_type:
> > def final_dump(self, pid, img, ccon, fs):
> > criu_cr.criu_dump(self, pid, img, ccon, fs)
> >
> > + def pre_final_setup(self, src_data):
> > + if "shareds" in src_data:
> > + for ploop in src_data["shareds"]:
> > + fs_haul_ploop.merge_ploop_snapshot(ploop["ddxml"], ploop["guid"])
> > +
> > def final_restore(self, img, connection):
> > """Perform Virtuozzo-specific final restore"""
> > try:
> > diff --git a/phaul/service.py b/phaul/service.py
> > index ecb0cc8..62b7ff6 100644
> > --- a/phaul/service.py
> > +++ b/phaul/service.py
> > @@ -115,3 +115,6 @@ class phaul_service:
> > self.htype.start()
> > logging.info("Start succeeded")
> > self.restored = True
> > +
> > + def rpc_final_cleanup(self, src_data):
> > + self.htype.pre_final_setup(src_data)
>
More information about the CRIU
mailing list