Skip to content

Commit ca2f844

Browse files
committed
Finally, can start vm now.
1 parent 305cfb0 commit ca2f844

File tree

6 files changed

+52
-56
lines changed

6 files changed

+52
-56
lines changed

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

Lines changed: 45 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@
5151
import javax.xml.parsers.DocumentBuilderFactory;
5252
import javax.xml.parsers.ParserConfigurationException;
5353

54+
import org.apache.cloudstack.storage.command.StorageSubSystemCommand;
55+
import org.apache.cloudstack.storage.to.TemplateObjectTO;
56+
import org.apache.cloudstack.storage.to.VolumeObjectTO;
5457
import org.apache.commons.codec.binary.Base64;
5558
import org.apache.log4j.Logger;
5659
import org.apache.xmlrpc.XmlRpcException;
@@ -60,46 +63,6 @@
6063
import org.xml.sax.InputSource;
6164
import org.xml.sax.SAXException;
6265

63-
import com.google.gson.Gson;
64-
import com.trilead.ssh2.SCPClient;
65-
import com.xensource.xenapi.Bond;
66-
import com.xensource.xenapi.Connection;
67-
import com.xensource.xenapi.Console;
68-
import com.xensource.xenapi.Host;
69-
import com.xensource.xenapi.HostCpu;
70-
import com.xensource.xenapi.HostMetrics;
71-
import com.xensource.xenapi.Network;
72-
import com.xensource.xenapi.PBD;
73-
import com.xensource.xenapi.PIF;
74-
import com.xensource.xenapi.PIF.Record;
75-
import com.xensource.xenapi.Pool;
76-
import com.xensource.xenapi.SR;
77-
import com.xensource.xenapi.Session;
78-
import com.xensource.xenapi.Task;
79-
import com.xensource.xenapi.Types;
80-
import com.xensource.xenapi.Types.BadAsyncResult;
81-
import com.xensource.xenapi.Types.BadServerResponse;
82-
import com.xensource.xenapi.Types.ConsoleProtocol;
83-
import com.xensource.xenapi.Types.IpConfigurationMode;
84-
import com.xensource.xenapi.Types.OperationNotAllowed;
85-
import com.xensource.xenapi.Types.SrFull;
86-
import com.xensource.xenapi.Types.VbdType;
87-
import com.xensource.xenapi.Types.VmBadPowerState;
88-
import com.xensource.xenapi.Types.VmPowerState;
89-
import com.xensource.xenapi.Types.XenAPIException;
90-
import com.xensource.xenapi.VBD;
91-
import com.xensource.xenapi.VBDMetrics;
92-
import com.xensource.xenapi.VDI;
93-
import com.xensource.xenapi.VIF;
94-
import com.xensource.xenapi.VLAN;
95-
import com.xensource.xenapi.VM;
96-
import com.xensource.xenapi.VMGuestMetrics;
97-
import com.xensource.xenapi.XenAPIObject;
98-
99-
import org.apache.cloudstack.storage.command.StorageSubSystemCommand;
100-
import org.apache.cloudstack.storage.to.TemplateObjectTO;
101-
import org.apache.cloudstack.storage.to.VolumeObjectTO;
102-
10366
import com.cloud.agent.IAgentControl;
10467
import com.cloud.agent.api.Answer;
10568
import com.cloud.agent.api.AttachIsoCommand;
@@ -300,6 +263,41 @@
300263
import com.cloud.vm.DiskProfile;
301264
import com.cloud.vm.VirtualMachine;
302265
import com.cloud.vm.snapshot.VMSnapshot;
266+
import com.google.gson.Gson;
267+
import com.trilead.ssh2.SCPClient;
268+
import com.xensource.xenapi.Bond;
269+
import com.xensource.xenapi.Connection;
270+
import com.xensource.xenapi.Console;
271+
import com.xensource.xenapi.Host;
272+
import com.xensource.xenapi.HostCpu;
273+
import com.xensource.xenapi.HostMetrics;
274+
import com.xensource.xenapi.Network;
275+
import com.xensource.xenapi.PBD;
276+
import com.xensource.xenapi.PIF;
277+
import com.xensource.xenapi.PIF.Record;
278+
import com.xensource.xenapi.Pool;
279+
import com.xensource.xenapi.SR;
280+
import com.xensource.xenapi.Session;
281+
import com.xensource.xenapi.Task;
282+
import com.xensource.xenapi.Types;
283+
import com.xensource.xenapi.Types.BadAsyncResult;
284+
import com.xensource.xenapi.Types.BadServerResponse;
285+
import com.xensource.xenapi.Types.ConsoleProtocol;
286+
import com.xensource.xenapi.Types.IpConfigurationMode;
287+
import com.xensource.xenapi.Types.OperationNotAllowed;
288+
import com.xensource.xenapi.Types.SrFull;
289+
import com.xensource.xenapi.Types.VbdType;
290+
import com.xensource.xenapi.Types.VmBadPowerState;
291+
import com.xensource.xenapi.Types.VmPowerState;
292+
import com.xensource.xenapi.Types.XenAPIException;
293+
import com.xensource.xenapi.VBD;
294+
import com.xensource.xenapi.VBDMetrics;
295+
import com.xensource.xenapi.VDI;
296+
import com.xensource.xenapi.VIF;
297+
import com.xensource.xenapi.VLAN;
298+
import com.xensource.xenapi.VM;
299+
import com.xensource.xenapi.VMGuestMetrics;
300+
import com.xensource.xenapi.XenAPIObject;
303301

