Repository: cloudstack
Updated Branches:
  refs/heads/hotfix/scp-exception [created] 61c233395


catch specific exception and log clear message on error

Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/61c23339
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/61c23339
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/61c23339

Branch: refs/heads/hotfix/scp-exception
Commit: 61c233395558ec6a2ec2ebeb64db743908083558
Parents: fdb782f
Author: Daan Hoogland <dhoogl...@schubergphilis.com>
Authored: Thu Dec 11 16:55:26 2014 +0100
Committer: Daan Hoogland <d...@onecht.net>
Committed: Thu Dec 11 16:55:26 2014 +0100

----------------------------------------------------------------------
 .../xenserver/resource/CitrixResourceBase.java  | 24 ++++++++++++--------
 1 file changed, 14 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/61c23339/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
----------------------------------------------------------------------
diff --git 
a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
 
b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
index f01153f..6eb787d 100644
--- 
a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
+++ 
b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
@@ -4728,14 +4728,14 @@ public abstract class CitrixResourceBase implements 
ServerResource, HypervisorRe
                         } else {
                             f = path + k;
                         }
-                        String d = tokens[tokens.length - 1];
+                        String directoryPath = tokens[tokens.length - 1];
                         f = f.replace('/', File.separatorChar);
 
-                        String p = "0755";
+                        String permissions = "0755";
                         if (tokens.length == 3) {
-                            p = tokens[1];
+                            permissions = tokens[1];
                         } else if (tokens.length == 2) {
-                            p = tokens[0];
+                            permissions = tokens[0];
                         }
 
                         if (!new File(f).exists()) {
@@ -4743,16 +4743,20 @@ public abstract class CitrixResourceBase implements 
ServerResource, HypervisorRe
                             continue;
                         }
                         if (s_logger.isDebugEnabled()) {
-                            s_logger.debug("Copying " + f + " to " + d + " on 
" + hr.address + " with permission " + p);
+                            s_logger.debug("Copying " + f + " to " + 
directoryPath + " on " + hr.address + " with permission " + permissions);
                         }
                         try {
-                            session.execCommand("mkdir -m 700 -p " + d);
+                            session.execCommand("mkdir -m 700 -p " + 
directoryPath);
                         } catch (IOException e) {
-                            s_logger.debug("Unable to create destination path: 
" + d + " on " + hr.address + " but trying anyway");
-
+                            s_logger.debug("Unable to create destination path: 
" + directoryPath + " on " + hr.address + " but trying anyway");
+                        }
+                        try {
+                            scp.put(f, directoryPath, permissions);
+                        } catch (IOException e) {
+                            String msg = "Unable to copy file " + f + " to 
path " + directoryPath + " with permissions  " + permissions;
+                            s_logger.debug(msg);
+                            throw new CloudRuntimeException("Unable to setup 
the server: " + msg, e);
                         }
-                        scp.put(f, d, p);
-
                     }
                 }
 

Reply via email to