[elbe-devel] [PATCH v2 2/2] initvmaction: Add sync action
Torben Hohn
torben.hohn at linutronix.de
Mon May 25 15:41:11 CEST 2020
On Mon, May 25, 2020 at 09:01:24AM -0400, Olivier Dion wrote:
> On Mon, 25 May 2020, Torben Hohn <torben.hohn at linutronix.de> wrote:
> > On Mon, May 18, 2020 at 12:11:54PM -0400, Olivier Dion wrote:
> >> On Mon, 18 May 2020, Olivier Dion <dion at linutronix.de> wrote:
> >> > The initvm sync command will synchronize the local repository with the
> >> > initvm. This does not check if there's a build in progress nor if the
> >> > files are okay. The elbe-daemon _could crash silently_.
> >> >
> >> > Signed-off-by: Olivier Dion <dion at linutronix.de>
> >> > ---
> >> > elbepack/initvmaction.py | 16 ++++++++++++++++
> >> > 1 file changed, 16 insertions(+)
> >> >
> >> > diff --git a/elbepack/initvmaction.py b/elbepack/initvmaction.py
> >> > index c6c1943f..219cc3a9 100644
> >> > --- a/elbepack/initvmaction.py
> >> > +++ b/elbepack/initvmaction.py
> >> > @@ -628,3 +628,19 @@ class SubmitAction(InitVMAction):
> >> >
> >> > submit_and_dl_result(xmlfile, cdrom, opt)
> >> >
> >> > + at InitVMAction.register('sync')
> >> > +class SyncAction(InitVMAction):
> >> > +
> >> > + def __init__(self, node):
> >> > + super(SyncAction, self).__init__(node)
> >> > +
> >> > + def execute(self, _initvmdir, opt, args):
> >> > + top_dir = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
> >> > + try:
> >> > + system("rsync --info=name1,stats1 --archive --times "
> >> > + "--exclude='*.pyc' --exclude='__pycache__' --exclude='__init__.py' "
> >> > + "--rsh='ssh -p %s' --chown=root:root "
> >> > + "%s/{schema,elbepack}/ %s/elbe root at localhost:/var/cache/elbe/devel" %
> >> > + (cfg["sshport"], top_dir, top_dir))
> >> > + except CommandError as E:
> >> > + print(E)
> >> > --
> >> > 2.26.2
> >> >
> >>
> >> Note that I correct the invocation yet again:
> >> ----------------------------------------------------------------------
> >> "rsync --info=name1,stats1 --archive --times "
> >> "--exclude='.git' --exclude='*.pyc' --exclude='elbe-build*' "
> >> "--exclude='initvm' --exclude='__pycache__' --exclude='docs' "
> >> "--exclude='examples' "
> >> "--rsh='ssh -p %s' --chown=root:root "
> >> "%s/ root at localhost:/var/cache/elbe/devel" %
> >> (cfg["sshport"], top_dir))
> >> ----------------------------------------------------------------------
> >
> > do you send another patch ?
>
> If you feel like it. Otherwise this invocation has been working for me
> for the last week. We might want to change '--times' for '--checksum'
> tho. There might be some conflict with Git checkout sometime and rsync
> will copy file that are identical but have different timestamp.
hmm.. yeah. i never used --times or --checksum ... just -avz, because
of muscle memory ;)
however, the exclude lines in the non-patch version are better.
>
> --
> Olivier Dion
> Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen
>
> _______________________________________________
> elbe-devel mailing list
> elbe-devel at linutronix.de
> https://lists.linutronix.de/mailman/listinfo/elbe-devel
--
Torben Hohn
Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen
Phone: +49 7556 25 999 18; Fax.: +49 7556 25 999 99
Hinweise zum Datenschutz finden Sie hier (Informations on data privacy
can be found here): https://linutronix.de/kontakt/Datenschutz.php
Linutronix GmbH | Firmensitz (Registered Office): Uhldingen-Mühlhofen |
Registergericht (Registration Court): Amtsgericht Freiburg i.Br., HRB700
806 | Geschäftsführer (Managing Directors): Heinz Egger, Thomas Gleixner
More information about the elbe-devel
mailing list