304302
/**
305303
* CitrixResourceBase encapsulates the calls to the XenServer Xapi process
@@ -3798,7 +3796,7 @@ protected VDI cloudVDIcopy(Connection conn, VDI vdi, SR sr, int wait) throws Xen
37983796
wait = 2 * 60 * 60;
37993797
}
38003798
try {
3801-
//task = vdi.copyAsync(conn, sr);
3799+
task = vdi.copyAsync(conn, sr, null, null);
38023800
// poll every 1 seconds , timeout after 2 hours
38033801
waitForTask(conn, task, 1000, wait * 1000);
38043802
checkForSuccess(conn, task);
@@ -3880,15 +3878,14 @@ public String swiftBackupSnapshot(Connection conn, SwiftTO swift, String srUuid,
38803878

38813879
protected SR createFileSR(Connection conn, String path, String location) {
38823880
try {
3883-
Map<String, String> deviceConfig = new HashMap<String, String>();
3884-
deviceConfig.put("path", path);
3881+
Map<String, String> smConfig = new HashMap<String, String>();
3882+
smConfig.put("location", path);
38853883
Host host = Host.getByUuid(conn, _host.uuid);
3886-
SR sr = SR.create(conn, host, deviceConfig, new Long(0), path, "file", "file", "file", false,
3887-
new HashMap<String, String>());
3888-
sr.setNameLabel(conn, path + "-File");
3889-
sr.setNameDescription(conn, location);
3884+
String uuid = UUID.randomUUID().toString();
38903885

3891-
sr.scan(conn);
3886+
SR sr = SR.introduce(conn,uuid, uuid, uuid, "file", "file", false, smConfig);
3887+
3888+
//sr.scan(conn);
38923889
return sr;
38933890
} catch (Exception e) {
38943891
String msg = "createFileSR failed! due to " + e.toString();

plugins/hypervisors/xen/src/org/apache/cloudstack/hypervisor/xenserver/XenServerResourceNewBase.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,7 @@ public StartupCommand[] initialize() throws IllegalArgumentException {
9494
return cmds;
9595
}
9696

97-
@Override
98-
protected void waitForTask(Connection c, Task task, long pollInterval, long timeout) throws XenAPIException, XmlRpcException, TimeoutException {
97+
protected void waitForTask2(Connection c, Task task, long pollInterval, long timeout) throws XenAPIException, XmlRpcException, TimeoutException {
9998
long beginTime = System.currentTimeMillis();
10099
if (s_logger.isTraceEnabled()) {
101100
s_logger.trace("Task " + task.getNameLabel(c) + " (" + task.getType(c) + ") sent to " + c.getSessionReference() + " is pending completion with a " + timeout +

scripts/vm/hypervisor/xenserver/cloud-plugin-snapshot

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/usr/bin/python
1+
#!/usr/bin/python
22
# Licensed to the Apache Software Foundation (ASF) under one
33
# or more contributor license agreements. See the NOTICE file
44
# distributed with this work for additional information
@@ -349,7 +349,7 @@ def mountSnapshotsDir(secondaryStorageMountPath, localMountPointPath, path):
349349
mount(snapshotsDir, localMountPointPath)
350350

351351
# Create accountId/instanceId dir on localMountPointPath, if it doesn't exist
352-
backupsDi = os.path.join(localMountPointPath, restDir)
352+
backupsDir = os.path.join(localMountPointPath, restDir)
353353
makedirs(backupsDir)
354354
return backupsDir
355355

@@ -379,7 +379,7 @@ def unmountSnapshotsDir(session, args):
379379
@echo
380380
def mountNfsSecondaryStorage(session, args):
381381
remoteDir = args['remoteDir']
382-
localDir = args]'localDir']
382+
localDir = args['localDir']
383383
makedirs(localDir)
384384
options = "soft,tcp,timeo=133,retrans=1"
385385
try:

scripts/vm/hypervisor/xenserver/copy_vhd_from_secondarystorage.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ fi
8989

9090

9191

92-
VHDUTIL="/opt/xensource/bin/vhd-util"
92+
VHDUTIL="vhd-util"
9393

9494
copyvhd()
9595
{

scripts/vm/hypervisor/xenserver/create_privatetemplate_from_snapshot.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ if [ $? -ne 0 ]; then
9696
exit 0
9797
fi
9898

99-
VHDUTIL="/opt/cloud/bin/vhd-util"
99+
VHDUTIL="vhd-util"
100100

101101
copyvhd()
102102
{

scripts/vm/hypervisor/xenserver/upgrade_snapshot.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ if [ $? -ne 0 ]; then
8787
exit 0
8888
fi
8989

90-
VHDUTIL="/opt/cloud/bin/vhd-util"
90+
VHDUTIL="vhd-util"
9191

9292
upgradeSnapshot()
9393
{

0 commit comments

Comments
 (0)