From 770860aee473fd65def96b6eeef5c54544514d6f Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Mon, 11 Feb 2013 16:38:18 +0530 Subject: [PATCH] CLOUDSTACK-710: mkdir -p destination before scp-ing file in CitrixResourceBase - Assumption is that mkdir is available on xen host - We don't know what kind of file we're copying, dirs would have 0777 permission by default Signed-off-by: Rohit Yadav --- .../cloud/hypervisor/xen/resource/CitrixResourceBase.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java index 71f2002b83a..c7ff5c7b4bf 100644 --- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java +++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java @@ -4713,6 +4713,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe throw new CloudRuntimeException("Unable to authenticate"); } + com.trilead.ssh2.Session session = sshConnection.openSession(); SCPClient scp = new SCPClient(sshConnection); List files = getPatchFiles(); @@ -4761,6 +4762,12 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe if (s_logger.isDebugEnabled()) { s_logger.debug("Copying " + f + " to " + d + " on " + hr.address + " with permission " + p); } + try { + session.execCommand("mkdir -p " + d); + } catch (IOException e) { + s_logger.debug("Unable to create destination path: " + d + " on " + hr.address + " but trying anyway"); + + } scp.put(f, d, p); }