Skip to content

Commit 3b0c031

Browse files
Using the SSHCmdHelper instead of a SSH Session.
1 parent 1a719af commit 3b0c031

1 file changed

Lines changed: 31 additions & 35 deletions

File tree

plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java

Lines changed: 31 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@
4646
import javax.xml.parsers.DocumentBuilderFactory;
4747
import javax.xml.parsers.ParserConfigurationException;
4848

49+
import org.apache.cloudstack.storage.command.StorageSubSystemCommand;
50+
import org.apache.cloudstack.storage.to.TemplateObjectTO;
51+
import org.apache.cloudstack.storage.to.VolumeObjectTO;
4952
import org.apache.log4j.Logger;
5053
import org.apache.xmlrpc.XmlRpcException;
5154
import org.w3c.dom.Document;
@@ -54,35 +57,6 @@
5457
import org.xml.sax.InputSource;
5558
import org.xml.sax.SAXException;
5659

57-
import com.trilead.ssh2.SCPClient;
58-
import com.xensource.xenapi.Bond;
59-
import com.xensource.xenapi.Connection;
60-
import com.xensource.xenapi.Console;
61-
import com.xensource.xenapi.Host;
62-
import com.xensource.xenapi.HostCpu;
63-
import com.xensource.xenapi.HostMetrics;
64-
import com.xensource.xenapi.Network;
65-
import com.xensource.xenapi.PBD;
66-
import com.xensource.xenapi.PIF;
67-
import com.xensource.xenapi.Pool;
68-
import com.xensource.xenapi.SR;
69-
import com.xensource.xenapi.Session;
70-
import com.xensource.xenapi.Task;
71-
import com.xensource.xenapi.Types;
72-
import com.xensource.xenapi.Types.BadServerResponse;
73-
import com.xensource.xenapi.Types.VmPowerState;
74-
import com.xensource.xenapi.Types.XenAPIException;
75-
import com.xensource.xenapi.VBD;
76-
import com.xensource.xenapi.VDI;
77-
import com.xensource.xenapi.VIF;
78-
import com.xensource.xenapi.VLAN;
79-
import com.xensource.xenapi.VM;
80-
import com.xensource.xenapi.XenAPIObject;
81-
82-
import org.apache.cloudstack.storage.command.StorageSubSystemCommand;
83-
import org.apache.cloudstack.storage.to.TemplateObjectTO;
84-
import org.apache.cloudstack.storage.to.VolumeObjectTO;
85-
8660
import com.cloud.agent.IAgentControl;
8761
import com.cloud.agent.api.Answer;
8862
import com.cloud.agent.api.Command;
@@ -149,6 +123,30 @@
149123
import com.cloud.utils.ssh.SSHCmdHelper;
150124
import com.cloud.utils.ssh.SshHelper;
151125
import com.cloud.vm.VirtualMachine.PowerState;
126+
import com.trilead.ssh2.SCPClient;
127+
import com.xensource.xenapi.Bond;
128+
import com.xensource.xenapi.Connection;
129+
import com.xensource.xenapi.Console;
130+
import com.xensource.xenapi.Host;
131+
import com.xensource.xenapi.HostCpu;
132+
import com.xensource.xenapi.HostMetrics;
133+
import com.xensource.xenapi.Network;
134+
import com.xensource.xenapi.PBD;
135+
import com.xensource.xenapi.PIF;
136+
import com.xensource.xenapi.Pool;
137+
import com.xensource.xenapi.SR;
138+
import com.xensource.xenapi.Session;
139+
import com.xensource.xenapi.Task;
140+
import com.xensource.xenapi.Types;
141+
import com.xensource.xenapi.Types.BadServerResponse;
142+
import com.xensource.xenapi.Types.VmPowerState;
143+
import com.xensource.xenapi.Types.XenAPIException;
144+
import com.xensource.xenapi.VBD;
145+
import com.xensource.xenapi.VDI;
146+
import com.xensource.xenapi.VIF;
147+
import com.xensource.xenapi.VLAN;
148+
import com.xensource.xenapi.VM;
149+
import com.xensource.xenapi.XenAPIObject;
152150

153151
/**
154152
* CitrixResourceBase encapsulates the calls to the XenServer Xapi process to
@@ -4570,8 +4568,6 @@ public boolean setupServer(final Connection conn, final Host host) {
45704568
throw new CloudRuntimeException("Unable to authenticate");
45714569
}
45724570

4573-
final com.trilead.ssh2.Session session = sshConnection.openSession();
4574-
45754571
final String cmd = "mkdir -p /opt/cloud/bin /var/log/cloud";
45764572
if (!SSHCmdHelper.sshExecuteCmd(sshConnection, cmd)) {
45774573
throw new CloudRuntimeException("Cannot create directory /opt/cloud/bin on XenServer hosts");
@@ -4625,11 +4621,11 @@ public boolean setupServer(final Connection conn, final Host host) {
46254621
if (s_logger.isDebugEnabled()) {
46264622
s_logger.debug("Copying " + f + " to " + directoryPath + " on " + hr.address + " with permission " + permissions);
46274623
}
4628-
try {
4629-
session.execCommand("mkdir -m 700 -p " + directoryPath);
4630-
} catch (final IOException e) {
4631-
s_logger.debug("Unable to create destination path: " + directoryPath + " on " + hr.address + " but trying anyway");
4624+
4625+
if (!SSHCmdHelper.sshExecuteCmd(sshConnection, "mkdir -m 700 -p " + directoryPath)) {
4626+
s_logger.debug("Unable to create destination path: " + directoryPath + " on " + hr.address + ".");
46324627
}
4628+
46334629
try {
46344630
scp.put(f, directoryPath, permissions);
46354631
} catch (final IOException e) {

0 commit comments

Comments
 (0)