Ansible launcher: create parent directories for SCP
Change-Id: I011d29f4d1f68b032134b339eac0c2e6ed25dc95
diff --git a/zuul/launcher/ansiblelaunchserver.py b/zuul/launcher/ansiblelaunchserver.py
index 73c208e..f66b096 100644
--- a/zuul/launcher/ansiblelaunchserver.py
+++ b/zuul/launcher/ansiblelaunchserver.py
@@ -632,10 +632,12 @@
if not dest.startswith(site['root']):
raise Exception("Target path %s is not below site root" %
(dest,))
+
local_args = [
'command', '/usr/bin/rsync', '--delay-updates', '-F',
- '--compress', '-rt', '--safe-links', '--rsh',
- '"/usr/bin/ssh -i {private_key_file} -S none '
+ '--compress', '-rt', '--safe-links',
+ '--rsync-path="mkdir -p {dest} && rsync"',
+ '--rsh="/usr/bin/ssh -i {private_key_file} -S none '
'-o StrictHostKeyChecking=no"',
'--out-format="<<CHANGED>>%i %n%L"',
'"{source}/"', '"{user}@{host}:{dest}"'