[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