Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Paul Eggleton <paul.eggleton@linux.intel.com>
To: openembedded-core@lists.openembedded.org
Cc: Olaf Mandel <o.mandel@menlosystems.com>
Subject: Re: [PATCH] devtool: deploy-target: allow use of alternate ssh
Date: Fri, 22 Feb 2019 17:38:59 +1300	[thread overview]
Message-ID: <20680669.ZRBGvceoEQ@localhost.localdomain> (raw)
In-Reply-To: <20190221131045.20591-1-o.mandel@menlosystems.com>

Looks good to me.

Acked-by: Paul Eggleton <paul.eggleton@linux.intel.com>

On Friday, 22 February 2019 2:10:45 AM NZDT Olaf Mandel wrote:
> Allow the use of an alternate SSH executable for deploy-target and
> undeploy-target. The command can be specified with -e / --ssh-exec.
> 
> Signed-off-by: Olaf Mandel <o.mandel@menlosystems.com>
> ---
>  scripts/lib/devtool/deploy.py | 20 ++++++++++++++++----
>  1 file changed, 16 insertions(+), 4 deletions(-)
> 
> diff --git a/scripts/lib/devtool/deploy.py b/scripts/lib/devtool/deploy.py
> index 886004b5d0..f345f31b7b 100644
> --- a/scripts/lib/devtool/deploy.py
> +++ b/scripts/lib/devtool/deploy.py
> @@ -211,6 +211,11 @@ def deploy(args, config, basepath, workspace):
>          if not args.show_status:
>              extraoptions += ' -q'
>  
> +        scp_sshexec = ''
> +        ssh_sshexec = 'ssh'
> +        if args.ssh_exec:
> +            scp_sshexec = "-S %s" % args.ssh_exec
> +            ssh_sshexec = args.ssh_exec
>          scp_port = ''
>          ssh_port = ''
>          if args.port:
> @@ -238,7 +243,7 @@ def deploy(args, config, basepath, workspace):
>                  for fpath, fsize in filelist:
>                      f.write('%s %d\n' % (fpath, fsize))
>              # Copy them to the target
> -            ret = subprocess.call("scp %s %s %s/* %s:%s" % (scp_port, extraoptions, tmpdir, args.target, os.path.dirname(tmpscript)), shell=True)
> +            ret = subprocess.call("scp %s %s %s %s/* %s:%s" % (scp_sshexec, scp_port, extraoptions, tmpdir, args.target, os.path.dirname(tmpscript)), shell=True)
>              if ret != 0:
>                  raise DevtoolError('Failed to copy script to %s - rerun with -s to '
>                                  'get a complete error message' % args.target)
> @@ -246,7 +251,7 @@ def deploy(args, config, basepath, workspace):
>              shutil.rmtree(tmpdir)
>  
>          # Now run the script
> -        ret = exec_fakeroot(rd, 'tar cf - . | ssh  %s %s %s \'sh %s %s %s %s\'' % (ssh_port, extraoptions, args.target, tmpscript, args.recipename, destdir, tmpfilelist), cwd=recipe_outdir, shell=True)
> +        ret = exec_fakeroot(rd, 'tar cf - . | %s  %s %s %s \'sh %s %s %s %s\'' % (ssh_sshexec, ssh_port, extraoptions, args.target, tmpscript, args.recipename, destdir, tmpfilelist), cwd=recipe_outdir, shell=True)
>          if ret != 0:
>              raise DevtoolError('Deploy failed - rerun with -s to get a complete '
>                              'error message')
> @@ -276,6 +281,11 @@ def undeploy(args, config, basepath, workspace):
>      if not args.show_status:
>          extraoptions += ' -q'
>  
> +    scp_sshexec = ''
> +    ssh_sshexec = 'ssh'
> +    if args.ssh_exec:
> +        scp_sshexec = "-S %s" % args.ssh_exec
> +        ssh_sshexec = args.ssh_exec
>      scp_port = ''
>      ssh_port = ''
>      if args.port:
> @@ -292,7 +302,7 @@ def undeploy(args, config, basepath, workspace):
>          with open(os.path.join(tmpdir, os.path.basename(tmpscript)), 'w') as f:
>              f.write(shellscript)
>          # Copy it to the target
> -        ret = subprocess.call("scp %s %s %s/* %s:%s" % (scp_port, extraoptions, tmpdir, args.target, os.path.dirname(tmpscript)), shell=True)
> +        ret = subprocess.call("scp %s %s %s %s/* %s:%s" % (scp_sshexec, scp_port, extraoptions, tmpdir, args.target, os.path.dirname(tmpscript)), shell=True)
>          if ret != 0:
>              raise DevtoolError('Failed to copy script to %s - rerun with -s to '
>                                  'get a complete error message' % args.target)
> @@ -300,7 +310,7 @@ def undeploy(args, config, basepath, workspace):
>          shutil.rmtree(tmpdir)
>  
>      # Now run the script
> -    ret = subprocess.call('ssh %s %s %s \'sh %s %s\'' % (ssh_port, extraoptions, args.target, tmpscript, args.recipename), shell=True)
> +    ret = subprocess.call('%s %s %s %s \'sh %s %s\'' % (ssh_sshexec, ssh_port, extraoptions, args.target, tmpscript, args.recipename), shell=True)
>      if ret != 0:
>          raise DevtoolError('Undeploy failed - rerun with -s to get a complete '
>                             'error message')
> @@ -324,6 +334,7 @@ def register_commands(subparsers, context):
>      parser_deploy.add_argument('-n', '--dry-run', help='List files to be deployed only', action='store_true')
>      parser_deploy.add_argument('-p', '--no-preserve', help='Do not preserve existing files', action='store_true')
>      parser_deploy.add_argument('--no-check-space', help='Do not check for available space before deploying', action='store_true')
> +    parser_deploy.add_argument('-e', '--ssh-exec', help='Executable to use in place of ssh')
>      parser_deploy.add_argument('-P', '--port', help='Specify port to use for connection to the target')
>  
>      strip_opts = parser_deploy.add_mutually_exclusive_group(required=False)
> @@ -346,5 +357,6 @@ def register_commands(subparsers, context):
>      parser_undeploy.add_argument('-s', '--show-status', help='Show progress/status output', action='store_true')
>      parser_undeploy.add_argument('-a', '--all', help='Undeploy all recipes deployed on the target', action='store_true')
>      parser_undeploy.add_argument('-n', '--dry-run', help='List files to be undeployed only', action='store_true')
> +    parser_undeploy.add_argument('-e', '--ssh-exec', help='Executable to use in place of ssh')
>      parser_undeploy.add_argument('-P', '--port', help='Specify port to use for connection to the target')
>      parser_undeploy.set_defaults(func=undeploy)
> 


-- 

Paul Eggleton
Intel Open Source Technology Centre




      reply	other threads:[~2019-02-22  4:39 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-21 13:10 [PATCH] devtool: deploy-target: allow use of alternate ssh Olaf Mandel
2019-02-22  4:38 ` Paul Eggleton [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20680669.ZRBGvceoEQ@localhost.localdomain \
    --to=paul.eggleton@linux.intel.com \
    --cc=o.mandel@menlosystems.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox