mirror of https://github.com/apache/cloudstack.git
avoid to create same FileSR on host more than once
This commit is contained in:
parent
fc8e79c17b
commit
1c10d00ec9
|
|
@ -127,7 +127,7 @@ public class XenServer620Resource extends XenServer610Resource {
|
|||
@SuppressWarnings("unchecked")
|
||||
Set<Event.Record> events = (Set<Event.Record>)map.get("events");
|
||||
if (events.size() == 0) {
|
||||
String msg = "Async " + timeout / 1000 + " seconds timeout for task " + task.toString();
|
||||
String msg = "No event for task " + task.toString();
|
||||
s_logger.warn(msg);
|
||||
task.cancel(c);
|
||||
throw new TimeoutException(msg);
|
||||
|
|
@ -144,11 +144,14 @@ public class XenServer620Resource extends XenServer610Resource {
|
|||
|
||||
if (taskRecord.status != Types.TaskStatusType.PENDING) {
|
||||
if (s_logger.isDebugEnabled()) {
|
||||
s_logger.debug("Task is done " + taskRecord.status);
|
||||
s_logger.debug("Task: " + taskRecord.uuid + " is done " + taskRecord.status);
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
s_logger.debug("Task is not done " + taskRecord);
|
||||
if (s_logger.isDebugEnabled()) {
|
||||
s_logger.debug("Task: " + taskRecord.uuid + " progress: " + taskRecord.progress);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if (System.currentTimeMillis() - beginTime > timeout) {
|
||||
|
|
|
|||
|
|
@ -86,11 +86,19 @@ public class Xenserver625StorageProcessor extends XenServerStorageProcessor {
|
|||
SR sr = null;
|
||||
PBD pbd = null;
|
||||
try {
|
||||
String srname = hypervisorResource.getHost().uuid + path.trim();
|
||||
try {
|
||||
Set<SR> srs = SR.getByNameLabel(conn, srname);
|
||||
if ( srs != null && !srs.isEmpty()) {
|
||||
return srs.iterator().next();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
}
|
||||
Map<String, String> smConfig = new HashMap<String, String>();
|
||||
Host host = Host.getByUuid(conn, hypervisorResource.getHost().uuid);
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
|
||||
sr = SR.introduce(conn,uuid, uuid, uuid, "file", "file", false, smConfig);
|
||||
sr = SR.introduce(conn,uuid, srname, srname, "file", "file", false, smConfig);
|
||||
PBD.Record record = new PBD.Record();
|
||||
record.host = host;
|
||||
record.SR = sr;
|
||||
|
|
|
|||
Loading…
Reference in New Issue