[elbe-devel] [PATCH v2 2/2] initvmaction: Add sync action

Olivier Dion dion at linutronix.de
Mon May 18 18:11:54 CEST 2020


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))
----------------------------------------------------------------------

-- 
Olivier Dion
Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen



More information about the elbe-devel mailing list