Couple of comments, mostly looks good though! Diff comments:
> diff --git a/curtin/commands/install.py b/curtin/commands/install.py > index 7d108d1..b029377 100644 > --- a/curtin/commands/install.py > +++ b/curtin/commands/install.py > @@ -162,6 +214,11 @@ class WorkingDir(object): > 'TARGET_MOUNT_POINT': self.target, > 'CONFIG': self.config_file}) > > + def export(self, path): > + """ Export all attributes so that they can be loaded again later. """ > + with open(path, mode="w") as fh: > + json.dump(self.__dict__, fh) I sort of hate accessing __dict__ like this. Make we should use attrs or something? > + > > class Stage(object): > > diff --git a/doc/topics/config.rst b/doc/topics/config.rst > index ff766c7..9e3eab5 100644 > --- a/doc/topics/config.rst > +++ b/doc/topics/config.rst > @@ -363,6 +363,17 @@ If this key is set to the string 'disabled' then curtin > will not > unmount the target filesystem when install is complete. This > skips unmounting in all cases of install success or failure. > > +**export_resume_data**: *<path to where to export the data needed to resume>* I think I agree with Dan that just having a single resume_data directive would be better. > + > +When specified, curtin will export in the file specified the data required to > +resume the installation and run further stages. > + > +**import_resume_data**: *<path from where to import the data needed to > resume>* > + > +When specified, curtin will consider that the installation has already been > +initiated and will load the data from the file specified. The target > directory > +will not be expected to be empty. > + > **Example**:: > > install: -- https://code.launchpad.net/~ogayot/curtin/+git/curtin/+merge/427671 Your team curtin developers is subscribed to branch curtin:master. -- Mailing list: https://launchpad.net/~curtin-dev Post to : curtin-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~curtin-dev More help : https://help.launchpad.net/ListHelp