You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ja...@apache.org on 2015/06/29 09:00:22 UTC
[01/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Repository: cloudstack
Updated Branches:
refs/heads/dhcpoffload c3304c5d3 -> 45721aed5
Fix findbugs DM_BOXED_PRIMITIVE_FOR_PARSING warning in ElastistorUtil.java
Signed-off-by: Daan Hoogland <da...@gmail.com>
This closes #504
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/a17852aa
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/a17852aa
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/a17852aa
Branch: refs/heads/dhcpoffload
Commit: a17852aaf443549877a6813b69c445aab57e6444
Parents: 0d8c64e
Author: Rafael da Fonseca <rs...@gmail.com>
Authored: Mon Jun 22 00:42:37 2015 +0200
Committer: Daan Hoogland <da...@gmail.com>
Committed: Mon Jun 22 10:54:19 2015 +0200
----------------------------------------------------------------------
.../apache/cloudstack/storage/datastore/util/ElastistorUtil.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a17852aa/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/util/ElastistorUtil.java
----------------------------------------------------------------------
diff --git a/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/util/ElastistorUtil.java b/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/util/ElastistorUtil.java
index 35c51d8..58ee9f0 100644
--- a/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/util/ElastistorUtil.java
+++ b/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/util/ElastistorUtil.java
@@ -2491,7 +2491,7 @@ public class ElastistorUtil {
String quotasize = null;
if(size > 1024){
- quotasize = (String.valueOf(Long.valueOf(capacityBytes)/(1024)) + "T");
+ quotasize = (String.valueOf(Long.parseLong(capacityBytes)/(1024)) + "T");
}else{
quotasize = String.valueOf(quotasize) + "G";
}
[27/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Renaming a couple of varibale to avoid misunderstanding
- All "micro" references have been replaced with "nano"
Signed-off-by: Daan Hoogland <da...@onecht.net>
This closes #516
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/cbf5155f
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/cbf5155f
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/cbf5155f
Branch: refs/heads/dhcpoffload
Commit: cbf5155f7b89d032c092c95e4dd507e927cf37a0
Parents: 2f14537
Author: wilderrodrigues <wr...@schubergphilis.com>
Authored: Tue Jun 23 22:46:19 2015 +0200
Committer: Daan Hoogland <da...@onecht.net>
Committed: Wed Jun 24 09:36:41 2015 +0200
----------------------------------------------------------------------
utils/src/com/cloud/utils/Profiler.java | 4 ++--
utils/test/com/cloud/utils/TestProfiler.java | 13 +++++++++----
2 files changed, 11 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/cbf5155f/utils/src/com/cloud/utils/Profiler.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/Profiler.java b/utils/src/com/cloud/utils/Profiler.java
index 5977453..f8e44bd 100644
--- a/utils/src/com/cloud/utils/Profiler.java
+++ b/utils/src/com/cloud/utils/Profiler.java
@@ -46,8 +46,8 @@ public class Profiler {
*/
public long getDuration() {
if (startTickNanoSeconds != null && stopTickNanoSeconds != null) {
- final long timeInMicroSeconds = stopTickNanoSeconds - startTickNanoSeconds;
- return timeInMicroSeconds;
+ final long timeInNanoSeconds = stopTickNanoSeconds - startTickNanoSeconds;
+ return timeInNanoSeconds;
}
return -1;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/cbf5155f/utils/test/com/cloud/utils/TestProfiler.java
----------------------------------------------------------------------
diff --git a/utils/test/com/cloud/utils/TestProfiler.java b/utils/test/com/cloud/utils/TestProfiler.java
index d801059..6861f06 100644
--- a/utils/test/com/cloud/utils/TestProfiler.java
+++ b/utils/test/com/cloud/utils/TestProfiler.java
@@ -28,6 +28,7 @@ import com.cloud.utils.testcase.Log4jEnabledTestCase;
public class TestProfiler extends Log4jEnabledTestCase {
protected final static Logger s_logger = Logger.getLogger(TestProfiler.class);
+ private static final long ONE_SECOND = 1000l;
private static final long MILLIS_FACTOR = 1000l;
private static final int MARGIN = 100;
private static final double EXPONENT = 3d;
@@ -39,13 +40,13 @@ public class TestProfiler extends Log4jEnabledTestCase {
final Profiler pf = new Profiler();
pf.start();
try {
- Thread.sleep(MILLIS_FACTOR);
+ Thread.sleep(ONE_SECOND);
} catch (final InterruptedException e) {
}
pf.stop();
final long durationInMillis = pf.getDurationInMillis();
- s_logger.info("Duration : " + durationInMillis);
+ s_logger.info("Duration in Millis: " + durationInMillis);
// An error margin in order to cover the time taken by the star/stop calls.
// 100 milliseconds margin seems too much, but it will avoid assertion error
@@ -56,16 +57,17 @@ public class TestProfiler extends Log4jEnabledTestCase {
}
@Test
- public void testProfilerInMicro() {
+ public void testProfilerInNano() {
final Profiler pf = new Profiler();
pf.start();
try {
- Thread.sleep(MILLIS_FACTOR);
+ Thread.sleep(ONE_SECOND);
} catch (final InterruptedException e) {
}
pf.stop();
final long duration = pf.getDuration();
+ s_logger.info("Duration in Nano: " + duration);
Assert.assertTrue(duration >= Math.pow(MILLIS_FACTOR, EXPONENT));
}
@@ -101,6 +103,9 @@ public class TestProfiler extends Log4jEnabledTestCase {
long nanoTime2 = 0l;
nanoTime1 = System.nanoTime();
nanoTime2 = System.nanoTime();
+
+ // Using sysout here because is faster than the logger and we don't want to
+ // waste time.
System.out.println("Nano time 1: " + nanoTime1);
System.out.println("Nano time 2: " + nanoTime2);
[38/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Formatting class ClusterManagerImpl
- Splitting format commit from fix commit.
Signed-off-by: wilderrodrigues <wr...@schubergphilis.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/ea1f2eb0
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/ea1f2eb0
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/ea1f2eb0
Branch: refs/heads/dhcpoffload
Commit: ea1f2eb049f71d3bfc2fddc5d759c9685ad22513
Parents: af902fd
Author: wilderrodrigues <wr...@schubergphilis.com>
Authored: Thu Jun 25 07:59:35 2015 +0200
Committer: wilderrodrigues <wr...@schubergphilis.com>
Committed: Thu Jun 25 09:13:46 2015 +0200
----------------------------------------------------------------------
.../com/cloud/cluster/ClusterManagerImpl.java | 415 ++++++++++---------
1 file changed, 213 insertions(+), 202 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ea1f2eb0/framework/cluster/src/com/cloud/cluster/ClusterManagerImpl.java
----------------------------------------------------------------------
diff --git a/framework/cluster/src/com/cloud/cluster/ClusterManagerImpl.java b/framework/cluster/src/com/cloud/cluster/ClusterManagerImpl.java
index 8c99ff3..02597c3 100644
--- a/framework/cluster/src/com/cloud/cluster/ClusterManagerImpl.java
+++ b/framework/cluster/src/com/cloud/cluster/ClusterManagerImpl.java
@@ -41,13 +41,12 @@ import javax.ejb.Local;
import javax.inject.Inject;
import javax.naming.ConfigurationException;
-import org.apache.log4j.Logger;
-
import org.apache.cloudstack.framework.config.ConfigDepot;
import org.apache.cloudstack.framework.config.ConfigKey;
import org.apache.cloudstack.framework.config.Configurable;
import org.apache.cloudstack.managed.context.ManagedContextRunnable;
import org.apache.cloudstack.utils.identity.ManagementServerNode;
+import org.apache.log4j.Logger;
import com.cloud.cluster.dao.ManagementServerHostDao;
import com.cloud.cluster.dao.ManagementServerHostPeerDao;
@@ -130,21 +129,21 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
setRunLevel(ComponentLifecycle.RUN_LEVEL_FRAMEWORK);
}
- private void registerRequestPdu(ClusterServiceRequestPdu pdu) {
+ private void registerRequestPdu(final ClusterServiceRequestPdu pdu) {
synchronized (_outgoingPdusWaitingForAck) {
_outgoingPdusWaitingForAck.put(pdu.getSequenceId(), pdu);
}
}
@Override
- public void registerDispatcher(Dispatcher dispatcher) {
+ public void registerDispatcher(final Dispatcher dispatcher) {
_dispatcher = dispatcher;
}
- private ClusterServiceRequestPdu popRequestPdu(long ackSequenceId) {
+ private ClusterServiceRequestPdu popRequestPdu(final long ackSequenceId) {
synchronized (_outgoingPdusWaitingForAck) {
if (_outgoingPdusWaitingForAck.get(ackSequenceId) != null) {
- ClusterServiceRequestPdu pdu = _outgoingPdusWaitingForAck.get(ackSequenceId);
+ final ClusterServiceRequestPdu pdu = _outgoingPdusWaitingForAck.get(ackSequenceId);
_outgoingPdusWaitingForAck.remove(ackSequenceId);
return pdu;
}
@@ -153,20 +152,21 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
return null;
}
- private void cancelClusterRequestToPeer(String strPeer) {
- List<ClusterServiceRequestPdu> candidates = new ArrayList<ClusterServiceRequestPdu>();
+ private void cancelClusterRequestToPeer(final String strPeer) {
+ final List<ClusterServiceRequestPdu> candidates = new ArrayList<ClusterServiceRequestPdu>();
synchronized (_outgoingPdusWaitingForAck) {
- for (Map.Entry<Long, ClusterServiceRequestPdu> entry : _outgoingPdusWaitingForAck.entrySet()) {
- if (entry.getValue().getDestPeer().equalsIgnoreCase(strPeer))
+ for (final Map.Entry<Long, ClusterServiceRequestPdu> entry : _outgoingPdusWaitingForAck.entrySet()) {
+ if (entry.getValue().getDestPeer().equalsIgnoreCase(strPeer)) {
candidates.add(entry.getValue());
+ }
}
- for (ClusterServiceRequestPdu pdu : candidates) {
+ for (final ClusterServiceRequestPdu pdu : candidates) {
_outgoingPdusWaitingForAck.remove(pdu.getSequenceId());
}
}
- for (ClusterServiceRequestPdu pdu : candidates) {
+ for (final ClusterServiceRequestPdu pdu : candidates) {
s_logger.warn("Cancel cluster request PDU to peer: " + strPeer + ", pdu: " + pdu.getJsonPackage());
synchronized (pdu) {
pdu.notifyAll();
@@ -174,22 +174,22 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
}
- private void addOutgoingClusterPdu(ClusterServicePdu pdu) {
+ private void addOutgoingClusterPdu(final ClusterServicePdu pdu) {
synchronized (_clusterPduOutgoingQueue) {
_clusterPduOutgoingQueue.add(pdu);
_clusterPduOutgoingQueue.notifyAll();
}
}
- private ClusterServicePdu popOutgoingClusterPdu(long timeoutMs) {
+ private ClusterServicePdu popOutgoingClusterPdu(final long timeoutMs) {
synchronized (_clusterPduOutgoingQueue) {
try {
_clusterPduOutgoingQueue.wait(timeoutMs);
- } catch (InterruptedException e) {
+ } catch (final InterruptedException e) {
}
if (_clusterPduOutgoingQueue.size() > 0) {
- ClusterServicePdu pdu = _clusterPduOutgoingQueue.get(0);
+ final ClusterServicePdu pdu = _clusterPduOutgoingQueue.get(0);
_clusterPduOutgoingQueue.remove(0);
return pdu;
}
@@ -197,22 +197,22 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
return null;
}
- private void addIncomingClusterPdu(ClusterServicePdu pdu) {
+ private void addIncomingClusterPdu(final ClusterServicePdu pdu) {
synchronized (_clusterPduIncomingQueue) {
_clusterPduIncomingQueue.add(pdu);
_clusterPduIncomingQueue.notifyAll();
}
}
- private ClusterServicePdu popIncomingClusterPdu(long timeoutMs) {
+ private ClusterServicePdu popIncomingClusterPdu(final long timeoutMs) {
synchronized (_clusterPduIncomingQueue) {
try {
_clusterPduIncomingQueue.wait(timeoutMs);
- } catch (InterruptedException e) {
+ } catch (final InterruptedException e) {
}
if (_clusterPduIncomingQueue.size() > 0) {
- ClusterServicePdu pdu = _clusterPduIncomingQueue.get(0);
+ final ClusterServicePdu pdu = _clusterPduIncomingQueue.get(0);
_clusterPduIncomingQueue.remove(0);
return pdu;
}
@@ -241,15 +241,16 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
private void onSendingClusterPdu() {
while (true) {
try {
- ClusterServicePdu pdu = popOutgoingClusterPdu(1000);
- if (pdu == null)
+ final ClusterServicePdu pdu = popOutgoingClusterPdu(1000);
+ if (pdu == null) {
continue;
+ }
ClusterService peerService = null;
for (int i = 0; i < 2; i++) {
try {
peerService = getPeerService(pdu.getDestPeer());
- } catch (RemoteException e) {
+ } catch (final RemoteException e) {
s_logger.error("Unable to get cluster service on peer : " + pdu.getDestPeer());
}
@@ -257,30 +258,31 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
try {
if (s_logger.isDebugEnabled()) {
s_logger.debug("Cluster PDU " + getSelfPeerName() + " -> " + pdu.getDestPeer() + ". agent: " + pdu.getAgentId() + ", pdu seq: " +
- pdu.getSequenceId() + ", pdu ack seq: " + pdu.getAckSequenceId() + ", json: " + pdu.getJsonPackage());
+ pdu.getSequenceId() + ", pdu ack seq: " + pdu.getAckSequenceId() + ", json: " + pdu.getJsonPackage());
}
- long startTick = System.currentTimeMillis();
- String strResult = peerService.execute(pdu);
+ final long startTick = System.currentTimeMillis();
+ final String strResult = peerService.execute(pdu);
if (s_logger.isDebugEnabled()) {
s_logger.debug("Cluster PDU " + getSelfPeerName() + " -> " + pdu.getDestPeer() + " completed. time: " +
- (System.currentTimeMillis() - startTick) + "ms. agent: " + pdu.getAgentId() + ", pdu seq: " + pdu.getSequenceId() +
- ", pdu ack seq: " + pdu.getAckSequenceId() + ", json: " + pdu.getJsonPackage());
+ (System.currentTimeMillis() - startTick) + "ms. agent: " + pdu.getAgentId() + ", pdu seq: " + pdu.getSequenceId() +
+ ", pdu ack seq: " + pdu.getAckSequenceId() + ", json: " + pdu.getJsonPackage());
}
- if ("true".equals(strResult))
+ if ("true".equals(strResult)) {
break;
+ }
- } catch (RemoteException e) {
+ } catch (final RemoteException e) {
invalidatePeerService(pdu.getDestPeer());
if (s_logger.isInfoEnabled()) {
s_logger.info("Exception on remote execution, peer: " + pdu.getDestPeer() + ", iteration: " + i + ", exception message :" +
- e.getMessage());
+ e.getMessage());
}
}
}
}
- } catch (Throwable e) {
+ } catch (final Throwable e) {
s_logger.error("Unexcpeted exception: ", e);
}
}
@@ -290,14 +292,15 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
while (true) {
try {
final ClusterServicePdu pdu = popIncomingClusterPdu(1000);
- if (pdu == null)
+ if (pdu == null) {
continue;
+ }
_executor.execute(new ManagedContextRunnable() {
@Override
protected void runInContext() {
if (pdu.getPduType() == ClusterServicePdu.PDU_TYPE_RESPONSE) {
- ClusterServiceRequestPdu requestPdu = popRequestPdu(pdu.getAckSequenceId());
+ final ClusterServiceRequestPdu requestPdu = popRequestPdu(pdu.getAckSequenceId());
if (requestPdu != null) {
requestPdu.setResponseResult(pdu.getJsonPackage());
synchronized (requestPdu) {
@@ -308,11 +311,12 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
} else {
String result = _dispatcher.dispatch(pdu);
- if (result == null)
+ if (result == null) {
result = "";
+ }
if (pdu.getPduType() == ClusterServicePdu.PDU_TYPE_REQUEST) {
- ClusterServicePdu responsePdu = new ClusterServicePdu();
+ final ClusterServicePdu responsePdu = new ClusterServicePdu();
responsePdu.setPduType(ClusterServicePdu.PDU_TYPE_RESPONSE);
responsePdu.setSourcePeer(pdu.getDestPeer());
responsePdu.setDestPeer(pdu.getSourcePeer());
@@ -324,14 +328,14 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
}
});
- } catch (Throwable e) {
+ } catch (final Throwable e) {
s_logger.error("Unexcpeted exception: ", e);
}
}
}
@Override
- public void OnReceiveClusterServicePdu(ClusterServicePdu pdu) {
+ public void OnReceiveClusterServicePdu(final ClusterServicePdu pdu) {
addIncomingClusterPdu(pdu);
}
@@ -343,17 +347,17 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
* peer is running regardless of version.
* @return true if there are peers running and false if not.
*/
- public static final boolean arePeersRunning(String notVersion) {
+ public static final boolean arePeersRunning(final String notVersion) {
return false; // TODO: Leaving this for Kelven to take care of.
}
@Override
- public void broadcast(long agentId, String cmds) {
- Date cutTime = DateUtil.currentGMTTime();
+ public void broadcast(final long agentId, final String cmds) {
+ final Date cutTime = DateUtil.currentGMTTime();
- List<ManagementServerHostVO> peers = _mshostDao.getActiveList(new Date(cutTime.getTime() - HeartbeatThreshold.value()));
- for (ManagementServerHostVO peer : peers) {
- String peerName = Long.toString(peer.getMsid());
+ final List<ManagementServerHostVO> peers = _mshostDao.getActiveList(new Date(cutTime.getTime() - HeartbeatThreshold.value()));
+ for (final ManagementServerHostVO peer : peers) {
+ final String peerName = Long.toString(peer.getMsid());
if (getSelfPeerName().equals(peerName)) {
continue; // Skip myself.
}
@@ -362,14 +366,14 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
s_logger.debug("Forwarding " + cmds + " to " + peer.getMsid());
}
executeAsync(peerName, agentId, cmds, true);
- } catch (Exception e) {
+ } catch (final Exception e) {
s_logger.warn("Caught exception while talkign to " + peer.getMsid());
}
}
}
- public void executeAsync(String strPeer, long agentId, String cmds, boolean stopOnError) {
- ClusterServicePdu pdu = new ClusterServicePdu();
+ public void executeAsync(final String strPeer, final long agentId, final String cmds, final boolean stopOnError) {
+ final ClusterServicePdu pdu = new ClusterServicePdu();
pdu.setSourcePeer(getSelfPeerName());
pdu.setDestPeer(strPeer);
pdu.setAgentId(agentId);
@@ -379,12 +383,12 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
@Override
- public String execute(String strPeer, long agentId, String cmds, boolean stopOnError) {
+ public String execute(final String strPeer, final long agentId, final String cmds, final boolean stopOnError) {
if (s_logger.isDebugEnabled()) {
s_logger.debug(getSelfPeerName() + " -> " + strPeer + "." + agentId + " " + cmds);
}
- ClusterServiceRequestPdu pdu = new ClusterServiceRequestPdu();
+ final ClusterServiceRequestPdu pdu = new ClusterServiceRequestPdu();
pdu.setSourcePeer(getSelfPeerName());
pdu.setDestPeer(strPeer);
pdu.setAgentId(agentId);
@@ -396,7 +400,7 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
synchronized (pdu) {
try {
pdu.wait();
- } catch (InterruptedException e) {
+ } catch (final InterruptedException e) {
}
}
@@ -412,7 +416,7 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
@Override
- public ManagementServerHostVO getPeer(String mgmtServerId) {
+ public ManagementServerHostVO getPeer(final String mgmtServerId) {
return _mshostDao.findByMsid(Long.parseLong(mgmtServerId));
}
@@ -426,7 +430,7 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
@Override
- public void registerListener(ClusterManagerListener listener) {
+ public void registerListener(final ClusterManagerListener listener) {
// Note : we don't check duplicates
synchronized (_listeners) {
@@ -437,7 +441,7 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
@Override
- public void unregisterListener(ClusterManagerListener listener) {
+ public void unregisterListener(final ClusterManagerListener listener) {
synchronized (_listeners) {
s_logger.info("unregister cluster listener " + listener.getClass());
@@ -445,17 +449,17 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
}
- public void notifyNodeJoined(List<ManagementServerHostVO> nodeList) {
+ public void notifyNodeJoined(final List<ManagementServerHostVO> nodeList) {
if (s_logger.isDebugEnabled()) {
s_logger.debug("Notify management server node join to listeners.");
- for (ManagementServerHostVO mshost : nodeList) {
+ for (final ManagementServerHostVO mshost : nodeList) {
s_logger.debug("Joining node, IP: " + mshost.getServiceIP() + ", msid: " + mshost.getMsid());
}
}
synchronized (_listeners) {
- for (ClusterManagerListener listener : _listeners) {
+ for (final ClusterManagerListener listener : _listeners) {
listener.onManagementNodeJoined(nodeList, _mshostId);
}
}
@@ -463,19 +467,20 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
SubscriptionMgr.getInstance().notifySubscribers(ClusterManager.ALERT_SUBJECT, this, new ClusterNodeJoinEventArgs(_mshostId, nodeList));
}
- public void notifyNodeLeft(List<ManagementServerHostVO> nodeList) {
+ public void notifyNodeLeft(final List<ManagementServerHostVO> nodeList) {
if (s_logger.isDebugEnabled()) {
s_logger.debug("Notify management server node left to listeners.");
}
- for (ManagementServerHostVO mshost : nodeList) {
- if (s_logger.isDebugEnabled())
+ for (final ManagementServerHostVO mshost : nodeList) {
+ if (s_logger.isDebugEnabled()) {
s_logger.debug("Leaving node, IP: " + mshost.getServiceIP() + ", msid: " + mshost.getMsid());
+ }
cancelClusterRequestToPeer(String.valueOf(mshost.getMsid()));
}
synchronized (_listeners) {
- for (ClusterManagerListener listener : _listeners) {
+ for (final ClusterManagerListener listener : _listeners) {
listener.onManagementNodeLeft(nodeList, _mshostId);
}
}
@@ -484,24 +489,25 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
public void notifyNodeIsolated() {
- if (s_logger.isDebugEnabled())
+ if (s_logger.isDebugEnabled()) {
s_logger.debug("Notify management server node isolation to listeners");
+ }
synchronized (_listeners) {
- for (ClusterManagerListener listener : _listeners) {
+ for (final ClusterManagerListener listener : _listeners) {
listener.onManagementNodeIsolated();
}
}
}
- public ClusterService getPeerService(String strPeer) throws RemoteException {
+ public ClusterService getPeerService(final String strPeer) throws RemoteException {
synchronized (_clusterPeers) {
if (_clusterPeers.containsKey(strPeer)) {
return _clusterPeers.get(strPeer);
}
}
- ClusterService service = _currentServiceAdapter.getPeerService(strPeer);
+ final ClusterService service = _currentServiceAdapter.getPeerService(strPeer);
if (service != null) {
synchronized (_clusterPeers) {
@@ -516,7 +522,7 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
return service;
}
- public void invalidatePeerService(String strPeer) {
+ public void invalidatePeerService(final String strPeer) {
synchronized (_clusterPeers) {
if (_clusterPeers.containsKey(strPeer)) {
_clusterPeers.remove(strPeer);
@@ -528,11 +534,11 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
return new ManagedContextRunnable() {
@Override
protected void runInContext() {
- TransactionLegacy txn = TransactionLegacy.open("ClusterHeartbeat");
+ final TransactionLegacy txn = TransactionLegacy.open("ClusterHeartbeat");
try {
- Profiler profiler = new Profiler();
- Profiler profilerHeartbeatUpdate = new Profiler();
- Profiler profilerPeerScan = new Profiler();
+ final Profiler profiler = new Profiler();
+ final Profiler profilerHeartbeatUpdate = new Profiler();
+ final Profiler profilerPeerScan = new Profiler();
try {
profiler.start();
@@ -563,13 +569,14 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
profiler.stop();
if (profiler.getDuration() >= HeartbeatInterval.value()) {
- if (s_logger.isDebugEnabled())
+ if (s_logger.isDebugEnabled()) {
s_logger.debug("Management server heartbeat takes too long to finish. profiler: " + profiler.toString() + ", profilerHeartbeatUpdate: " +
- profilerHeartbeatUpdate.toString() + ", profilerPeerScan: " + profilerPeerScan.toString());
+ profilerHeartbeatUpdate.toString() + ", profilerPeerScan: " + profilerPeerScan.toString());
+ }
}
}
- } catch (CloudRuntimeException e) {
+ } catch (final CloudRuntimeException e) {
s_logger.error("Runtime DB exception ", e.getCause());
if (e.getCause() instanceof ClusterInvalidSessionException) {
@@ -580,9 +587,9 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
if (isRootCauseConnectionRelated(e.getCause())) {
invalidHeartbeatConnection();
}
- } catch (ActiveFencingException e) {
+ } catch (final ActiveFencingException e) {
queueNotification(new ClusterManagerMessage(ClusterManagerMessage.MessageType.nodeIsolated));
- } catch (Throwable e) {
+ } catch (final Throwable e) {
s_logger.error("Unexpected exception in cluster heartbeat", e);
if (isRootCauseConnectionRelated(e.getCause())) {
invalidHeartbeatConnection();
@@ -598,7 +605,7 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
private boolean isRootCauseConnectionRelated(Throwable e) {
while (e != null) {
if (e instanceof SQLRecoverableException || e instanceof SQLNonTransientException) {
- return true;
+ return true;
}
e = e.getCause();
@@ -609,7 +616,7 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
private Connection getHeartbeatConnection() throws SQLException {
if (_heartbeatConnection == null) {
- Connection conn = TransactionLegacy.getStandaloneConnectionWithException();
+ final Connection conn = TransactionLegacy.getStandaloneConnectionWithException();
_heartbeatConnection = new ConnectionConcierge("ClusterManagerHeartbeat", conn, false);
}
@@ -618,7 +625,7 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
private void invalidHeartbeatConnection() {
if (_heartbeatConnection != null) {
- Connection conn = TransactionLegacy.getStandaloneConnection();
+ final Connection conn = TransactionLegacy.getStandaloneConnection();
if (conn != null) {
_heartbeatConnection.reset(conn);
} else {
@@ -638,7 +645,7 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
synchronized (_notificationMsgs) {
try {
_notificationMsgs.wait(1000);
- } catch (InterruptedException e) {
+ } catch (final InterruptedException e) {
}
}
@@ -646,94 +653,94 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
while ((msg = getNextNotificationMessage()) != null) {
try {
switch (msg.getMessageType()) {
- case nodeAdded:
- if (msg.getNodes() != null && msg.getNodes().size() > 0) {
- Profiler profiler = new Profiler();
- profiler.start();
-
- notifyNodeJoined(msg.getNodes());
-
- profiler.stop();
- if (profiler.getDuration() > 1000) {
- if (s_logger.isDebugEnabled()) {
- s_logger.debug("Notifying management server join event took " + profiler.getDuration() + " ms");
- }
- } else {
- s_logger.warn("Notifying management server join event took " + profiler.getDuration() + " ms");
+ case nodeAdded:
+ if (msg.getNodes() != null && msg.getNodes().size() > 0) {
+ final Profiler profiler = new Profiler();
+ profiler.start();
+
+ notifyNodeJoined(msg.getNodes());
+
+ profiler.stop();
+ if (profiler.getDuration() > 1000) {
+ if (s_logger.isDebugEnabled()) {
+ s_logger.debug("Notifying management server join event took " + profiler.getDuration() + " ms");
}
+ } else {
+ s_logger.warn("Notifying management server join event took " + profiler.getDuration() + " ms");
}
- break;
-
- case nodeRemoved:
- if (msg.getNodes() != null && msg.getNodes().size() > 0) {
- Profiler profiler = new Profiler();
- profiler.start();
-
- notifyNodeLeft(msg.getNodes());
-
- profiler.stop();
- if (profiler.getDuration() > 1000) {
- if (s_logger.isDebugEnabled()) {
- s_logger.debug("Notifying management server leave event took " + profiler.getDuration() + " ms");
- }
- } else {
- s_logger.warn("Notifying management server leave event took " + profiler.getDuration() + " ms");
+ }
+ break;
+
+ case nodeRemoved:
+ if (msg.getNodes() != null && msg.getNodes().size() > 0) {
+ final Profiler profiler = new Profiler();
+ profiler.start();
+
+ notifyNodeLeft(msg.getNodes());
+
+ profiler.stop();
+ if (profiler.getDuration() > 1000) {
+ if (s_logger.isDebugEnabled()) {
+ s_logger.debug("Notifying management server leave event took " + profiler.getDuration() + " ms");
}
+ } else {
+ s_logger.warn("Notifying management server leave event took " + profiler.getDuration() + " ms");
}
- break;
+ }
+ break;
- case nodeIsolated:
- notifyNodeIsolated();
- break;
+ case nodeIsolated:
+ notifyNodeIsolated();
+ break;
- default:
- assert (false);
- break;
+ default:
+ assert false;
+ break;
}
- } catch (Throwable e) {
+ } catch (final Throwable e) {
s_logger.warn("Unexpected exception during cluster notification. ", e);
}
}
try {
Thread.sleep(1000);
- } catch (InterruptedException e) {
+ } catch (final InterruptedException e) {
}
}
}
};
}
- private void queueNotification(ClusterManagerMessage msg) {
+ private void queueNotification(final ClusterManagerMessage msg) {
synchronized (_notificationMsgs) {
_notificationMsgs.add(msg);
_notificationMsgs.notifyAll();
}
switch (msg.getMessageType()) {
- case nodeAdded: {
- List<ManagementServerHostVO> l = msg.getNodes();
- if (l != null && l.size() > 0) {
- for (ManagementServerHostVO mshost : l) {
- _mshostPeerDao.updatePeerInfo(_mshostId, mshost.getId(), mshost.getRunid(), ManagementServerHost.State.Up);
- }
+ case nodeAdded: {
+ final List<ManagementServerHostVO> l = msg.getNodes();
+ if (l != null && l.size() > 0) {
+ for (final ManagementServerHostVO mshost : l) {
+ _mshostPeerDao.updatePeerInfo(_mshostId, mshost.getId(), mshost.getRunid(), ManagementServerHost.State.Up);
}
}
- break;
+ }
+ break;
- case nodeRemoved: {
- List<ManagementServerHostVO> l = msg.getNodes();
- if (l != null && l.size() > 0) {
- for (ManagementServerHostVO mshost : l) {
- _mshostPeerDao.updatePeerInfo(_mshostId, mshost.getId(), mshost.getRunid(), ManagementServerHost.State.Down);
- }
+ case nodeRemoved: {
+ final List<ManagementServerHostVO> l = msg.getNodes();
+ if (l != null && l.size() > 0) {
+ for (final ManagementServerHostVO mshost : l) {
+ _mshostPeerDao.updatePeerInfo(_mshostId, mshost.getId(), mshost.getRunid(), ManagementServerHost.State.Down);
}
}
- break;
+ }
+ break;
- default:
- break;
+ default:
+ break;
}
}
@@ -750,14 +757,14 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
private void initPeerScan() {
// upon startup, for all inactive management server nodes that we see at startup time, we will send notification also to help upper layer perform
// missed cleanup
- Date cutTime = DateUtil.currentGMTTime();
- List<ManagementServerHostVO> inactiveList = _mshostDao.getInactiveList(new Date(cutTime.getTime() - HeartbeatThreshold.value()));
+ final Date cutTime = DateUtil.currentGMTTime();
+ final List<ManagementServerHostVO> inactiveList = _mshostDao.getInactiveList(new Date(cutTime.getTime() - HeartbeatThreshold.value()));
// We don't have foreign key constraints to enforce the mgmt_server_id integrity in host table, when user manually
// remove records from mshost table, this will leave orphan mgmt_serve_id reference in host table.
- List<Long> orphanList = _mshostDao.listOrphanMsids();
+ final List<Long> orphanList = _mshostDao.listOrphanMsids();
if (orphanList.size() > 0) {
- for (Long orphanMsid : orphanList) {
+ for (final Long orphanMsid : orphanList) {
// construct fake ManagementServerHostVO based on orphan MSID
s_logger.info("Add orphan management server msid found in host table to initial clustering notification, orphan msid: " + orphanMsid);
inactiveList.add(new ManagementServerHostVO(orphanMsid, 0, "orphan", 0, new Date()));
@@ -769,55 +776,57 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
if (inactiveList.size() > 0) {
if (s_logger.isInfoEnabled()) {
s_logger.info("Found " + inactiveList.size() + " inactive management server node based on timestamp");
- for (ManagementServerHostVO host : inactiveList)
+ for (final ManagementServerHostVO host : inactiveList) {
s_logger.info("management server node msid: " + host.getMsid() + ", name: " + host.getName() + ", service ip: " + host.getServiceIP() +
- ", version: " + host.getVersion());
+ ", version: " + host.getVersion());
+ }
}
- List<ManagementServerHostVO> downHostList = new ArrayList<ManagementServerHostVO>();
- for (ManagementServerHostVO host : inactiveList) {
+ final List<ManagementServerHostVO> downHostList = new ArrayList<ManagementServerHostVO>();
+ for (final ManagementServerHostVO host : inactiveList) {
if (!pingManagementNode(host)) {
s_logger.warn("Management node " + host.getId() + " is detected inactive by timestamp and also not pingable");
downHostList.add(host);
}
}
- if (downHostList.size() > 0)
+ if (downHostList.size() > 0) {
queueNotification(new ClusterManagerMessage(ClusterManagerMessage.MessageType.nodeRemoved, downHostList));
+ }
} else {
s_logger.info("No inactive management server node found");
}
}
private void peerScan() throws ActiveFencingException {
- Date cutTime = DateUtil.currentGMTTime();
+ final Date cutTime = DateUtil.currentGMTTime();
- Profiler profiler = new Profiler();
+ final Profiler profiler = new Profiler();
profiler.start();
- Profiler profilerQueryActiveList = new Profiler();
+ final Profiler profilerQueryActiveList = new Profiler();
profilerQueryActiveList.start();
- List<ManagementServerHostVO> currentList = _mshostDao.getActiveList(new Date(cutTime.getTime() - HeartbeatThreshold.value()));
+ final List<ManagementServerHostVO> currentList = _mshostDao.getActiveList(new Date(cutTime.getTime() - HeartbeatThreshold.value()));
profilerQueryActiveList.stop();
- Profiler profilerSyncClusterInfo = new Profiler();
+ final Profiler profilerSyncClusterInfo = new Profiler();
profilerSyncClusterInfo.start();
- List<ManagementServerHostVO> removedNodeList = new ArrayList<ManagementServerHostVO>();
- List<ManagementServerHostVO> invalidatedNodeList = new ArrayList<ManagementServerHostVO>();
+ final List<ManagementServerHostVO> removedNodeList = new ArrayList<ManagementServerHostVO>();
+ final List<ManagementServerHostVO> invalidatedNodeList = new ArrayList<ManagementServerHostVO>();
if (_mshostId != null) {
if (_mshostPeerDao.countStateSeenInPeers(_mshostId, _runId, ManagementServerHost.State.Down) > 0) {
- String msg =
- "We have detected that at least one management server peer reports that this management server is down, perform active fencing to avoid split-brain situation";
+ final String msg =
+ "We have detected that at least one management server peer reports that this management server is down, perform active fencing to avoid split-brain situation";
s_logger.error(msg);
throw new ActiveFencingException(msg);
}
// only if we have already attached to cluster, will we start to check leaving nodes
- for (Map.Entry<Long, ManagementServerHostVO> entry : _activePeers.entrySet()) {
+ for (final Map.Entry<Long, ManagementServerHostVO> entry : _activePeers.entrySet()) {
- ManagementServerHostVO current = getInListById(entry.getKey(), currentList);
+ final ManagementServerHostVO current = getInListById(entry.getKey(), currentList);
if (current == null) {
if (entry.getKey().longValue() != _mshostId.longValue()) {
if (s_logger.isDebugEnabled()) {
@@ -830,7 +839,7 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
if (entry.getKey().longValue() != _mshostId.longValue()) {
if (s_logger.isDebugEnabled()) {
s_logger.debug("Detected management node left because of invalidated session, id:" + entry.getKey() + ", nodeIP:" +
- entry.getValue().getServiceIP());
+ entry.getValue().getServiceIP());
}
invalidatedNodeList.add(entry.getValue());
}
@@ -848,15 +857,15 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
profilerSyncClusterInfo.stop();
- Profiler profilerInvalidatedNodeList = new Profiler();
+ final Profiler profilerInvalidatedNodeList = new Profiler();
profilerInvalidatedNodeList.start();
// process invalidated node list
if (invalidatedNodeList.size() > 0) {
- for (ManagementServerHostVO mshost : invalidatedNodeList) {
+ for (final ManagementServerHostVO mshost : invalidatedNodeList) {
_activePeers.remove(mshost.getId());
try {
JmxUtil.unregisterMBean("ClusterManager", "Node " + mshost.getId());
- } catch (Exception e) {
+ } catch (final Exception e) {
s_logger.warn("Unable to deregiester cluster node from JMX monitoring due to exception " + e.toString());
}
}
@@ -865,18 +874,18 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
profilerInvalidatedNodeList.stop();
- Profiler profilerRemovedList = new Profiler();
+ final Profiler profilerRemovedList = new Profiler();
profilerRemovedList.start();
// process removed node list
- Iterator<ManagementServerHostVO> it = removedNodeList.iterator();
+ final Iterator<ManagementServerHostVO> it = removedNodeList.iterator();
while (it.hasNext()) {
- ManagementServerHostVO mshost = it.next();
+ final ManagementServerHostVO mshost = it.next();
if (!pingManagementNode(mshost)) {
s_logger.warn("Management node " + mshost.getId() + " is detected inactive by timestamp and also not pingable");
_activePeers.remove(mshost.getId());
try {
JmxUtil.unregisterMBean("ClusterManager", "Node " + mshost.getId());
- } catch (Exception e) {
+ } catch (final Exception e) {
s_logger.warn("Unable to deregiester cluster node from JMX monitoring due to exception " + e.toString());
}
} else {
@@ -890,8 +899,8 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
profilerRemovedList.stop();
- List<ManagementServerHostVO> newNodeList = new ArrayList<ManagementServerHostVO>();
- for (ManagementServerHostVO mshost : currentList) {
+ final List<ManagementServerHostVO> newNodeList = new ArrayList<ManagementServerHostVO>();
+ for (final ManagementServerHostVO mshost : currentList) {
if (!_activePeers.containsKey(mshost.getId())) {
_activePeers.put(mshost.getId(), mshost);
@@ -902,7 +911,7 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
try {
JmxUtil.registerMBean("ClusterManager", "Node " + mshost.getId(), new ClusterManagerMBeanImpl(this, mshost));
- } catch (Exception e) {
+ } catch (final Exception e) {
s_logger.warn("Unable to regiester cluster node into JMX monitoring due to exception " + ExceptionUtil.toString(e));
}
}
@@ -915,15 +924,16 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
profiler.stop();
if (profiler.getDuration() >= HeartbeatInterval.value()) {
- if (s_logger.isDebugEnabled())
+ if (s_logger.isDebugEnabled()) {
s_logger.debug("Peer scan takes too long to finish. profiler: " + profiler.toString() + ", profilerQueryActiveList: " +
- profilerQueryActiveList.toString() + ", profilerSyncClusterInfo: " + profilerSyncClusterInfo.toString() + ", profilerInvalidatedNodeList: " +
- profilerInvalidatedNodeList.toString() + ", profilerRemovedList: " + profilerRemovedList.toString());
+ profilerQueryActiveList.toString() + ", profilerSyncClusterInfo: " + profilerSyncClusterInfo.toString() + ", profilerInvalidatedNodeList: " +
+ profilerInvalidatedNodeList.toString() + ", profilerRemovedList: " + profilerRemovedList.toString());
+ }
}
}
- private static ManagementServerHostVO getInListById(Long id, List<ManagementServerHostVO> l) {
- for (ManagementServerHostVO mshost : l) {
+ private static ManagementServerHostVO getInListById(final Long id, final List<ManagementServerHostVO> l) {
+ for (final ManagementServerHostVO mshost : l) {
if (mshost.getId() == id) {
return mshost;
}
@@ -938,12 +948,12 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
s_logger.info("Starting Cluster manager, msid : " + _msId);
}
- ManagementServerHostVO mshost = Transaction.execute(new TransactionCallback<ManagementServerHostVO>() {
+ final ManagementServerHostVO mshost = Transaction.execute(new TransactionCallback<ManagementServerHostVO>() {
@Override
- public ManagementServerHostVO doInTransaction(TransactionStatus status) {
+ public ManagementServerHostVO doInTransaction(final TransactionStatus status) {
final Class<?> c = this.getClass();
- String version = c.getPackage().getImplementationVersion();
+ final String version = c.getPackage().getImplementationVersion();
ManagementServerHostVO mshost = _mshostDao.findByMsid(_msId);
if (mshost == null) {
@@ -964,7 +974,7 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
} else {
_mshostDao.update(mshost.getId(), _runId, NetUtils.getHostName(), version, _clusterNodeIP, _currentServiceAdapter.getServicePort(),
- DateUtil.currentGMTTime());
+ DateUtil.currentGMTTime());
if (s_logger.isInfoEnabled()) {
s_logger.info("Management server " + _msId + ", runId " + _runId + " is being started");
}
@@ -1000,7 +1010,7 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
if (_mshostId != null) {
- ManagementServerHostVO mshost = _mshostDao.findByMsid(_msId);
+ final ManagementServerHostVO mshost = _mshostDao.findByMsid(_msId);
mshost.setState(ManagementServerHost.State.Down);
_mshostDao.update(_mshostId, mshost);
}
@@ -1011,7 +1021,7 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
try {
_heartbeatScheduler.awaitTermination(EXECUTOR_SHUTDOWN_TIMEOUT, TimeUnit.MILLISECONDS);
_executor.awaitTermination(EXECUTOR_SHUTDOWN_TIMEOUT, TimeUnit.MILLISECONDS);
- } catch (InterruptedException e) {
+ } catch (final InterruptedException e) {
}
if (s_logger.isInfoEnabled()) {
@@ -1022,12 +1032,12 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
@Override
- public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
+ public boolean configure(final String name, final Map<String, Object> params) throws ConfigurationException {
if (s_logger.isInfoEnabled()) {
s_logger.info("Start configuring cluster manager : " + name);
}
- Properties dbProps = DbProperties.getDbProperties();
+ final Properties dbProps = DbProperties.getDbProperties();
_clusterNodeIP = dbProps.getProperty("cluster.node.IP");
if (_clusterNodeIP == null) {
_clusterNodeIP = "127.0.0.1";
@@ -1042,8 +1052,9 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
throw new ConfigurationException("cluster node IP should be valid local address where the server is running, please check your configuration");
}
- for (int i = 0; i < DEFAULT_OUTGOING_WORKERS; i++)
+ for (int i = 0; i < DEFAULT_OUTGOING_WORKERS; i++) {
_executor.execute(getClusterPduSendingTask());
+ }
// notification task itself in turn works as a task dispatcher
_executor.execute(getClusterPduNotificationTask());
@@ -1076,16 +1087,16 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
@Override
- public long getManagementRunId(long msId) {
- ManagementServerHostVO mshost = _mshostDao.findByMsid(msId);
+ public long getManagementRunId(final long msId) {
+ final ManagementServerHostVO mshost = _mshostDao.findByMsid(msId);
if (mshost != null) {
return mshost.getRunid();
}
return -1;
}
- public boolean isManagementNodeAlive(long msid) {
- ManagementServerHostVO mshost = _mshostDao.findByMsid(msid);
+ public boolean isManagementNodeAlive(final long msid) {
+ final ManagementServerHostVO mshost = _mshostDao.findByMsid(msid);
if (mshost != null) {
if (mshost.getLastUpdateTime().getTime() >= DateUtil.currentGMTTime().getTime() - HeartbeatThreshold.value()) {
return true;
@@ -1095,8 +1106,8 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
return false;
}
- public boolean pingManagementNode(long msid) {
- ManagementServerHostVO mshost = _mshostDao.findByMsid(msid);
+ public boolean pingManagementNode(final long msid) {
+ final ManagementServerHostVO mshost = _mshostDao.findByMsid(msid);
if (mshost == null) {
return false;
}
@@ -1114,9 +1125,9 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
return new ConfigKey<?>[] {HeartbeatInterval, HeartbeatThreshold};
}
- private boolean pingManagementNode(ManagementServerHostVO mshost) {
+ private boolean pingManagementNode(final ManagementServerHostVO mshost) {
- String targetIp = mshost.getServiceIP();
+ final String targetIp = mshost.getServiceIP();
if ("127.0.0.1".equals(targetIp) || "0.0.0.0".equals(targetIp)) {
s_logger.info("ping management node cluster service can not be performed on self");
return false;
@@ -1131,10 +1142,10 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
sch.configureBlocking(true);
sch.socket().setSoTimeout(5000);
- InetSocketAddress addr = new InetSocketAddress(targetIp, mshost.getServicePort());
+ final InetSocketAddress addr = new InetSocketAddress(targetIp, mshost.getServicePort());
sch.connect(addr);
return true;
- } catch (IOException e) {
+ } catch (final IOException e) {
if (e instanceof ConnectException) {
s_logger.error("Unable to ping management server at " + targetIp + ":" + mshost.getServicePort() + " due to ConnectException", e);
return false;
@@ -1143,14 +1154,14 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
if (sch != null) {
try {
sch.close();
- } catch (IOException e) {
+ } catch (final IOException e) {
}
}
}
try {
Thread.sleep(1000);
- } catch (InterruptedException ex) {
+ } catch (final InterruptedException ex) {
}
}
@@ -1163,31 +1174,31 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
}
private void checkConflicts() throws ConfigurationException {
- Date cutTime = DateUtil.currentGMTTime();
- List<ManagementServerHostVO> peers = _mshostDao.getActiveList(new Date(cutTime.getTime() - HeartbeatThreshold.value()));
- for (ManagementServerHostVO peer : peers) {
- String peerIP = peer.getServiceIP().trim();
+ final Date cutTime = DateUtil.currentGMTTime();
+ final List<ManagementServerHostVO> peers = _mshostDao.getActiveList(new Date(cutTime.getTime() - HeartbeatThreshold.value()));
+ for (final ManagementServerHostVO peer : peers) {
+ final String peerIP = peer.getServiceIP().trim();
if (_clusterNodeIP.equals(peerIP)) {
if ("127.0.0.1".equals(_clusterNodeIP)) {
if (pingManagementNode(peer.getMsid())) {
- String msg = "Detected another management node with localhost IP is already running, please check your cluster configuration";
+ final String msg = "Detected another management node with localhost IP is already running, please check your cluster configuration";
s_logger.error(msg);
throw new ConfigurationException(msg);
} else {
- String msg =
- "Detected another management node with localhost IP is considered as running in DB, however it is not pingable, we will continue cluster initialization with this management server node";
+ final String msg =
+ "Detected another management node with localhost IP is considered as running in DB, however it is not pingable, we will continue cluster initialization with this management server node";
s_logger.info(msg);
}
} else {
if (pingManagementNode(peer.getMsid())) {
- String msg =
- "Detected that another management node with the same IP " + peer.getServiceIP() +
+ final String msg =
+ "Detected that another management node with the same IP " + peer.getServiceIP() +
" is already running, please check your cluster configuration";
s_logger.error(msg);
throw new ConfigurationException(msg);
} else {
- String msg =
- "Detected that another management node with the same IP " + peer.getServiceIP() +
+ final String msg =
+ "Detected that another management node with the same IP " + peer.getServiceIP() +
" is considered as running in DB, however it is not pingable, we will continue cluster initialization with this management server node";
s_logger.info(msg);
}
[42/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Add git status output to debug git fetch failures
Signed-off-by: Daan Hoogland <da...@onecht.net>
This closes #523
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/12d52401
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/12d52401
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/12d52401
Branch: refs/heads/dhcpoffload
Commit: 12d52401f778cb78b5dea798300c3468f95a90e0
Parents: 916aead
Author: Rafael da Fonseca <rs...@gmail.com>
Authored: Thu Jun 25 00:56:07 2015 +0200
Committer: Daan Hoogland <da...@onecht.net>
Committed: Thu Jun 25 11:29:13 2015 +0200
----------------------------------------------------------------------
tools/travis/before_install.sh | 3 +++
1 file changed, 3 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/12d52401/tools/travis/before_install.sh
----------------------------------------------------------------------
diff --git a/tools/travis/before_install.sh b/tools/travis/before_install.sh
index b0d33a1..7231ecb 100755
--- a/tools/travis/before_install.sh
+++ b/tools/travis/before_install.sh
@@ -49,6 +49,9 @@ javac -version
echo -e "\nMaven Version: "
mvn -v
+echo -e "\nCheck Git status"
+git status
+
echo -e "\nUpdating the system: "
sudo apt-get -q -y update > /dev/null
[32/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Merge branch 'test/pr518'
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/6c5bc961
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/6c5bc961
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/6c5bc961
Branch: refs/heads/dhcpoffload
Commit: 6c5bc96174a8b081c3153db85c15b5afeb16b4b8
Parents: da72bb9 4463881
Author: wilderrodrigues <wr...@schubergphilis.com>
Authored: Wed Jun 24 09:54:07 2015 +0200
Committer: wilderrodrigues <wr...@schubergphilis.com>
Committed: Wed Jun 24 09:54:07 2015 +0200
----------------------------------------------------------------------
test/integration/component/test_stopped_vm.py | 49 +++++++++++++---------
1 file changed, 30 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
[25/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Testing the elapsed time between 2 consecultive calls to System.nanoTime()
- 1 test was added
Signed-off-by: Daan Hoogland <da...@onecht.net>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/2f145378
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/2f145378
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/2f145378
Branch: refs/heads/dhcpoffload
Commit: 2f145378dff577bd153e0585f4990f637185d900
Parents: 5557ad5
Author: wilderrodrigues <wr...@schubergphilis.com>
Authored: Tue Jun 23 19:21:29 2015 +0200
Committer: Daan Hoogland <da...@onecht.net>
Committed: Wed Jun 24 09:36:40 2015 +0200
----------------------------------------------------------------------
utils/test/com/cloud/utils/TestProfiler.java | 14 ++++++++++++++
1 file changed, 14 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2f145378/utils/test/com/cloud/utils/TestProfiler.java
----------------------------------------------------------------------
diff --git a/utils/test/com/cloud/utils/TestProfiler.java b/utils/test/com/cloud/utils/TestProfiler.java
index cbd28f5..d801059 100644
--- a/utils/test/com/cloud/utils/TestProfiler.java
+++ b/utils/test/com/cloud/utils/TestProfiler.java
@@ -94,4 +94,18 @@ public class TestProfiler extends Log4jEnabledTestCase {
Assert.assertTrue(pf.getDurationInMillis() == -1);
Assert.assertFalse(pf.isStopped());
}
+
+ @Test
+ public void testResolution() {
+ long nanoTime1 = 0l;
+ long nanoTime2 = 0l;
+ nanoTime1 = System.nanoTime();
+ nanoTime2 = System.nanoTime();
+ System.out.println("Nano time 1: " + nanoTime1);
+ System.out.println("Nano time 2: " + nanoTime2);
+
+ // We are measuring the elapsed time in 2 consecutive calls of System.nanoTime()
+ // That's the same as 0.002 milliseconds or 2000 nanoseconds.
+ Assert.assertTrue("It took more than 2 microseconds between 2 consecutive calls to System.nanoTime().", nanoTime2 - nanoTime1 <= 2000);
+ }
}
\ No newline at end of file
[16/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
CLOUDSTACK-8578: fix listVirtualMachines does not return deleted machines when zone is specified
Signed-off-by: Daan Hoogland <da...@gmail.com>
This closes #510
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/82ecc1aa
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/82ecc1aa
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/82ecc1aa
Branch: refs/heads/dhcpoffload
Commit: 82ecc1aa06e75bb15fe5d0bd8628f7acc6b61623
Parents: 66d51c9
Author: Rene Moser <re...@apache.org>
Authored: Tue Jun 23 10:17:25 2015 +0200
Committer: Daan Hoogland <da...@gmail.com>
Committed: Tue Jun 23 14:53:08 2015 +0200
----------------------------------------------------------------------
server/src/com/cloud/api/query/QueryManagerImpl.java | 4 ----
1 file changed, 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/82ecc1aa/server/src/com/cloud/api/query/QueryManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java b/server/src/com/cloud/api/query/QueryManagerImpl.java
index 8179882..9840958 100644
--- a/server/src/com/cloud/api/query/QueryManagerImpl.java
+++ b/server/src/com/cloud/api/query/QueryManagerImpl.java
@@ -982,10 +982,6 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
if (zoneId != null) {
sc.setParameters("dataCenterId", zoneId);
-
- if (state == null) {
- sc.setParameters("stateNEQ", "Destroyed");
- }
}
if (affinityGroupId != null) {
[29/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
CLOUDSTACK-8574: Skip testcases including data disk creation for LXC if storagePool type is not RBD
Signed-off-by: wilderrodrigues <wr...@schubergphilis.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/6f643fc4
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/6f643fc4
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/6f643fc4
Branch: refs/heads/dhcpoffload
Commit: 6f643fc48690b0cdc3649f32e721221c7f0e9650
Parents: 7d70e49
Author: pritisarap12 <pr...@clogeny.com>
Authored: Fri Jun 19 16:11:46 2015 +0530
Committer: wilderrodrigues <wr...@schubergphilis.com>
Committed: Wed Jun 24 09:43:55 2015 +0200
----------------------------------------------------------------------
test/integration/component/test_stopped_vm.py | 39 ++++++++++++++++++++--
1 file changed, 37 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6f643fc4/test/integration/component/test_stopped_vm.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_stopped_vm.py b/test/integration/component/test_stopped_vm.py
index de04d82..53a92bc 100644
--- a/test/integration/component/test_stopped_vm.py
+++ b/test/integration/component/test_stopped_vm.py
@@ -19,7 +19,7 @@
"""
# Import Local Modules
from nose.plugins.attrib import attr
-from marvin.cloudstackTestCase import cloudstackTestCase
+from marvin.cloudstackTestCase import cloudstackTestCase,unittest
from marvin.lib.utils import cleanup_resources
from marvin.lib.base import (Account,
VirtualMachine,
@@ -36,7 +36,8 @@ from marvin.lib.common import (get_zone,
get_domain,
get_template,
get_builtin_template_info,
- update_resource_limit)
+ update_resource_limit,
+ find_storage_pool_type)
from marvin.codes import PASS
@@ -53,6 +54,13 @@ class TestDeployVM(cloudstackTestCase):
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
+ raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
+
+
cls.template = get_template(
cls.api_client,
cls.zone.id,
@@ -743,6 +751,12 @@ class TestDeployHaEnabledVM(cloudstackTestCase):
cls.testdata = cls.testClient.getParsedTestDataConfig()
# Get Zone, Domain and templates
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
+ raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
+
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
@@ -946,6 +960,12 @@ class TestRouterStateAfterDeploy(cloudstackTestCase):
cls.testdata = cls.testClient.getParsedTestDataConfig()
# Get Zone, Domain and templates
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
+ raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
+
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
@@ -1102,6 +1122,12 @@ class TestDeployVMBasicZone(cloudstackTestCase):
cls.testdata = cls.testClient.getParsedTestDataConfig()
# Get Zone, Domain and templates
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
+ raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
+
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
@@ -1169,6 +1195,7 @@ class TestDeployVMFromTemplate(cloudstackTestCase):
cls.api_client = cls.testClient.getApiClient()
cls.testdata = cls.testClient.getParsedTestDataConfig()
+
# Get Zone, Domain and templates
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
@@ -1297,6 +1324,7 @@ class TestVMAccountLimit(cloudstackTestCase):
cls.api_client = cls.testClient.getApiClient()
cls.testdata = cls.testClient.getParsedTestDataConfig()
+
# Get Zone, Domain and templates
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
@@ -1419,6 +1447,12 @@ class TestUploadAttachVolume(cloudstackTestCase):
cls.api_client = cls.testClient.getApiClient()
cls.testdata = cls.testClient.getParsedTestDataConfig()
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
+ raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
+
# Get Zone, Domain and templates
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
@@ -1537,6 +1571,7 @@ class TestDeployOnSpecificHost(cloudstackTestCase):
cls.api_client = cls.testClient.getApiClient()
cls.testdata = cls.testClient.getParsedTestDataConfig()
+
# Get Zone, Domain and templates
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
[17/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
findbugs: move assert to a place where it still makes sense
Signed-off-by: Daan Hoogland <da...@onecht.net>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/e8984d16
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/e8984d16
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/e8984d16
Branch: refs/heads/dhcpoffload
Commit: e8984d16ed2e77fc93d94ef6a3a27bceccee371b
Parents: 82ecc1a
Author: Daan Hoogland <da...@onecht.net>
Authored: Tue Jun 23 22:21:29 2015 +0200
Committer: Daan Hoogland <da...@onecht.net>
Committed: Tue Jun 23 23:27:03 2015 +0200
----------------------------------------------------------------------
.../com/cloud/baremetal/networkservice/BaremetalPxeElement.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e8984d16/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeElement.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeElement.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeElement.java
index 10b81c2..da28668 100644
--- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeElement.java
+++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeElement.java
@@ -127,10 +127,10 @@ public class BaremetalPxeElement extends AdapterBase implements NetworkElement {
}
VMInstanceVO vo = _vmDao.findById(vm.getId());
+ assert vo != null : "Where ths nic " + nic.getId() + " going???";
if (vo.getLastHostId() == null) {
nic.setMacAddress(dest.getHost().getPrivateMacAddress());
NicVO nicVo = _nicDao.findById(nic.getId());
- assert vo != null : "Where ths nic " + nic.getId() + " going???";
nicVo.setMacAddress(nic.getMacAddress());
_nicDao.update(nicVo.getId(), nicVo);
[03/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Fix findbugs SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING warning in Upgrade410to420.java
Signed-off-by: Daan Hoogland <da...@gmail.com>
This closes #505
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/53e42fb4
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/53e42fb4
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/53e42fb4
Branch: refs/heads/dhcpoffload
Commit: 53e42fb45e87ff7369bd72fdb80a101ca320a292
Parents: b929db1
Author: Rafael da Fonseca <rs...@gmail.com>
Authored: Mon Jun 22 01:07:59 2015 +0200
Committer: Daan Hoogland <da...@gmail.com>
Committed: Mon Jun 22 10:55:29 2015 +0200
----------------------------------------------------------------------
engine/schema/src/com/cloud/upgrade/dao/Upgrade410to420.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/53e42fb4/engine/schema/src/com/cloud/upgrade/dao/Upgrade410to420.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/upgrade/dao/Upgrade410to420.java b/engine/schema/src/com/cloud/upgrade/dao/Upgrade410to420.java
index 51da73f..7e7f7b7 100644
--- a/engine/schema/src/com/cloud/upgrade/dao/Upgrade410to420.java
+++ b/engine/schema/src/com/cloud/upgrade/dao/Upgrade410to420.java
@@ -692,9 +692,10 @@ public class Upgrade410to420 implements DbUpgrade {
try(ResultSet rsLabel = sel_pstmt.executeQuery();) {
newLabel = getNewLabel(rsLabel, trafficTypeVswitchParamValue);
try(PreparedStatement update_pstmt =
- conn.prepareStatement("update physical_network_traffic_types set vmware_network_label = " + newLabel + " where traffic_type = '" + trafficType +
- "' and vmware_network_label is not NULL;");) {
+ conn.prepareStatement("update physical_network_traffic_types set vmware_network_label = ? where traffic_type = ? and vmware_network_label is not NULL;");) {
s_logger.debug("Updating vmware label for " + trafficType + " traffic. Update SQL statement is " + pstmt);
+ pstmt.setString(1, newLabel);
+ pstmt.setString(2, trafficType);
update_pstmt.executeUpdate();
}catch (SQLException e) {
throw new CloudRuntimeException("Unable to set vmware traffic labels ", e);
[04/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Cleanup some lint checker warning in base classes
Signed-off-by: Daan Hoogland <da...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/1603f722
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/1603f722
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/1603f722
Branch: refs/heads/dhcpoffload
Commit: 1603f722c4be9fafd54a2f6dcee789ac56d0b053
Parents: 540b163
Author: Rafael da Fonseca <rs...@gmail.com>
Authored: Sun Jun 21 15:56:18 2015 +0200
Committer: Daan Hoogland <da...@gmail.com>
Committed: Mon Jun 22 13:01:18 2015 +0200
----------------------------------------------------------------------
plugins/hypervisors/ovm3/pom.xml | 5 +++++
.../com/cloud/hypervisor/ovm3/objects/CloudstackPlugin.java | 7 ++++---
.../main/java/com/cloud/hypervisor/ovm3/objects/Linux.java | 1 +
.../main/java/com/cloud/hypervisor/ovm3/objects/Network.java | 5 +++--
.../java/com/cloud/hypervisor/ovm3/objects/OvmObject.java | 4 ----
.../src/main/java/com/cloud/hypervisor/ovm3/objects/Pool.java | 2 ++
.../java/com/cloud/hypervisor/ovm3/objects/Repository.java | 3 +++
.../java/com/cloud/hypervisor/ovm3/objects/StoragePlugin.java | 3 +++
.../src/main/java/com/cloud/hypervisor/ovm3/objects/Xen.java | 4 ++++
.../ovm3/resources/helpers/Ovm3ConfigurationTest.java | 2 +-
10 files changed, 26 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1603f722/plugins/hypervisors/ovm3/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/pom.xml b/plugins/hypervisors/ovm3/pom.xml
index 24ef6a4..d7b1138 100644
--- a/plugins/hypervisors/ovm3/pom.xml
+++ b/plugins/hypervisors/ovm3/pom.xml
@@ -55,6 +55,11 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
+ <showDeprecation>true</showDeprecation>
+ <showWarnings>true</showWarnings>
+ <debug>true</debug>
+ <debuglevel>lines,vars,source</debuglevel>
+ <verbose>true</verbose>
<useIncrementalCompilation>true</useIncrementalCompilation>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<compilerArgs>
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1603f722/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/CloudstackPlugin.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/CloudstackPlugin.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/CloudstackPlugin.java
index 67d993a..3871787 100644
--- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/CloudstackPlugin.java
+++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/CloudstackPlugin.java
@@ -56,6 +56,7 @@ public class CloudstackPlugin extends OvmObject {
put("err", null);
put("out", null);
}
+ private static final long serialVersionUID = 5L;
};
public ReturnCode() {
}
@@ -120,7 +121,7 @@ public class CloudstackPlugin extends OvmObject {
Integer sleep = interval;
try {
while (!x && retries > 0) {
- x = (Boolean) nullIsFalseCallWrapper("check_dom0_port", ip, port, interval);
+ x = nullIsFalseCallWrapper("check_dom0_port", ip, port, interval);
retries--;
Thread.sleep(sleep * 1000);
}
@@ -177,9 +178,9 @@ public class CloudstackPlugin extends OvmObject {
return (Boolean) callWrapper("check_dom0_storage_health", path, script, guid, timeout);
}
public boolean ovsMkdirs(String dir) throws Ovm3ResourceException{
- return (Boolean) nullIsTrueCallWrapper("ovs_mkdirs", dir);
+ return nullIsTrueCallWrapper("ovs_mkdirs", dir);
}
public boolean ovsMkdirs(String dir, Integer mode) throws Ovm3ResourceException{
- return (Boolean) nullIsTrueCallWrapper("ovs_mkdirs", dir, mode);
+ return nullIsTrueCallWrapper("ovs_mkdirs", dir, mode);
}
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1603f722/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Linux.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Linux.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Linux.java
index 4ae933c..b037dd7 100644
--- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Linux.java
+++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Linux.java
@@ -305,6 +305,7 @@ public class Linux extends OvmObject {
put(MOUNTPOINT, null);
put("Uuid", null);
}
+ private static final long serialVersionUID = 123L;
};
public Boolean setDetails(Map<String, Object> fs) {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1603f722/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Network.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Network.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Network.java
index f6e0848..008eb43 100644
--- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Network.java
+++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Network.java
@@ -57,6 +57,7 @@ public class Network extends OvmObject {
put("MAC", null);
put("Vlan", null);
}
+ private static final long serialVersionUID = 6L;
};
public Interface() {
@@ -294,7 +295,7 @@ public class Network extends OvmObject {
public Object ovsBrConfig(String action, String br, String net)
throws Ovm3ResourceException {
- return (Object) callWrapper("ovs_br_config", action, br, net);
+ return callWrapper("ovs_br_config", action, br, net);
}
/* 1 is untagged, goes till 4095 */
@@ -319,7 +320,7 @@ public class Network extends OvmObject {
private Object ovsVlanBridge(String action, String br, String net, int vlan)
throws Ovm3ResourceException {
- return (Object) callWrapper("ovs_vlan_bridge", action, br, net, vlan);
+ return callWrapper("ovs_vlan_bridge", action, br, net, vlan);
}
/*
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1603f722/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/OvmObject.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/OvmObject.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/OvmObject.java
index cfe249e..d7ef8cd 100644
--- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/OvmObject.java
+++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/OvmObject.java
@@ -93,7 +93,6 @@ public class OvmObject {
}
/* nice try but doesn't work like that .. */
- @SafeVarargs
public final <T> Object callWrapper(String call, T... args)
throws Ovm3ResourceException {
List<T> params = new ArrayList<T>();
@@ -109,7 +108,6 @@ public class OvmObject {
}
/* should check on nil ? */
- @SafeVarargs
public final <T> Boolean nullCallWrapper(String call, Boolean nullReturn, T... args) throws Ovm3ResourceException {
Object x = callWrapper(call, args);
if (x == null) {
@@ -120,11 +118,9 @@ public class OvmObject {
return false;
}
- @SafeVarargs
public final <T> Boolean nullIsFalseCallWrapper(String call, T... args) throws Ovm3ResourceException {
return nullCallWrapper(call, false, args);
}
- @SafeVarargs
public final <T> Boolean nullIsTrueCallWrapper(String call, T... args) throws Ovm3ResourceException {
return nullCallWrapper(call, true, args);
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1603f722/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Pool.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Pool.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Pool.java
index 066a08a..48778d9 100644
--- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Pool.java
+++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Pool.java
@@ -38,6 +38,7 @@ public class Pool extends OvmObject {
add("xen");
add("utility");
}
+ private static final long serialVersionUID = 1L;
};
private List<String> poolHosts = new ArrayList<String>();
private final List<String> poolRoles = new ArrayList<String>();
@@ -155,6 +156,7 @@ public class Pool extends OvmObject {
put("manager_certificate", managerCert);
put("signed_server_certificate", signedCert);
}
+ private static final long serialVersionUID = 1L;
};
Boolean rc = nullIsTrueCallWrapper("take_ownership", mgrConfig);
/* because it restarts when it's done.... 2000? -sigh- */
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1603f722/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Repository.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Repository.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Repository.java
index 36b9ea8..7cbf0e7 100644
--- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Repository.java
+++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Repository.java
@@ -63,6 +63,7 @@ public class Repository extends OvmObject {
}
public static class RepoDbDetails {
+ private static final long serialVersionUID = 2L;
private final Map<String, String> dbEntry = new HashMap<String, String>() {
{
put("Uuid", null);
@@ -74,6 +75,7 @@ public class Repository extends OvmObject {
put("Manager_uuid", null);
put("Status", null);
}
+ private static final long serialVersionUID = 1L;
};
public RepoDbDetails() {
@@ -127,6 +129,7 @@ public class Repository extends OvmObject {
private List<String> virtualDisks = new ArrayList<String>();
private List<String> isos = new ArrayList<String>();
private final Map<String, String> dbEntry = new HashMap<String, String>() {
+ private static final long serialVersionUID = 1L;
{
put("Repository_UUID", null);
put(VERSION, null);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1603f722/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/StoragePlugin.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/StoragePlugin.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/StoragePlugin.java
index e581dea..5bfacd2 100644
--- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/StoragePlugin.java
+++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/StoragePlugin.java
@@ -85,6 +85,7 @@ public class StoragePlugin extends OvmObject {
put(NAME, EMPTY_STRING);
put(MOUNTOPTIONS, new ArrayList<String>());
}
+ private static final long serialVersionUID = 3L;
};
public Map<String, Object> getDetails() {
return storageDetails;
@@ -180,6 +181,7 @@ public class StoragePlugin extends OvmObject {
put(USEDSIZE, 0);
put(NAME, EMPTY_STRING);
}
+ private static final long serialVersionUID = 4L;
};
public Map<String, Object> getDetails() {
return storageSource;
@@ -285,6 +287,7 @@ public class StoragePlugin extends OvmObject {
put(FILEPATH, EMPTY_STRING);
put(FILESIZE, EMPTY_STRING);
}
+ private static final long serialVersionUID = 1234L;
};
public Map<String, Object> getProperties() {
return fileProperties;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1603f722/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Xen.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Xen.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Xen.java
index b03473d..6387566 100644
--- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Xen.java
+++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Xen.java
@@ -48,6 +48,7 @@ public class Xen extends OvmObject {
*/
public class Vm {
/* 'vfb': [ 'type=vnc,vncunused=1,vnclisten=127.0.0.1,keymap=en-us'] */
+ private static final long serialVersionUID = 1L;
private final List<String> vmVncElement = new ArrayList<String>();
private Map<String, String> vmVnc = new HashMap<String, String>() {
{
@@ -56,6 +57,7 @@ public class Xen extends OvmObject {
put(VNCLISTEN, "127.0.0.1");
put("keymap", "en-us");
}
+ private static final long serialVersionUID = 1L;
};
/*
@@ -75,6 +77,7 @@ public class Xen extends OvmObject {
put("protocol", "x86_32-abi");
put("uname", "");
}
+ private static final long serialVersionUID = 1L;
};
/* 'vif': [ 'mac=00:21:f6:00:00:00,bridge=c0a80100'] */
@@ -141,6 +144,7 @@ public class Xen extends OvmObject {
put(DOMTYPE, vmDomainType);
put(EXTRA, vmExtra);
}
+ private static final long serialVersionUID = 1L;
};
public boolean isControlDomain() {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1603f722/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3ConfigurationTest.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3ConfigurationTest.java b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3ConfigurationTest.java
index 5cbb2b7..80ee54f 100644
--- a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3ConfigurationTest.java
+++ b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3ConfigurationTest.java
@@ -55,7 +55,7 @@ public class Ovm3ConfigurationTest {
params.put("max.template.iso.size", "50");
params.put("host", "ovm-1");
params.put("com.cloud.network.Networks.RouterPrivateIpStrategy",
- "DcGlobal");
+ "DcGlobal");
params.put("agentport", "8899");
params.put("Host.OS.Kernel.Version", "2.6.39-300.22.2.el5uek");
params.put("migratewait", "3600");
[48/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
CLOUDSTACK-8593: assign __testName if it is not getting set from test
This closes #537
Signed-off-by: SrikanteswaraRao Talluri <ta...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/17ecd653
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/17ecd653
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/17ecd653
Branch: refs/heads/dhcpoffload
Commit: 17ecd65331558e58cbaf158f1fb3a294b607ae8a
Parents: edfe6f4
Author: SrikanteswaraRao Talluri <ta...@apache.org>
Authored: Sun Jun 28 15:52:31 2015 +0530
Committer: SrikanteswaraRao Talluri <ta...@apache.org>
Committed: Sun Jun 28 16:30:53 2015 +0530
----------------------------------------------------------------------
tools/marvin/marvin/marvinPlugin.py | 2 ++
1 file changed, 2 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/17ecd653/tools/marvin/marvin/marvinPlugin.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/marvinPlugin.py b/tools/marvin/marvin/marvinPlugin.py
index dfba4c1..bd55763 100644
--- a/tools/marvin/marvin/marvinPlugin.py
+++ b/tools/marvin/marvin/marvinPlugin.py
@@ -168,6 +168,8 @@ class MarvinPlugin(Plugin):
def beforeTest(self, test):
self.__testModName = test.__str__()
self.__testName = test.__str__().split()[0]
+ if not self.__testName:
+ self.__testName = "test"
self.__testClient.identifier = '-'.\
join([self.__identifier, self.__testName])
if self.__tcRunLogger:
[44/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Reduce script running time around 80% This resolves the performance penalty introduced by adding the midonet repo
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>
This closes #530
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/bdd42a41
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/bdd42a41
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/bdd42a41
Branch: refs/heads/dhcpoffload
Commit: bdd42a4157a65c2cb02233adfd99f5ebba98c571
Parents: c0bf00c
Author: Rafael da Fonseca <rs...@gmail.com>
Authored: Thu Jun 25 16:57:51 2015 +0200
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Fri Jun 26 00:00:13 2015 +0200
----------------------------------------------------------------------
tools/travis/downloadDeps.sh | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bdd42a41/tools/travis/downloadDeps.sh
----------------------------------------------------------------------
diff --git a/tools/travis/downloadDeps.sh b/tools/travis/downloadDeps.sh
index b4617ec..c05e5f5 100755
--- a/tools/travis/downloadDeps.sh
+++ b/tools/travis/downloadDeps.sh
@@ -85,7 +85,10 @@ cat deps.out | LANG=C sort -u > cleandeps.out
#Define index of pomfiles, to avoid duplicate deps with different versions in pom.xml, several poms are created in case of more than one version of same artifact
LASTPOM=0
-echo '<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.apache.cloudstack</groupId><artifactId>travis-build-deps</artifactId><name>Download Deps for Travis CI</name><version>1</version><repositories><repository><id>mido-maven-public-releases</id><name>mido-maven-public-releases</name><url>http://cs-maven.midokura.com/releases</url></repository><repository><id>juniper-contrail</id><url>http://juniper.github.io/contrail-maven/snapshots</url></repository></repositories><dependencies>' > pom${LASTPOM}.xml
+#Create first pom
+echo '<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.apache.cloudstack</groupId><artifactId>travis-build-deps</artifactId><name>Download Deps for Travis CI</name><version>1</version><dependencies>' > pom${LASTPOM}.xml
+#Create pom for dependencies not on central repo, this is done separately to not adversely impact performance on downloading the majority of deps
+echo '<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.apache.cloudstack</groupId><artifactId>travis-build-deps</artifactId><name>Download Deps for Travis CI</name><version>1</version><repositories><repository><id>mido-maven-public-releases</id><name>mido-maven-public-releases</name><url>http://cs-maven.midokura.com/releases</url></repository><repository><id>juniper-contrail</id><url>http://juniper.github.io/contrail-maven/snapshots</url></repository></repositories><dependencies>' > pomX.xml
while read line ; do
set -- $line
#This relies on correct sorting, and distributes different versions of same dependency througout different pom files
@@ -95,16 +98,21 @@ while read line ; do
if [[ $POMID -gt $LASTPOM ]]; then
LASTPOM=$POMID
#This outputs the necessary structure to start a pom and also defines the extra repositories
- echo '<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.apache.cloudstack</groupId><artifactId>travis-build-deps</artifactId><name>Download Deps for Travis CI</name><version>1</version><repositories><repository><id>mido-maven-public-releases</id><name>mido-maven-public-releases</name><url>http://cs-maven.midokura.com/releases</url></repository><repository><id>juniper-contrail</id><url>http://juniper.github.io/contrail-maven/snapshots</url></repository></repositories><dependencies>' > pom${LASTPOM}.xml
+ echo '<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.apache.cloudstack</groupId><artifactId>travis-build-deps</artifactId><name>Download Deps for Travis CI</name><version>1</version><dependencies>' > pom${LASTPOM}.xml
fi
else
POMID=0
fi
LASTARTIFACT=$2
- echo "<dependency><groupId>$1</groupId><artifactId>$2</artifactId><version>$3</version></dependency>" >> pom${POMID}.xml
+ if [[ $1 == org.midonet ]] || [[ $1 == net.juniper* ]]; then
+ echo "<dependency><groupId>$1</groupId><artifactId>$2</artifactId><version>$3</version></dependency>" >> pomX.xml
+ else
+ echo "<dependency><groupId>$1</groupId><artifactId>$2</artifactId><version>$3</version></dependency>" >> pom${POMID}.xml
+ fi
done < cleandeps.out
RETURN_CODE=0
+#Close and resolve all pom files
for ((i=0;i<=$LASTPOM;i++))
do
echo "</dependencies></project>" >> pom${i}.xml
@@ -113,6 +121,9 @@ do
RETURN_CODE=1
fi
done
+#Close and resolve external deps pom file
+echo "</dependencies></project>" >> pomX.xml
+mvn org.apache.maven.plugins:maven-dependency-plugin:resolve -f pomX.xml
#Run a few plugin goals to download some more deps
[10/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Specify all external dependencies in pom Upgrade to lang3 and change usage of deprecated xmlparse method
Add another missing dependency
Signed-off-by: Daan Hoogland <da...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/301a7b9a
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/301a7b9a
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/301a7b9a
Branch: refs/heads/dhcpoffload
Commit: 301a7b9a7e26a803d9d7b02d7bb537c8393dca26
Parents: 1603f72
Author: Rafael da Fonseca <rs...@gmail.com>
Authored: Sun Jun 21 16:52:37 2015 +0200
Committer: Daan Hoogland <da...@gmail.com>
Committed: Mon Jun 22 13:01:19 2015 +0200
----------------------------------------------------------------------
plugins/hypervisors/ovm3/pom.xml | 52 +++++++++++++++++---
.../com/cloud/hypervisor/ovm3/objects/Pool.java | 2 +-
.../com/cloud/hypervisor/ovm3/objects/Xen.java | 2 +-
.../resources/helpers/Ovm3Configuration.java | 4 +-
.../ovm3/objects/XmlTestResultTest.java | 4 +-
5 files changed, 51 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/301a7b9a/plugins/hypervisors/ovm3/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/pom.xml b/plugins/hypervisors/ovm3/pom.xml
index d7b1138..a0c8a9b 100644
--- a/plugins/hypervisors/ovm3/pom.xml
+++ b/plugins/hypervisors/ovm3/pom.xml
@@ -27,11 +27,41 @@
<relativePath>../../pom.xml</relativePath>
</parent>
<dependencies>
-<dependency>
- <groupId>org.apache.xmlrpc</groupId>
- <artifactId>xmlrpc-client</artifactId>
- <version>3.1.3</version>
-</dependency>
+ <dependency>
+ <groupId>xml-apis</groupId>
+ <artifactId>xml-apis</artifactId>
+ <version>1.4.01</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xmlrpc</groupId>
+ <artifactId>xmlrpc-client</artifactId>
+ <version>3.1.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xmlrpc</groupId>
+ <artifactId>xmlrpc-common</artifactId>
+ <version>3.1.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.4</version>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.17</version>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <version>1.9.5</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.12</version>
+ </dependency>
</dependencies>
<build>
<sourceDirectory>${basedir}/src/main/java</sourceDirectory>
@@ -55,16 +85,24 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
+ <optimize>true</optimize>
+ <proc>none</proc>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<debug>true</debug>
<debuglevel>lines,vars,source</debuglevel>
<verbose>true</verbose>
- <useIncrementalCompilation>true</useIncrementalCompilation>
+ <useIncrementalCompilation>false</useIncrementalCompilation>
+ <failOnError>false</failOnError>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
+ <compilerReuseStrategy>alwaysNew</compilerReuseStrategy>
<compilerArgs>
<arg>-verbose</arg>
- <arg>-Xlint:all,-options,-path</arg>
+ <arg>-Xlint:all</arg>
+ <arg>-version</arg>
+ <arg>-deprecation</arg>
+ <arg>-Xprefer:source</arg>
+ <arg>-XprintProcessorInfo</arg>
</compilerArgs>
</configuration>
</plugin>
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/301a7b9a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Pool.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Pool.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Pool.java
index 48778d9..cf62993 100644
--- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Pool.java
+++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Pool.java
@@ -22,7 +22,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.w3c.dom.Document;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/301a7b9a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Xen.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Xen.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Xen.java
index 6387566..ddf6a56 100644
--- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Xen.java
+++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/Xen.java
@@ -23,7 +23,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
public class Xen extends OvmObject {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/301a7b9a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3Configuration.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3Configuration.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3Configuration.java
index 6775a146..2154225 100644
--- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3Configuration.java
+++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3Configuration.java
@@ -24,7 +24,7 @@ import java.util.Map;
import javax.naming.ConfigurationException;
-import org.apache.commons.lang.BooleanUtils;
+import org.apache.commons.lang3.BooleanUtils;
import org.apache.log4j.Logger;
import com.cloud.hypervisor.ovm3.objects.Network;
@@ -34,7 +34,7 @@ import com.cloud.utils.net.NetUtils;
/* holds config data for the Ovm3 Hypervisor */
public class Ovm3Configuration {
private static final Logger LOGGER = Logger
- .getLogger(Ovm3Configuration.class);
+ .getLogger(Ovm3Configuration.class);
private String agentIp;
private Long agentZoneId;
private Long agentPodId;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/301a7b9a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/XmlTestResultTest.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/XmlTestResultTest.java b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/XmlTestResultTest.java
index 6e44a2b..b175a16 100644
--- a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/XmlTestResultTest.java
+++ b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/XmlTestResultTest.java
@@ -22,7 +22,7 @@ import static org.junit.Assert.assertNotNull;
import java.util.List;
-import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
public class XmlTestResultTest {
private static final String NULL = "<nil/>";
@@ -33,7 +33,7 @@ public class XmlTestResultTest {
public String escapeOrNot(String s) {
if (s.startsWith("<")) {
- return StringEscapeUtils.escapeXml(s);
+ return StringEscapeUtils.escapeXml10(s);
}
return s;
}
[22/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
CLOUDSTACK-8583 :fixing issue related to script test_stopped_vm
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/4577af72
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/4577af72
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/4577af72
Branch: refs/heads/dhcpoffload
Commit: 4577af7206f57497a529f43f4ab18a212a144d6b
Parents: c599f63
Author: nitt10prashant <ni...@gmail.com>
Authored: Wed Jun 24 12:31:23 2015 +0530
Committer: nitt10prashant <ni...@gmail.com>
Committed: Wed Jun 24 12:31:23 2015 +0530
----------------------------------------------------------------------
test/integration/component/test_stopped_vm.py | 52 +++++++++++++---------
1 file changed, 32 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4577af72/test/integration/component/test_stopped_vm.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_stopped_vm.py b/test/integration/component/test_stopped_vm.py
index 89c8aec..d3e5cd5 100644
--- a/test/integration/component/test_stopped_vm.py
+++ b/test/integration/component/test_stopped_vm.py
@@ -36,7 +36,8 @@ from marvin.lib.common import (get_zone,
get_domain,
get_template,
get_builtin_template_info,
- update_resource_limit)
+ update_resource_limit,
+ find_storage_pool_type)
from marvin.codes import PASS
@@ -52,6 +53,11 @@ class TestDeployVM(cloudstackTestCase):
# Get Zone, Domain and templates
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ cls.unsupportedStorageType = False
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.api_client, storagetype='rbd'):
+ cls.unsupportedStorageType = True
cls.template = get_template(
cls.api_client,
@@ -136,11 +142,11 @@ class TestDeployVM(cloudstackTestCase):
@attr(
tags=[
- "advanced",
- "eip",
- "advancedns",
- "basic",
- "sg"],
+ "advanced",
+ "eip",
+ "advancedns",
+ "basic",
+ "sg"],
required_hardware="false")
def test_02_deploy_vm_startvm_true(self):
"""Test Deploy Virtual Machine with startVM=true parameter
@@ -161,7 +167,6 @@ class TestDeployVM(cloudstackTestCase):
domainid=self.account.domainid,
serviceofferingid=self.service_offering.id,
startvm=True,
- diskofferingid=self.disk_offering.id,
mode=self.zone.networktype
)
@@ -492,14 +497,15 @@ class TestDeployVM(cloudstackTestCase):
@attr(
tags=[
- "advanced",
- "eip",
- "advancedns",
- "basic",
- "sg"],
+ "advanced",
+ "eip",
+ "advancedns",
+ "basic",
+ "sg"],
required_hardware="false")
def test_08_deploy_attached_volume(self):
- """Test Deploy Virtual Machine with startVM=false and attach volume already attached to different machine
+ """Test Deploy Virtual Machine with startVM=false and attach volume
+ already attached to different machine
"""
# Validate the following:
@@ -509,6 +515,10 @@ class TestDeployVM(cloudstackTestCase):
# 3. Create an instance with datadisk attached to it. Detach DATADISK
# 4. Attach the volume to first virtual machine.
+ if self.unsupportedStorageType:
+ self.skipTest(
+ "unsupported storage type")
+
self.debug("Deploying instance in the account: %s" %
self.account.name)
self.virtual_machine_1 = VirtualMachine.create(
@@ -653,7 +663,8 @@ class TestDeployVM(cloudstackTestCase):
break
if i == 0:
self.skipTest(
- "No cluster with more than one primary storage pool to perform migrate volume test")
+ "No cluster with more than one primary storage pool to "
+ "perform migrate volume test")
hosts = Host.list(
self.apiclient,
@@ -1074,7 +1085,8 @@ class TestRouterStateAfterDeploy(cloudstackTestCase):
self.assertEqual(
router.state,
"Running",
- "Router should be in running state when instance is running in the account")
+ "Router should be in running state when "
+ "instance is running in the account")
self.debug("Destroying the running VM:%s" %
self.virtual_machine_2.name)
self.virtual_machine_2.delete(self.apiclient, expunge=True)
@@ -1245,11 +1257,11 @@ class TestDeployVMFromTemplate(cloudstackTestCase):
@attr(
tags=[
- "advanced",
- "eip",
- "advancedns",
- "basic",
- "sg"],
+ "advanced",
+ "eip",
+ "advancedns",
+ "basic",
+ "sg"],
required_hardware="true")
def test_deploy_vm_password_enabled(self):
"""Test Deploy Virtual Machine with startVM=false & enabledpassword in
[40/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Using Profiler class, from the utils package, instead of System.currentTimeMillis()
Signed-off-by: wilderrodrigues <wr...@schubergphilis.com>
This closes #525
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/916aead9
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/916aead9
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/916aead9
Branch: refs/heads/dhcpoffload
Commit: 916aead9ab081c7bb6ab6bce39a0d643ebcc3104
Parents: 212ae88
Author: wilderrodrigues <wr...@schubergphilis.com>
Authored: Thu Jun 25 08:09:18 2015 +0200
Committer: wilderrodrigues <wr...@schubergphilis.com>
Committed: Thu Jun 25 09:14:23 2015 +0200
----------------------------------------------------------------------
.../src/com/cloud/cluster/ClusterServiceServletImpl.java | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/916aead9/framework/cluster/src/com/cloud/cluster/ClusterServiceServletImpl.java
----------------------------------------------------------------------
diff --git a/framework/cluster/src/com/cloud/cluster/ClusterServiceServletImpl.java b/framework/cluster/src/com/cloud/cluster/ClusterServiceServletImpl.java
index 250b886..9b34724 100644
--- a/framework/cluster/src/com/cloud/cluster/ClusterServiceServletImpl.java
+++ b/framework/cluster/src/com/cloud/cluster/ClusterServiceServletImpl.java
@@ -27,6 +27,8 @@ import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpClientParams;
import org.apache.log4j.Logger;
+import com.cloud.utils.Profiler;
+
public class ClusterServiceServletImpl implements ClusterService {
private static final long serialVersionUID = 4574025200012566153L;
private static final Logger s_logger = Logger.getLogger(ClusterServiceServletImpl.class);
@@ -87,16 +89,19 @@ public class ClusterServiceServletImpl implements ClusterService {
int response = 0;
String result = null;
try {
- final long startTick = System.currentTimeMillis();
+ final Profiler profiler = new Profiler();
+ profiler.start();
response = client.executeMethod(method);
if (response == HttpStatus.SC_OK) {
result = method.getResponseBodyAsString();
+ profiler.stop();
if (s_logger.isDebugEnabled()) {
- s_logger.debug("POST " + _serviceUrl + " response :" + result + ", responding time: " + (System.currentTimeMillis() - startTick) + " ms");
+ s_logger.debug("POST " + _serviceUrl + " response :" + result + ", responding time: " + profiler.getDurationInMillis() + " ms");
}
} else {
+ profiler.stop();
s_logger.error("Invalid response code : " + response + ", from : " + _serviceUrl + ", method : " + method.getParameter("method") + " responding time: " +
- (System.currentTimeMillis() - startTick));
+ profiler.getDurationInMillis());
}
} catch (final HttpException e) {
s_logger.error("HttpException from : " + _serviceUrl + ", method : " + method.getParameter("method"));
[18/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
findbugs volumeInfo is known to not be null
Signed-off-by: Daan Hoogland <da...@onecht.net>
This closes #515
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/8a99df77
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/8a99df77
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/8a99df77
Branch: refs/heads/dhcpoffload
Commit: 8a99df77b66ecec574faccdd2cead9f0411b9fef
Parents: e8984d1
Author: Daan Hoogland <da...@onecht.net>
Authored: Tue Jun 23 22:39:51 2015 +0200
Committer: Daan Hoogland <da...@onecht.net>
Committed: Tue Jun 23 23:27:04 2015 +0200
----------------------------------------------------------------------
.../datastore/driver/ElastistorPrimaryDataStoreDriver.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8a99df77/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/driver/ElastistorPrimaryDataStoreDriver.java
----------------------------------------------------------------------
diff --git a/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/driver/ElastistorPrimaryDataStoreDriver.java b/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/driver/ElastistorPrimaryDataStoreDriver.java
index 2ea0a59..cc7c8ef 100644
--- a/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/driver/ElastistorPrimaryDataStoreDriver.java
+++ b/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/driver/ElastistorPrimaryDataStoreDriver.java
@@ -235,8 +235,8 @@ public class ElastistorPrimaryDataStoreDriver extends CloudStackPrimaryDataStore
long usedBytes = storagePool.getUsedBytes();
long capacityIops = storagePool.getCapacityIops();
- usedBytes -= volumeInfo != null ? volumeInfo.getSize() : 0;
- capacityIops += volumeInfo != null ? volumeInfo.getMaxIops() : 0;
+ usedBytes -= volumeInfo.getSize();
+ capacityIops += volumeInfo.getMaxIops();
storagePool.setUsedBytes(usedBytes < 0 ? 0 : usedBytes);
storagePool.setCapacityIops(capacityIops < 0 ? 0 : capacityIops);
[33/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
findbugs: masking fields removed
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/8a884935
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/8a884935
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/8a884935
Branch: refs/heads/dhcpoffload
Commit: 8a8849354ccbeacf9b58bd82aca3e0753b3810d1
Parents: cbf5155
Author: Daan Hoogland <da...@onecht.net>
Authored: Wed Jun 24 12:24:12 2015 +0200
Committer: Daan Hoogland <da...@onecht.net>
Committed: Wed Jun 24 12:24:12 2015 +0200
----------------------------------------------------------------------
.../allocator/ClusterScopeStoragePoolAllocator.java | 1 -
.../networkservice/BareMetalResourceBase.java | 14 ++++----------
.../networkservice/BaremetalPxeManagerImpl.java | 8 +-------
3 files changed, 5 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8a884935/engine/storage/src/org/apache/cloudstack/storage/allocator/ClusterScopeStoragePoolAllocator.java
----------------------------------------------------------------------
diff --git a/engine/storage/src/org/apache/cloudstack/storage/allocator/ClusterScopeStoragePoolAllocator.java b/engine/storage/src/org/apache/cloudstack/storage/allocator/ClusterScopeStoragePoolAllocator.java
index d78bd09..c4ed2c7 100644
--- a/engine/storage/src/org/apache/cloudstack/storage/allocator/ClusterScopeStoragePoolAllocator.java
+++ b/engine/storage/src/org/apache/cloudstack/storage/allocator/ClusterScopeStoragePoolAllocator.java
@@ -43,7 +43,6 @@ import com.cloud.vm.VirtualMachineProfile;
@Local(value = StoragePoolAllocator.class)
public class ClusterScopeStoragePoolAllocator extends AbstractStoragePoolAllocator {
private static final Logger s_logger = Logger.getLogger(ClusterScopeStoragePoolAllocator.class);
- protected String _allocationAlgorithm = "random";
@Inject
DiskOfferingDao _diskOfferingDao;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8a884935/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BareMetalResourceBase.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BareMetalResourceBase.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BareMetalResourceBase.java
index d760ea1..7075c6b 100644
--- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BareMetalResourceBase.java
+++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BareMetalResourceBase.java
@@ -84,7 +84,6 @@ import java.util.concurrent.TimeUnit;
@Local(value = ServerResource.class)
public class BareMetalResourceBase extends ManagerBase implements ServerResource {
private static final Logger s_logger = Logger.getLogger(BareMetalResourceBase.class);
- protected String _name;
protected String _uuid;
protected String _zone;
protected String _pod;
@@ -119,7 +118,7 @@ public class BareMetalResourceBase extends ManagerBase implements ServerResource
@Override
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
- _name = name;
+ setName(name);
_uuid = (String) params.get("guid");
try {
_memCapacity = Long.parseLong((String) params.get(ApiConstants.MEMORY)) * 1024L * 1024L;
@@ -328,11 +327,6 @@ public class BareMetalResourceBase extends ManagerBase implements ServerResource
}
@Override
- public String getName() {
- return _name;
- }
-
- @Override
public Type getType() {
return com.cloud.host.Host.Type.Routing;
}
@@ -550,7 +544,7 @@ public class BareMetalResourceBase extends ManagerBase implements ServerResource
OutputInterpreter.AllLinesParser interpreter = new OutputInterpreter.AllLinesParser();
if (!doScript(_getStatusCommand, interpreter)) {
success = true;
- s_logger.warn("Cannot get power status of " + _name + ", assume VM state changed successfully");
+ s_logger.warn("Cannot get power status of " + getName() + ", assume VM state changed successfully");
break;
}
@@ -572,7 +566,7 @@ public class BareMetalResourceBase extends ManagerBase implements ServerResource
OutputInterpreter.AllLinesParser interpreter = new OutputInterpreter.AllLinesParser();
if (!doScript(_getStatusCommand, interpreter)) {
- return new StartAnswer(cmd, "Cannot get current power status of " + _name);
+ return new StartAnswer(cmd, "Cannot get current power status of " + getName());
}
if (isPowerOn(interpreter.getLines())) {
@@ -633,7 +627,7 @@ public class BareMetalResourceBase extends ManagerBase implements ServerResource
protected ReadyAnswer execute(ReadyCommand cmd) {
// derived resource should check if the PXE server is ready
- s_logger.debug("Bare metal resource " + _name + " is ready");
+ s_logger.debug("Bare metal resource " + getName() + " is ready");
return new ReadyAnswer(cmd);
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8a884935/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java
index 6019118..f68e7d3 100644
--- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java
+++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java
@@ -75,7 +75,6 @@ import com.cloud.vm.dao.UserVmDao;
@Local(value = {BaremetalPxeManager.class})
public class BaremetalPxeManagerImpl extends ManagerBase implements BaremetalPxeManager, ResourceStateAdapter {
private static final org.apache.log4j.Logger s_logger = Logger.getLogger(BaremetalPxeManagerImpl.class);
- protected String _name;
@Inject
DataCenterDao _dcDao;
@Inject
@@ -101,7 +100,7 @@ public class BaremetalPxeManagerImpl extends ManagerBase implements BaremetalPxe
@Override
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
- _name = name;
+ setName(name);
_resourceMgr.registerResourceStateAdapter(this.getClass().getSimpleName(), this);
return true;
}
@@ -117,11 +116,6 @@ public class BaremetalPxeManagerImpl extends ManagerBase implements BaremetalPxe
return true;
}
- @Override
- public String getName() {
- return _name;
- }
-
protected BaremetalPxeService getServiceByType(String type) {
for (BaremetalPxeService service : _services) {
if (service.getPxeServiceType().equals(type)) {
[50/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Merge branch 'dhcpoffload' of https://git-wip-us.apache.org/repos/asf/cloudstack into dhcpoffload
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/45721aed
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/45721aed
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/45721aed
Branch: refs/heads/dhcpoffload
Commit: 45721aed527dea84581a9a3bf1fe83ed909e30d1
Parents: b8c112e c3304c5
Author: Jayapal <ja...@apache.org>
Authored: Mon Jun 29 12:29:51 2015 +0530
Committer: Jayapal <ja...@apache.org>
Committed: Mon Jun 29 12:29:51 2015 +0530
----------------------------------------------------------------------
----------------------------------------------------------------------
[41/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Formatting class ClusterServiceServletImpl
- Splitting format commit from fix commit.
Signed-off-by: wilderrodrigues <wr...@schubergphilis.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/212ae884
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/212ae884
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/212ae884
Branch: refs/heads/dhcpoffload
Commit: 212ae884a1545f59c9772a8826c04a02c16590c8
Parents: e4f7fb7
Author: wilderrodrigues <wr...@schubergphilis.com>
Authored: Thu Jun 25 08:07:20 2015 +0200
Committer: wilderrodrigues <wr...@schubergphilis.com>
Committed: Thu Jun 25 09:14:23 2015 +0200
----------------------------------------------------------------------
.../cluster/ClusterServiceServletImpl.java | 38 ++++++++++----------
1 file changed, 19 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/212ae884/framework/cluster/src/com/cloud/cluster/ClusterServiceServletImpl.java
----------------------------------------------------------------------
diff --git a/framework/cluster/src/com/cloud/cluster/ClusterServiceServletImpl.java b/framework/cluster/src/com/cloud/cluster/ClusterServiceServletImpl.java
index a103f0b..250b886 100644
--- a/framework/cluster/src/com/cloud/cluster/ClusterServiceServletImpl.java
+++ b/framework/cluster/src/com/cloud/cluster/ClusterServiceServletImpl.java
@@ -38,18 +38,18 @@ public class ClusterServiceServletImpl implements ClusterService {
public ClusterServiceServletImpl() {
}
- public ClusterServiceServletImpl(String serviceUrl) {
+ public ClusterServiceServletImpl(final String serviceUrl) {
s_logger.info("Setup cluster service servlet. service url: " + serviceUrl + ", request timeout: " + ClusterServiceAdapter.ClusterMessageTimeOut.value() +
- " seconds");
+ " seconds");
_serviceUrl = serviceUrl;
}
@Override
- public String execute(ClusterServicePdu pdu) throws RemoteException {
+ public String execute(final ClusterServicePdu pdu) throws RemoteException {
- HttpClient client = getHttpClient();
- PostMethod method = new PostMethod(_serviceUrl);
+ final HttpClient client = getHttpClient();
+ final PostMethod method = new PostMethod(_serviceUrl);
method.addParameter("method", Integer.toString(RemoteMethodConstants.METHOD_DELIVER_PDU));
method.addParameter("sourcePeer", pdu.getSourcePeer());
@@ -65,29 +65,29 @@ public class ClusterServiceServletImpl implements ClusterService {
}
@Override
- public boolean ping(String callingPeer) throws RemoteException {
+ public boolean ping(final String callingPeer) throws RemoteException {
if (s_logger.isDebugEnabled()) {
s_logger.debug("Ping at " + _serviceUrl);
}
- HttpClient client = getHttpClient();
- PostMethod method = new PostMethod(_serviceUrl);
+ final HttpClient client = getHttpClient();
+ final PostMethod method = new PostMethod(_serviceUrl);
method.addParameter("method", Integer.toString(RemoteMethodConstants.METHOD_PING));
method.addParameter("callingPeer", callingPeer);
- String returnVal = executePostMethod(client, method);
+ final String returnVal = executePostMethod(client, method);
if ("true".equalsIgnoreCase(returnVal)) {
return true;
}
return false;
}
- private String executePostMethod(HttpClient client, PostMethod method) {
+ private String executePostMethod(final HttpClient client, final PostMethod method) {
int response = 0;
String result = null;
try {
- long startTick = System.currentTimeMillis();
+ final long startTick = System.currentTimeMillis();
response = client.executeMethod(method);
if (response == HttpStatus.SC_OK) {
result = method.getResponseBodyAsString();
@@ -96,13 +96,13 @@ public class ClusterServiceServletImpl implements ClusterService {
}
} else {
s_logger.error("Invalid response code : " + response + ", from : " + _serviceUrl + ", method : " + method.getParameter("method") + " responding time: " +
- (System.currentTimeMillis() - startTick));
+ (System.currentTimeMillis() - startTick));
}
- } catch (HttpException e) {
+ } catch (final HttpException e) {
s_logger.error("HttpException from : " + _serviceUrl + ", method : " + method.getParameter("method"));
- } catch (IOException e) {
+ } catch (final IOException e) {
s_logger.error("IOException from : " + _serviceUrl + ", method : " + method.getParameter("method"));
- } catch (Throwable e) {
+ } catch (final Throwable e) {
s_logger.error("Exception from : " + _serviceUrl + ", method : " + method.getParameter("method") + ", exception :", e);
} finally {
method.releaseConnection();
@@ -114,14 +114,14 @@ public class ClusterServiceServletImpl implements ClusterService {
private HttpClient getHttpClient() {
if (s_client == null) {
- MultiThreadedHttpConnectionManager mgr = new MultiThreadedHttpConnectionManager();
+ final MultiThreadedHttpConnectionManager mgr = new MultiThreadedHttpConnectionManager();
mgr.getParams().setDefaultMaxConnectionsPerHost(4);
// TODO make it configurable
mgr.getParams().setMaxTotalConnections(1000);
s_client = new HttpClient(mgr);
- HttpClientParams clientParams = new HttpClientParams();
+ final HttpClientParams clientParams = new HttpClientParams();
clientParams.setSoTimeout(ClusterServiceAdapter.ClusterMessageTimeOut.value() * 1000);
s_client.setParams(clientParams);
@@ -130,7 +130,7 @@ public class ClusterServiceServletImpl implements ClusterService {
}
// for test purpose only
- public static void main(String[] args) {
+ public static void main(final String[] args) {
/*
ClusterServiceServletImpl service = new ClusterServiceServletImpl("http://localhost:9090/clusterservice", 300);
try {
@@ -138,6 +138,6 @@ public class ClusterServiceServletImpl implements ClusterService {
System.out.println(result);
} catch (RemoteException e) {
}
- */
+ */
}
}
[09/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Root cause of failure is memory abuse in XenTest.java class ;) This should fix it
Signed-off-by: Daan Hoogland <da...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9d19191b
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9d19191b
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9d19191b
Branch: refs/heads/dhcpoffload
Commit: 9d19191bc61f09f93412d6d2b66e3f5fb9b004b5
Parents: 301a7b9
Author: Rafael da Fonseca <rs...@gmail.com>
Authored: Sun Jun 21 19:14:16 2015 +0200
Committer: Daan Hoogland <da...@gmail.com>
Committed: Mon Jun 22 13:01:19 2015 +0200
----------------------------------------------------------------------
plugins/hypervisors/ovm3/pom.xml | 18 -
.../resources/helpers/Ovm3Configuration.java | 2 +-
.../cloud/hypervisor/ovm3/objects/XenTest.java | 2538 +++++++++---------
3 files changed, 1270 insertions(+), 1288 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9d19191b/plugins/hypervisors/ovm3/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/pom.xml b/plugins/hypervisors/ovm3/pom.xml
index a0c8a9b..646ac16 100644
--- a/plugins/hypervisors/ovm3/pom.xml
+++ b/plugins/hypervisors/ovm3/pom.xml
@@ -85,25 +85,7 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
- <optimize>true</optimize>
- <proc>none</proc>
- <showDeprecation>true</showDeprecation>
- <showWarnings>true</showWarnings>
- <debug>true</debug>
- <debuglevel>lines,vars,source</debuglevel>
- <verbose>true</verbose>
- <useIncrementalCompilation>false</useIncrementalCompilation>
<failOnError>false</failOnError>
- <forceJavacCompilerUse>true</forceJavacCompilerUse>
- <compilerReuseStrategy>alwaysNew</compilerReuseStrategy>
- <compilerArgs>
- <arg>-verbose</arg>
- <arg>-Xlint:all</arg>
- <arg>-version</arg>
- <arg>-deprecation</arg>
- <arg>-Xprefer:source</arg>
- <arg>-XprintProcessorInfo</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9d19191b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3Configuration.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3Configuration.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3Configuration.java
index 2154225..91c0762 100644
--- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3Configuration.java
+++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3Configuration.java
@@ -34,7 +34,7 @@ import com.cloud.utils.net.NetUtils;
/* holds config data for the Ovm3 Hypervisor */
public class Ovm3Configuration {
private static final Logger LOGGER = Logger
- .getLogger(Ovm3Configuration.class);
+ .getLogger(Ovm3Configuration.class);
private String agentIp;
private Long agentZoneId;
private Long agentPodId;
[36/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
findbugs: fields of serializable made serializable
Signed-off-by: Daan Hoogland <da...@onecht.net>
This closes #522
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/55c1d9f3
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/55c1d9f3
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/55c1d9f3
Branch: refs/heads/dhcpoffload
Commit: 55c1d9f3fa90a745ff73dc641516c231563b91e5
Parents: f18c8f8
Author: Daan Hoogland <da...@onecht.net>
Authored: Wed Jun 24 14:29:04 2015 +0200
Committer: Daan Hoogland <da...@onecht.net>
Committed: Wed Jun 24 20:20:12 2015 +0200
----------------------------------------------------------------------
api/src/com/cloud/agent/api/to/LoadBalancerTO.java | 1 +
server/src/com/cloud/api/doc/Argument.java | 4 +++-
2 files changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/55c1d9f3/api/src/com/cloud/agent/api/to/LoadBalancerTO.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/agent/api/to/LoadBalancerTO.java b/api/src/com/cloud/agent/api/to/LoadBalancerTO.java
index baa83df..2bb1537 100644
--- a/api/src/com/cloud/agent/api/to/LoadBalancerTO.java
+++ b/api/src/com/cloud/agent/api/to/LoadBalancerTO.java
@@ -481,6 +481,7 @@ public class LoadBalancerTO {
}
public static class AutoScaleVmGroupTO implements Serializable {
+ private static final long serialVersionUID = 2L;
private final String uuid;
private final int minMembers;
private final int maxMembers;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/55c1d9f3/server/src/com/cloud/api/doc/Argument.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/doc/Argument.java b/server/src/com/cloud/api/doc/Argument.java
index 6889be7..141f7e6 100644
--- a/server/src/com/cloud/api/doc/Argument.java
+++ b/server/src/com/cloud/api/doc/Argument.java
@@ -16,9 +16,11 @@
// under the License.
package com.cloud.api.doc;
+import java.io.Serializable;
import java.util.List;
-public class Argument implements Comparable {
+public class Argument implements Comparable<Object>, Serializable {
+ private static final long serialVersionUID = 2L;
private String name;
private String description;
private Boolean required;
[24/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
findbugs: final fields
Signed-off-by: Daan Hoogland <da...@onecht.net>
This closes #517
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/e3daa109
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/e3daa109
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/e3daa109
Branch: refs/heads/dhcpoffload
Commit: e3daa10960b1b2703550d043f6cb9a6d6e11989c
Parents: 230cf2e
Author: Daan Hoogland <da...@onecht.net>
Authored: Tue Jun 23 23:41:41 2015 +0200
Committer: Daan Hoogland <da...@onecht.net>
Committed: Wed Jun 24 09:29:56 2015 +0200
----------------------------------------------------------------------
core/src/com/cloud/serializer/SerializerHelper.java | 2 +-
utils/src/com/cloud/utils/nio/Link.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e3daa109/core/src/com/cloud/serializer/SerializerHelper.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/serializer/SerializerHelper.java b/core/src/com/cloud/serializer/SerializerHelper.java
index 60a978d..5ce05ab 100644
--- a/core/src/com/cloud/serializer/SerializerHelper.java
+++ b/core/src/com/cloud/serializer/SerializerHelper.java
@@ -39,7 +39,7 @@ import com.cloud.utils.Pair;
*/
public class SerializerHelper {
public static final Logger s_logger = Logger.getLogger(SerializerHelper.class.getName());
- public static String token = "/";
+ public static final String token = "/";
public static String toSerializedStringOld(Object result) {
if (result != null) {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e3daa109/utils/src/com/cloud/utils/nio/Link.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/nio/Link.java b/utils/src/com/cloud/utils/nio/Link.java
index ddfd474..6d6306a 100644
--- a/utils/src/com/cloud/utils/nio/Link.java
+++ b/utils/src/com/cloud/utils/nio/Link.java
@@ -66,7 +66,7 @@ public class Link {
private boolean _gotFollowingPacket;
private SSLEngine _sslEngine;
- public static String keystoreFile = "/cloudmanagementserver.keystore";
+ public static final String keystoreFile = "/cloudmanagementserver.keystore";
public Link(InetSocketAddress addr, NioConnection connection) {
_addr = addr;
[12/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Add unit tests to cover negative cases
- Cover when the profile is not started/stopped
Signed-off-by: wilderrodrigues <wr...@schubergphilis.com>
This closes #509
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/f29bf1e8
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/f29bf1e8
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/f29bf1e8
Branch: refs/heads/dhcpoffload
Commit: f29bf1e85c84f7a7c91ff9521b41b32532f737ee
Parents: 78c802a
Author: wilderrodrigues <wr...@schubergphilis.com>
Authored: Mon Jun 22 16:05:15 2015 +0200
Committer: wilderrodrigues <wr...@schubergphilis.com>
Committed: Tue Jun 23 10:03:20 2015 +0200
----------------------------------------------------------------------
utils/test/com/cloud/utils/TestProfiler.java | 32 ++++++++++++++++++++---
1 file changed, 29 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f29bf1e8/utils/test/com/cloud/utils/TestProfiler.java
----------------------------------------------------------------------
diff --git a/utils/test/com/cloud/utils/TestProfiler.java b/utils/test/com/cloud/utils/TestProfiler.java
index 2690a26..4323f1d 100644
--- a/utils/test/com/cloud/utils/TestProfiler.java
+++ b/utils/test/com/cloud/utils/TestProfiler.java
@@ -32,11 +32,11 @@ public class TestProfiler extends Log4jEnabledTestCase {
public void testProfiler() {
s_logger.info("testProfiler() started");
- Profiler pf = new Profiler();
+ final Profiler pf = new Profiler();
pf.start();
try {
Thread.sleep(1000);
- } catch (InterruptedException e) {
+ } catch (final InterruptedException e) {
}
pf.stop();
@@ -46,4 +46,30 @@ public class TestProfiler extends Log4jEnabledTestCase {
s_logger.info("testProfiler() stopped");
}
-}
+
+ @Test
+ public void testProfilerNoStart() {
+ final Profiler pf = new Profiler();
+ try {
+ Thread.sleep(20);
+ } catch (final InterruptedException e) {
+ }
+ pf.stop();
+
+ Assert.assertTrue(pf.getDuration() == -1);
+ Assert.assertFalse(pf.isStarted());
+ }
+
+ @Test
+ public void testProfilerNoStop() {
+ final Profiler pf = new Profiler();
+ pf.start();
+ try {
+ Thread.sleep(20);
+ } catch (final InterruptedException e) {
+ }
+
+ Assert.assertTrue(pf.getDuration() == -1);
+ Assert.assertFalse(pf.isStopped());
+ }
+}
\ No newline at end of file
[30/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
CLOUDSTACK-8574: Skip testcases for LXC if storagePool type is not RBD
Signed-off-by: wilderrodrigues <wr...@schubergphilis.com>
This closes #488
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/da72bb9a
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/da72bb9a
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/da72bb9a
Branch: refs/heads/dhcpoffload
Commit: da72bb9aeb5623913d4698a1b9cde2fee8962829
Parents: 6f643fc
Author: pritisarap12 <pr...@clogeny.com>
Authored: Tue Jun 23 11:33:21 2015 +0530
Committer: wilderrodrigues <wr...@schubergphilis.com>
Committed: Wed Jun 24 09:43:55 2015 +0200
----------------------------------------------------------------------
test/integration/component/test_stopped_vm.py | 46 ++++++++++++++++------
1 file changed, 33 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/da72bb9a/test/integration/component/test_stopped_vm.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_stopped_vm.py b/test/integration/component/test_stopped_vm.py
index 53a92bc..f31b803 100644
--- a/test/integration/component/test_stopped_vm.py
+++ b/test/integration/component/test_stopped_vm.py
@@ -19,7 +19,7 @@
"""
# Import Local Modules
from nose.plugins.attrib import attr
-from marvin.cloudstackTestCase import cloudstackTestCase,unittest
+from marvin.cloudstackTestCase import cloudstackTestCase
from marvin.lib.utils import cleanup_resources
from marvin.lib.base import (Account,
VirtualMachine,
@@ -55,11 +55,12 @@ class TestDeployVM(cloudstackTestCase):
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.hypervisor = cls.testClient.getHypervisorInfo()
+ cls.skip = False
if cls.hypervisor.lower() == 'lxc':
if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
- raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
-
+ cls.skip = True
+ return
cls.template = get_template(
cls.api_client,
@@ -92,6 +93,9 @@ class TestDeployVM(cloudstackTestCase):
def setUp(self):
+ if self.skip:
+ self.skipTest("RBD storage type is required for data volumes for LXC")
+
self.apiclient = self.testClient.getApiClient()
self.dbclient = self.testClient.getDbConnection()
self.testdata["virtual_machine"]["zoneid"] = self.zone.id
@@ -635,11 +639,11 @@ class TestDeployVM(cloudstackTestCase):
# 4. Stop the vm
# 5.list primary storages in the cluster , should be more than one
# 6.Migrate voluem to another available primary storage
- self.hypervisor = self.testClient.getHypervisorInfo()
if self.hypervisor.lower() in ['lxc']:
self.skipTest(
"vm migrate is not supported in %s" %
self.hypervisor)
+
clusters = Cluster.list(
self.apiclient,
zoneid=self.zone.id
@@ -752,10 +756,12 @@ class TestDeployHaEnabledVM(cloudstackTestCase):
cls.testdata = cls.testClient.getParsedTestDataConfig()
# Get Zone, Domain and templates
cls.hypervisor = cls.testClient.getHypervisorInfo()
-
+ cls.skip = False
+
if cls.hypervisor.lower() == 'lxc':
if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
- raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
+ cls.skip = True
+ return
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
@@ -792,6 +798,9 @@ class TestDeployHaEnabledVM(cloudstackTestCase):
def setUp(self):
+ if self.skip:
+ self.skipTest("RBD storage type is required for data volumes for LXC ")
+
self.apiclient = self.testClient.getApiClient()
self.dbclient = self.testClient.getDbConnection()
self.hypervisor = self.testClient.getHypervisorInfo()
@@ -865,7 +874,6 @@ class TestDeployHaEnabledVM(cloudstackTestCase):
# 1. deployHA enabled Vm using ISO with the startvm parameter=true
# 2. listVM command should return the deployed VM. State of this VM
# should be "Running".
- self.hypervisor = self.testClient.getHypervisorInfo()
if self.hypervisor.lower() in ['lxc']:
self.skipTest(
"vm deploy from ISO feature is not supported on %s" %
@@ -923,10 +931,8 @@ class TestDeployHaEnabledVM(cloudstackTestCase):
# 1. deployHA enabled Vm using ISO with the startvm parameter=false
# 2. listVM command should return the deployed VM. State of this VM
# should be "Stopped".
- self.hypervisor = self.testClient.getHypervisorInfo()
if self.hypervisor.lower() in ['lxc']:
- self.skipTest(
- "vm deploy from ISO feature is not supported on %s" %
+ self.skipTest("vm deploy from ISO feature is not supported on %s" %
self.hypervisor.lower())
self.debug("Deploying instance in the account: %s" %
@@ -961,10 +967,12 @@ class TestRouterStateAfterDeploy(cloudstackTestCase):
cls.testdata = cls.testClient.getParsedTestDataConfig()
# Get Zone, Domain and templates
cls.hypervisor = cls.testClient.getHypervisorInfo()
+ cls.skip = False
if cls.hypervisor.lower() == 'lxc':
if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
- raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
+ cls.skip = True
+ return
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
@@ -1000,6 +1008,9 @@ class TestRouterStateAfterDeploy(cloudstackTestCase):
def setUp(self):
+ if self.skip:
+ self.skipTest("RBD storage type is required for data volumes for LXC")
+
self.apiclient = self.testClient.getApiClient()
self.dbclient = self.testClient.getDbConnection()
self.testdata["virtual_machine"]["zoneid"] = self.zone.id
@@ -1123,10 +1134,12 @@ class TestDeployVMBasicZone(cloudstackTestCase):
cls.testdata = cls.testClient.getParsedTestDataConfig()
# Get Zone, Domain and templates
cls.hypervisor = cls.testClient.getHypervisorInfo()
+ cls.skip = False
if cls.hypervisor.lower() == 'lxc':
if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
- raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
+ cls.skip = True
+ return
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
@@ -1162,6 +1175,9 @@ class TestDeployVMBasicZone(cloudstackTestCase):
def setUp(self):
+ if self.skip:
+ self.skipTest("RBD storage type is required for data volumes for LXC")
+
self.apiclient = self.testClient.getApiClient()
self.dbclient = self.testClient.getDbConnection()
self.testdata["virtual_machine"]["zoneid"] = self.zone.id
@@ -1448,10 +1464,11 @@ class TestUploadAttachVolume(cloudstackTestCase):
cls.testdata = cls.testClient.getParsedTestDataConfig()
cls.hypervisor = cls.testClient.getHypervisorInfo()
+ cls.skip = False
if cls.hypervisor.lower() == 'lxc':
if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
- raise unittest.SkipTest("RBD storage type is required for data volumes for LXC")
+ cls.skip = True
# Get Zone, Domain and templates
cls.domain = get_domain(cls.api_client)
@@ -1491,6 +1508,9 @@ class TestUploadAttachVolume(cloudstackTestCase):
return
def setUp(self):
+ if self.skip:
+ self.skipTest("RBD storage type is required for data volumes for LXC")
+
self.apiclient = self.testClient.getApiClient()
self.dbclient = self.testClient.getDbConnection()
self.cleanup = []
[14/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
CLOUDSTACK-8579: Fix cleanup operation in few test cases
Signed-off-by: Gaurav Aradhye <ga...@clogeny.com>
This closes #511
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c841d685
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c841d685
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c841d685
Branch: refs/heads/dhcpoffload
Commit: c841d6850ec591d3545d922dbb469a7e9b9ec4de
Parents: f29bf1e
Author: Gaurav Aradhye <ga...@clogeny.com>
Authored: Tue Jun 23 17:24:05 2015 +0530
Committer: Gaurav Aradhye <ga...@clogeny.com>
Committed: Tue Jun 23 17:36:44 2015 +0530
----------------------------------------------------------------------
test/integration/component/test_blocker_bugs.py | 3 ++-
test/integration/component/test_project_usage.py | 2 ++
2 files changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c841d685/test/integration/component/test_blocker_bugs.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_blocker_bugs.py b/test/integration/component/test_blocker_bugs.py
index 663c97f..f6a032e 100644
--- a/test/integration/component/test_blocker_bugs.py
+++ b/test/integration/component/test_blocker_bugs.py
@@ -743,11 +743,11 @@ class TestTemplates(cloudstackTestCase):
cls.services["ostype"]
)
cls.templateSupported = True
+ cls._cleanup = []
if cls.hypervisor.lower() in ['lxc']:
cls.templateSupported = False
return
cls.services["virtual_machine"]["zoneid"] = cls.zone.id
- cls._cleanup = []
try:
cls.account = Account.create(
cls.api_client,
@@ -1024,6 +1024,7 @@ class TestDataPersistency(cloudstackTestCase):
cls.domain = get_domain(cls.api_client)
cls.services['mode'] = cls.zone.networktype
cls.templateSupported = True
+ cls.cleanup = []
template = get_template(
cls.api_client,
cls.zone.id,
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c841d685/test/integration/component/test_project_usage.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_project_usage.py b/test/integration/component/test_project_usage.py
index 7c4fea6..cdbc4c2 100644
--- a/test/integration/component/test_project_usage.py
+++ b/test/integration/component/test_project_usage.py
@@ -512,6 +512,7 @@ class TestVolumeUsage(cloudstackTestCase):
cls.services['mode'] = cls.zone.networktype
cls.hypervisor = cls.testClient.getHypervisorInfo()
cls.rbdStorageFound = True
+ cls._cleanup = []
if cls.hypervisor.lower() == 'lxc':
if not find_storage_pool_type(cls.api_client, storagetype='rbd'):
cls.rbdStorageFound = False
@@ -1265,6 +1266,7 @@ class TestSnapshotUsage(cloudstackTestCase):
cls.api_client = cls.testClient.getApiClient()
cls.hypervisor = cls.testClient.getHypervisorInfo()
cls.snapshotSupported = True
+ cls._cleanup = []
if cls.hypervisor.lower() in ['hyperv', 'lxc']:
cls.snapshotSupported = False
return
[15/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Made misc changes
Reviewed-By: Shweta
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/66d51c91
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/66d51c91
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/66d51c91
Branch: refs/heads/dhcpoffload
Commit: 66d51c91ea452b786077d28e92f7a4af52cd0efc
Parents: c841d68
Author: Sanjeev Neelarapu <sa...@citrix.com>
Authored: Tue Jun 23 17:18:03 2015 +0530
Committer: sanjeev <sa...@apache.org>
Committed: Tue Jun 23 17:47:19 2015 +0530
----------------------------------------------------------------------
.../component/test_security_groups.py | 42 ++++++++++++--------
1 file changed, 25 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/66d51c91/test/integration/component/test_security_groups.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_security_groups.py b/test/integration/component/test_security_groups.py
old mode 100644
new mode 100755
index 2a37fd8..f132e3a
--- a/test/integration/component/test_security_groups.py
+++ b/test/integration/component/test_security_groups.py
@@ -39,6 +39,7 @@ from marvin.codes import PASS
import time
import subprocess
import socket
+import platform
class TestDefaultSecurityGroup(cloudstackTestCase):
@@ -1338,9 +1339,13 @@ class TestIngressRule(cloudstackTestCase):
# User should be able to ping VM
try:
self.debug("Trying to ping VM %s" % self.virtual_machine.ssh_ip)
- result = subprocess.call(
- ['ping', '-c 1', self.virtual_machine.ssh_ip])
-
+ platform_type = platform.system().lower()
+ if platform_type == 'windows':
+ result = subprocess.call(
+ ['ping', '-n', '1', self.virtual_machine.ssh_ip])
+ else:
+ result = subprocess.call(
+ ['ping', '-c 1', self.virtual_machine.ssh_ip])
self.debug("Ping result: %s" % result)
# if ping successful, then result should be 0
self.assertEqual(
@@ -1462,9 +1467,13 @@ class TestIngressRule(cloudstackTestCase):
# User should be able to ping VM
try:
self.debug("Trying to ping VM %s" % self.virtual_machine.ssh_ip)
- result = subprocess.call(
- ['ping', '-c 1', self.virtual_machine.ssh_ip])
-
+ platform_type = platform.system().lower()
+ if platform_type == 'windows':
+ result = subprocess.call(
+ ['ping', '-n', '1', self.virtual_machine.ssh_ip])
+ else:
+ result = subprocess.call(
+ ['ping', '-c 1', self.virtual_machine.ssh_ip])
self.debug("Ping result: %s" % result)
# if ping successful, then result should be 0
self.assertEqual(
@@ -1472,30 +1481,30 @@ class TestIngressRule(cloudstackTestCase):
0,
"Check if ping is successful or not"
)
-
except Exception as e:
self.fail("Ping failed for ingress rule ID: %s, %s"
% (icmp_rule["ruleid"], e))
-
self.debug(
"Revoke Ingress Rule for Security Group %s for account: %s"
% (
security_group.id,
self.account.name
))
-
result = security_group.revoke(
self.apiclient,
id=icmp_rule["ruleid"]
)
self.debug("Revoke ingress rule result: %s" % result)
-
time.sleep(self.testdata["sleep"])
# User should not be able to ping VM
try:
self.debug("Trying to ping VM %s" % self.virtual_machine.ssh_ip)
- result = subprocess.call(
- ['ping', '-c 1', self.virtual_machine.ssh_ip])
+ if platform_type == 'windows':
+ result = subprocess.call(
+ ['ping', '-n', '1', self.virtual_machine.ssh_ip])
+ else:
+ result = subprocess.call(
+ ['ping', '-c 1', self.virtual_machine.ssh_ip])
self.debug("Ping result: %s" % result)
# if ping successful, then result should be 0
@@ -1504,7 +1513,6 @@ class TestIngressRule(cloudstackTestCase):
0,
"Check if ping is successful or not"
)
-
except Exception as e:
self.fail("Ping failed for ingress rule ID: %s, %s"
% (icmp_rule["ruleid"], e))
@@ -1816,7 +1824,7 @@ class TestIngressRuleSpecificIpSet(cloudstackTestCase):
)
except Exception as e:
self.fail("SSH Access failed for %s: %s" %
- (self.virtual_machine.ipaddress, e)
+ (virtual_machine_1.ipaddress, e)
)
try:
@@ -1828,7 +1836,7 @@ class TestIngressRuleSpecificIpSet(cloudstackTestCase):
)
except Exception as e:
self.fail("SSH Access failed for %s: %s" %
- (self.virtual_machine.ipaddress, e)
+ (virtual_machine_2.ipaddress, e)
)
sshClient = SshClient(
@@ -1991,7 +1999,7 @@ class TestIngressRuleSpecificIpSet(cloudstackTestCase):
)
except Exception as e:
self.fail("SSH Access failed for %s: %s" %
- (self.virtual_machine.ipaddress, e)
+ (virtual_machine_1.ipaddress, e)
)
try:
@@ -2003,7 +2011,7 @@ class TestIngressRuleSpecificIpSet(cloudstackTestCase):
)
except Exception as e:
self.fail("SSH Access failed for %s: %s" %
- (self.virtual_machine.ipaddress, e)
+ (virtual_machine_2.ipaddress, e)
)
sshClient = SshClient(
[39/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Using Profiler class, from the utils package, instead of System.currentTimeMillis()
Signed-off-by: wilderrodrigues <wr...@schubergphilis.com>
This closes #524
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/e4f7fb74
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/e4f7fb74
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/e4f7fb74
Branch: refs/heads/dhcpoffload
Commit: e4f7fb74efe56cafb67642eebef745c671a6454c
Parents: ea1f2eb
Author: wilderrodrigues <wr...@schubergphilis.com>
Authored: Thu Jun 25 08:01:51 2015 +0200
Committer: wilderrodrigues <wr...@schubergphilis.com>
Committed: Thu Jun 25 09:13:46 2015 +0200
----------------------------------------------------------------------
.../cluster/src/com/cloud/cluster/ClusterManagerImpl.java | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e4f7fb74/framework/cluster/src/com/cloud/cluster/ClusterManagerImpl.java
----------------------------------------------------------------------
diff --git a/framework/cluster/src/com/cloud/cluster/ClusterManagerImpl.java b/framework/cluster/src/com/cloud/cluster/ClusterManagerImpl.java
index 02597c3..a9b01d4 100644
--- a/framework/cluster/src/com/cloud/cluster/ClusterManagerImpl.java
+++ b/framework/cluster/src/com/cloud/cluster/ClusterManagerImpl.java
@@ -261,11 +261,15 @@ public class ClusterManagerImpl extends ManagerBase implements ClusterManager, C
pdu.getSequenceId() + ", pdu ack seq: " + pdu.getAckSequenceId() + ", json: " + pdu.getJsonPackage());
}
- final long startTick = System.currentTimeMillis();
+ final Profiler profiler = new Profiler();
+ profiler.start();
+
final String strResult = peerService.execute(pdu);
+ profiler.stop();
+
if (s_logger.isDebugEnabled()) {
s_logger.debug("Cluster PDU " + getSelfPeerName() + " -> " + pdu.getDestPeer() + " completed. time: " +
- (System.currentTimeMillis() - startTick) + "ms. agent: " + pdu.getAgentId() + ", pdu seq: " + pdu.getSequenceId() +
+ profiler.getDurationInMillis() + "ms. agent: " + pdu.getAgentId() + ", pdu seq: " + pdu.getSequenceId() +
", pdu ack seq: " + pdu.getAckSequenceId() + ", json: " + pdu.getJsonPackage());
}
[21/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Extend wait before retry to states other than 'Starting'
Signed-off-by: wilderrodrigues <wr...@schubergphilis.com>
This closes #514
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c599f631
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c599f631
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c599f631
Branch: refs/heads/dhcpoffload
Commit: c599f6317003f1b4ec6d8f5b69b58de148f0d022
Parents: 77508c9
Author: Rafael da Fonseca <rs...@gmail.com>
Authored: Tue Jun 23 19:28:47 2015 +0200
Committer: wilderrodrigues <wr...@schubergphilis.com>
Committed: Wed Jun 24 07:34:26 2015 +0200
----------------------------------------------------------------------
test/integration/smoke/test_secondary_storage.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c599f631/test/integration/smoke/test_secondary_storage.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_secondary_storage.py b/test/integration/smoke/test_secondary_storage.py
index 082c023..b80b3e6 100644
--- a/test/integration/smoke/test_secondary_storage.py
+++ b/test/integration/smoke/test_secondary_storage.py
@@ -153,7 +153,7 @@ class TestSecStorageServices(cloudstackTestCase):
)
for ssvm in list_ssvm_response:
- if ssvm.state == 'Starting':
+ if ssvm.state != 'Running':
time.sleep(30)
continue
for ssvm in list_ssvm_response:
[47/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
findbugs Boolean return null in getter not in is-query
Signed-off-by: Daan Hoogland <da...@onecht.net>
This closes #534
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/edfe6f4d
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/edfe6f4d
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/edfe6f4d
Branch: refs/heads/dhcpoffload
Commit: edfe6f4d4f805b91fe653627c2e6c7925a6bfd07
Parents: f584714
Author: Daan Hoogland <da...@onecht.net>
Authored: Fri Jun 26 15:29:25 2015 +0200
Committer: Daan Hoogland <da...@onecht.net>
Committed: Sun Jun 28 12:41:44 2015 +0200
----------------------------------------------------------------------
.../api/BaseUpdateTemplateOrIsoCmd.java | 4 ++--
.../api/command/user/iso/UpdateIsoCmd.java | 2 +-
.../command/user/template/UpdateTemplateCmd.java | 3 +--
.../com/cloud/template/TemplateManagerImpl.java | 18 ++++++++++++++----
4 files changed, 18 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/edfe6f4d/api/src/org/apache/cloudstack/api/BaseUpdateTemplateOrIsoCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/BaseUpdateTemplateOrIsoCmd.java b/api/src/org/apache/cloudstack/api/BaseUpdateTemplateOrIsoCmd.java
index 31de029..5dc2b06 100644
--- a/api/src/org/apache/cloudstack/api/BaseUpdateTemplateOrIsoCmd.java
+++ b/api/src/org/apache/cloudstack/api/BaseUpdateTemplateOrIsoCmd.java
@@ -77,7 +77,7 @@ public abstract class BaseUpdateTemplateOrIsoCmd extends BaseCmd {
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
- public Boolean isBootable() {
+ public Boolean getBootable() {
return bootable;
}
@@ -101,7 +101,7 @@ public abstract class BaseUpdateTemplateOrIsoCmd extends BaseCmd {
return osTypeId;
}
- public Boolean isPasswordEnabled() {
+ public Boolean getPasswordEnabled() {
return passwordEnabled;
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/edfe6f4d/api/src/org/apache/cloudstack/api/command/user/iso/UpdateIsoCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/iso/UpdateIsoCmd.java b/api/src/org/apache/cloudstack/api/command/user/iso/UpdateIsoCmd.java
index d072c0a..ccf5b8a 100644
--- a/api/src/org/apache/cloudstack/api/command/user/iso/UpdateIsoCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/iso/UpdateIsoCmd.java
@@ -44,7 +44,7 @@ public class UpdateIsoCmd extends BaseUpdateTemplateOrIsoCmd {
}
@Override
- public Boolean isPasswordEnabled() {
+ public Boolean getPasswordEnabled() {
return null;
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/edfe6f4d/api/src/org/apache/cloudstack/api/command/user/template/UpdateTemplateCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/template/UpdateTemplateCmd.java b/api/src/org/apache/cloudstack/api/command/user/template/UpdateTemplateCmd.java
index 81da7ee..0a01e48 100644
--- a/api/src/org/apache/cloudstack/api/command/user/template/UpdateTemplateCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/template/UpdateTemplateCmd.java
@@ -39,7 +39,7 @@ public class UpdateTemplateCmd extends BaseUpdateTemplateOrIsoCmd {
/////////////////////////////////////////////////////
@Override
- public Boolean isBootable() {
+ public Boolean getBootable() {
return null;
}
@@ -52,7 +52,6 @@ public class UpdateTemplateCmd extends BaseUpdateTemplateOrIsoCmd {
return s_name;
}
- @SuppressWarnings("unchecked")
public TemplateResponse getResponse() {
return null;
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/edfe6f4d/server/src/com/cloud/template/TemplateManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/template/TemplateManagerImpl.java b/server/src/com/cloud/template/TemplateManagerImpl.java
index 1135518..e9581e2 100644
--- a/server/src/com/cloud/template/TemplateManagerImpl.java
+++ b/server/src/com/cloud/template/TemplateManagerImpl.java
@@ -1819,10 +1819,10 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager,
String displayText = cmd.getDisplayText();
String format = cmd.getFormat();
Long guestOSId = cmd.getOsTypeId();
- Boolean passwordEnabled = cmd.isPasswordEnabled();
+ Boolean passwordEnabled = cmd.getPasswordEnabled();
Boolean isDynamicallyScalable = cmd.isDynamicallyScalable();
Boolean isRoutingTemplate = cmd.isRoutingType();
- Boolean bootable = cmd.isBootable();
+ Boolean bootable = cmd.getBootable();
Boolean requiresHvm = cmd.getRequiresHvm();
Integer sortKey = cmd.getSortKey();
Map details = cmd.getDetails();
@@ -1846,9 +1846,19 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager,
}
}
+ // update is needed if any of the fields below got filled by the user
boolean updateNeeded =
- !(name == null && displayText == null && format == null && guestOSId == null && passwordEnabled == null && bootable == null && requiresHvm == null && sortKey == null &&
- isDynamicallyScalable == null && isRoutingTemplate == null && details == null);
+ !(name == null &&
+ displayText == null &&
+ format == null &&
+ guestOSId == null &&
+ passwordEnabled == null &&
+ bootable == null &&
+ requiresHvm == null &&
+ sortKey == null &&
+ isDynamicallyScalable == null &&
+ isRoutingTemplate == null &&
+ details == null);
if (!updateNeeded) {
return template;
}
[43/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
findbugs encoding
fake message part to remove stale PR folowing
This closes #33
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c0bf00c5
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c0bf00c5
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c0bf00c5
Branch: refs/heads/dhcpoffload
Commit: c0bf00c568531dc21c409649e9089244b8ff0e78
Parents: 12d5240
Author: Daan Hoogland <da...@onecht.net>
Authored: Thu Jun 25 14:43:49 2015 +0200
Committer: Daan Hoogland <da...@onecht.net>
Committed: Thu Jun 25 14:43:49 2015 +0200
----------------------------------------------------------------------
agent/src/com/cloud/agent/resource/DummyResource.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c0bf00c5/agent/src/com/cloud/agent/resource/DummyResource.java
----------------------------------------------------------------------
diff --git a/agent/src/com/cloud/agent/resource/DummyResource.java b/agent/src/com/cloud/agent/resource/DummyResource.java
index ea23f96..c0167f6 100644
--- a/agent/src/com/cloud/agent/resource/DummyResource.java
+++ b/agent/src/com/cloud/agent/resource/DummyResource.java
@@ -41,6 +41,7 @@ import com.cloud.network.Networks.RouterPrivateIpStrategy;
import com.cloud.resource.ServerResource;
import com.cloud.storage.Storage;
import com.cloud.storage.Storage.StoragePoolType;
+import com.cloud.utils.StringUtils;
@Local(value = {ServerResource.class})
public class DummyResource implements ServerResource {
@@ -135,7 +136,7 @@ public class DummyResource implements ServerResource {
String hostIp = getConfiguredProperty("private.ip.address", "127.0.0.1");
String localStoragePath = getConfiguredProperty("local.storage.path", "/mnt");
String lh = hostIp + localStoragePath;
- String uuid = UUID.nameUUIDFromBytes(lh.getBytes()).toString();
+ String uuid = UUID.nameUUIDFromBytes(lh.getBytes(StringUtils.getPreferredCharset())).toString();
String capacity = getConfiguredProperty("local.storage.capacity", "1000000000");
String available = getConfiguredProperty("local.storage.avail", "10000000");
[31/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Merge branch 'stop_vm' of https://github.com/nitt10prashant/cloudstack into test/pr518
This closes #518
Remark: I had to merge in the old-fashion way (not using the PR alias) due to a problem with the patch
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/4463881b
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/4463881b
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/4463881b
Branch: refs/heads/dhcpoffload
Commit: 4463881be45a741e25cdee9ece2532b38d52342d
Parents: da72bb9 4577af7
Author: wilderrodrigues <wr...@schubergphilis.com>
Authored: Wed Jun 24 09:52:26 2015 +0200
Committer: wilderrodrigues <wr...@schubergphilis.com>
Committed: Wed Jun 24 09:52:26 2015 +0200
----------------------------------------------------------------------
test/integration/component/test_stopped_vm.py | 49 +++++++++++++---------
1 file changed, 30 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4463881b/test/integration/component/test_stopped_vm.py
----------------------------------------------------------------------
diff --cc test/integration/component/test_stopped_vm.py
index f31b803,d3e5cd5..bda0fe2
--- a/test/integration/component/test_stopped_vm.py
+++ b/test/integration/component/test_stopped_vm.py
@@@ -53,15 -53,12 +53,20 @@@ class TestDeployVM(cloudstackTestCase)
# Get Zone, Domain and templates
cls.domain = get_domain(cls.api_client)
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ cls.unsupportedStorageType = False
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.api_client, storagetype='rbd'):
+ cls.unsupportedStorageType = True
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+ cls.skip = False
+
+ if cls.hypervisor.lower() == 'lxc':
+ if not find_storage_pool_type(cls.apiclient, storagetype='rbd'):
+ cls.skip = True
+ return
+
cls.template = get_template(
cls.api_client,
cls.zone.id,
[02/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Fix findbugs DM_BOXED_PRIMITIVE_FOR_PARSING warning in ElastistorPrimaryDataStoreLifeCycle.java
Signed-off-by: Daan Hoogland <da...@gmail.com>
This closes #503
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/b929db1f
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/b929db1f
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/b929db1f
Branch: refs/heads/dhcpoffload
Commit: b929db1f1ad8e7f96fef2dd68de9c75fe9df9320
Parents: a17852a
Author: Rafael da Fonseca <rs...@gmail.com>
Authored: Mon Jun 22 00:41:08 2015 +0200
Committer: Daan Hoogland <da...@gmail.com>
Committed: Mon Jun 22 10:54:55 2015 +0200
----------------------------------------------------------------------
.../datastore/lifecycle/ElastistorPrimaryDataStoreLifeCycle.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b929db1f/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/lifecycle/ElastistorPrimaryDataStoreLifeCycle.java
----------------------------------------------------------------------
diff --git a/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/lifecycle/ElastistorPrimaryDataStoreLifeCycle.java b/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/lifecycle/ElastistorPrimaryDataStoreLifeCycle.java
index f7e9385..7254c2b 100644
--- a/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/lifecycle/ElastistorPrimaryDataStoreLifeCycle.java
+++ b/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/lifecycle/ElastistorPrimaryDataStoreLifeCycle.java
@@ -563,7 +563,7 @@ public class ElastistorPrimaryDataStoreLifeCycle implements PrimaryDataStoreLife
if(updateTsmStorageCmdResponse.getStorage().getId() != null){
// update the cloudstack db
- _storagePoolDao.updateCapacityBytes(storagePool.getId(), Long.valueOf(capacityBytes));
+ _storagePoolDao.updateCapacityBytes(storagePool.getId(), Long.parseLong(capacityBytes));
s_logger.info("elastistor TSM storage successfully updated");
}else{
[13/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Replace System.currentTimeMillis() by System.nanoTime()
- System.nanoTime() is the best way to measure elapsed time in Java.
- It gives a resolution on the order of microseconds
The System.currentTimeMillis() is used when calculating absolut time.
Signed-off-by: wilderrodrigues <wr...@schubergphilis.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/78c802a5
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/78c802a5
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/78c802a5
Branch: refs/heads/dhcpoffload
Commit: 78c802a539e3446dee351efdbdb678cf91f8729e
Parents: c0a1009
Author: wilderrodrigues <wr...@schubergphilis.com>
Authored: Mon Jun 22 14:07:33 2015 +0200
Committer: wilderrodrigues <wr...@schubergphilis.com>
Committed: Tue Jun 23 10:03:20 2015 +0200
----------------------------------------------------------------------
utils/src/com/cloud/utils/Profiler.java | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/78c802a5/utils/src/com/cloud/utils/Profiler.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/Profiler.java b/utils/src/com/cloud/utils/Profiler.java
index e75da0e..6082a92 100644
--- a/utils/src/com/cloud/utils/Profiler.java
+++ b/utils/src/com/cloud/utils/Profiler.java
@@ -23,24 +23,20 @@ public class Profiler {
private Long startTickInMs;
private Long stopTickInMs;
- public Profiler() {
- startTickInMs = null;
- stopTickInMs = null;
- }
-
public long start() {
- startTickInMs = System.currentTimeMillis();
+ startTickInMs = System.nanoTime();
return startTickInMs.longValue();
}
public long stop() {
- stopTickInMs = System.currentTimeMillis();
+ stopTickInMs = System.nanoTime();
return stopTickInMs.longValue();
}
public long getDuration() {
- if (startTickInMs != null && stopTickInMs != null)
+ if (startTickInMs != null && stopTickInMs != null) {
return stopTickInMs.longValue() - startTickInMs.longValue();
+ }
return -1;
}
@@ -55,12 +51,14 @@ public class Profiler {
@Override
public String toString() {
- if (startTickInMs == null)
+ if (startTickInMs == null) {
return "Not Started";
+ }
- if (stopTickInMs == null)
+ if (stopTickInMs == null) {
return "Started but not stopped";
+ }
return "Done. Duration: " + getDuration() + "ms";
}
-}
+}
\ No newline at end of file
[35/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
CLOUDSTACK-8582: Modifying tag for test cases which should not be run on simulator
Signed-off-by: Gaurav Aradhye <ga...@clogeny.com>
This closes #521
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/f18c8f8d
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/f18c8f8d
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/f18c8f8d
Branch: refs/heads/dhcpoffload
Commit: f18c8f8d9b7abb8c329dcdfdc9c3ad646ce99b0c
Parents: a3fe76a
Author: Gaurav Aradhye <ga...@clogeny.com>
Authored: Wed Jun 24 16:07:22 2015 +0530
Committer: Gaurav Aradhye <ga...@clogeny.com>
Committed: Wed Jun 24 16:52:24 2015 +0530
----------------------------------------------------------------------
test/integration/component/test_VirtualRouter_alerts.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f18c8f8d/test/integration/component/test_VirtualRouter_alerts.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_VirtualRouter_alerts.py b/test/integration/component/test_VirtualRouter_alerts.py
index 64066f8..90f04d8 100644
--- a/test/integration/component/test_VirtualRouter_alerts.py
+++ b/test/integration/component/test_VirtualRouter_alerts.py
@@ -112,7 +112,7 @@ class TestVRServiceFailureAlerting(cloudstackTestCase):
return
@attr(hypervisor="xenserver")
- @attr(tags=["advanced", "basic"])
+ @attr(tags=["advanced", "basic"], required_hardware="true")
def test_01_VRServiceFailureAlerting(self):
if self.zone.networktype == "Basic":
[28/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
CLOUDSTACK-8576: Skip tests as snapshots and template are not supported on LXC
Signed-off-by: wilderrodrigues <wr...@schubergphilis.com>
This closes #506
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/7d70e497
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/7d70e497
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/7d70e497
Branch: refs/heads/dhcpoffload
Commit: 7d70e4975e53ca124000e52f0cde99292a99ff6d
Parents: cbf5155
Author: pritisarap12 <pr...@clogeny.com>
Authored: Mon Jun 22 16:44:07 2015 +0530
Committer: wilderrodrigues <wr...@schubergphilis.com>
Committed: Wed Jun 24 09:40:08 2015 +0200
----------------------------------------------------------------------
test/integration/component/test_resource_limits.py | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7d70e497/test/integration/component/test_resource_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_resource_limits.py b/test/integration/component/test_resource_limits.py
index 5f29d70..cb06099 100644
--- a/test/integration/component/test_resource_limits.py
+++ b/test/integration/component/test_resource_limits.py
@@ -18,7 +18,7 @@
"""
#Import Local Modules
from nose.plugins.attrib import attr
-from marvin.cloudstackTestCase import cloudstackTestCase,unittest
+from marvin.cloudstackTestCase import cloudstackTestCase
from marvin.lib.base import (VirtualMachine,
Snapshot,
Template,
@@ -448,8 +448,8 @@ class TestResourceLimitsAccount(cloudstackTestCase):
# 5. Create 2 snapshot in account 2. Verify account 2 should be able to
# create snapshots without any warning
- if self.hypervisor.lower() in ['hyperv']:
- self.skipTest("Snapshots feature is not supported on Hyper-V")
+ if self.hypervisor.lower() in ['hyperv', 'lxc']:
+ self.skipTest("Snapshots feature is not supported on Hyper-V and LXC")
self.debug(
"Updating public IP resource limit for account: %s" %
self.account_1.name)
@@ -748,6 +748,8 @@ class TestResourceLimitsAccount(cloudstackTestCase):
# should be denied to create more than 1 template.
# 3. Try to create 2 templates in account 2. Verify account 2 should be
# able to create template without any error
+ if self.hypervisor.lower() in ['lxc']:
+ self.skipTest("Template feature is not supported on LXC")
try:
apiclient_account1 = self.testClient.getUserApiClient(
@@ -1134,8 +1136,8 @@ class TestResourceLimitsDomain(cloudstackTestCase):
# created
# 5. Try to create another snapshot in this domain. It should give the
# user an appropriate error and an alert should be generated.
- if self.hypervisor.lower() in ['hyperv']:
- self.skipTest("Snapshots feature is not supported on Hyper-V")
+ if self.hypervisor.lower() in ['hyperv', 'lxc']:
+ self.skipTest("Snapshots feature is not supported on Hyper-V and LXC")
self.debug(
"Updating snapshot resource limits for domain: %s" %
self.account.domainid)
@@ -1271,6 +1273,9 @@ class TestResourceLimitsDomain(cloudstackTestCase):
# ready state
# 4. Try create 3rd template in the domain. It should give the user an
# appropriate error and an alert should be generated.
+ if self.hypervisor.lower() in ['lxc']:
+ self.skipTest("Template feature is not supported on LXC")
+
try:
userapiclient = self.testClient.getUserApiClient(
[23/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
CLOUDSTACK-8582: Tagging test cases which should not be run on simulator accordingly
Signed-off-by: Gaurav Aradhye <ga...@clogeny.com>
This closes #519
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/230cf2ee
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/230cf2ee
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/230cf2ee
Branch: refs/heads/dhcpoffload
Commit: 230cf2eefa70bc686fe01ae2f7fd4a0253ae35c2
Parents: c599f63
Author: Gaurav Aradhye <ga...@clogeny.com>
Authored: Wed Jun 24 12:34:13 2015 +0530
Committer: Gaurav Aradhye <ga...@clogeny.com>
Committed: Wed Jun 24 12:50:27 2015 +0530
----------------------------------------------------------------------
test/integration/component/test_accounts.py | 2 +-
test/integration/component/test_project_limits.py | 2 +-
test/integration/component/test_project_usage.py | 4 ++--
test/integration/component/test_stopped_vm.py | 2 +-
test/integration/component/test_usage.py | 2 +-
5 files changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/230cf2ee/test/integration/component/test_accounts.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_accounts.py b/test/integration/component/test_accounts.py
index e08ed91..d0341dd 100644
--- a/test/integration/component/test_accounts.py
+++ b/test/integration/component/test_accounts.py
@@ -869,7 +869,7 @@ class TestTemplateHierarchy(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
- @attr(tags=["advanced", "basic", "eip", "advancedns", "sg"])
+ @attr(tags=["advanced", "basic", "eip", "advancedns", "sg"], required_hardware="true")
def test_01_template_hierarchy(self):
"""Test to verify template at same level in hierarchy"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/230cf2ee/test/integration/component/test_project_limits.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_project_limits.py b/test/integration/component/test_project_limits.py
index 6edcf20..848a896 100644
--- a/test/integration/component/test_project_limits.py
+++ b/test/integration/component/test_project_limits.py
@@ -883,7 +883,7 @@ class TestResourceLimitsProject(cloudstackTestCase):
)
return
- @attr(tags=["advanced", "basic", "sg", "eip", "advancedns"], required_hardware="false")
+ @attr(tags=["advanced", "basic", "sg", "eip", "advancedns"], required_hardware="true")
def test_07_templates_per_project(self):
"""Test Templates limit per project
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/230cf2ee/test/integration/component/test_project_usage.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_project_usage.py b/test/integration/component/test_project_usage.py
index cdbc4c2..98311b8 100644
--- a/test/integration/component/test_project_usage.py
+++ b/test/integration/component/test_project_usage.py
@@ -790,7 +790,7 @@ class TestTemplateUsage(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
- @attr(tags=["advanced", "basic", "sg", "eip", "advancedns"], required_hardware="false")
+ @attr(tags=["advanced", "basic", "sg", "eip", "advancedns"], required_hardware="true")
def test_01_template_usage(self):
"""Test Upload/ delete a template and verify correct usage is generated
for the template uploaded
@@ -998,7 +998,7 @@ class TestISOUsage(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
- @attr(tags=["advanced", "basic", "sg", "eip", "advancedns"], required_hardware="false")
+ @attr(tags=["advanced", "basic", "sg", "eip", "advancedns"], required_hardware="true")
def test_01_ISO_usage(self):
"""Test Create/Delete a ISO and verify its usage is generated correctly
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/230cf2ee/test/integration/component/test_stopped_vm.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_stopped_vm.py b/test/integration/component/test_stopped_vm.py
index 89c8aec..de04d82 100644
--- a/test/integration/component/test_stopped_vm.py
+++ b/test/integration/component/test_stopped_vm.py
@@ -419,7 +419,7 @@ class TestDeployVM(cloudstackTestCase):
"advancedns",
"basic",
"sg"],
- required_hardware="false")
+ required_hardware="true")
def test_07_deploy_startvm_attach_iso(self):
"""Test Deploy Virtual Machine with startVM=false and attach ISO
"""
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/230cf2ee/test/integration/component/test_usage.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_usage.py b/test/integration/component/test_usage.py
index 71b9437..8b4fdfc 100644
--- a/test/integration/component/test_usage.py
+++ b/test/integration/component/test_usage.py
@@ -930,7 +930,7 @@ class TestISOUsage(cloudstackTestCase):
"sg",
"eip",
"advancedns"],
- required_hardware="false")
+ required_hardware="true")
def test_01_ISO_usage(self):
"""Test Create/Delete a ISO and verify its usage is generated correctly
"""
[06/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Specify all dependency versions in pom.xml
Signed-off-by: Daan Hoogland <da...@gmail.com>
This closes #497
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/fe4f0b1a
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/fe4f0b1a
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/fe4f0b1a
Branch: refs/heads/dhcpoffload
Commit: fe4f0b1a583624ed90a580c10e066d6e4e7ad948
Parents: 83488e0
Author: Rafael da Fonseca <rs...@gmail.com>
Authored: Mon Jun 22 11:53:28 2015 +0200
Committer: Daan Hoogland <da...@gmail.com>
Committed: Mon Jun 22 13:01:19 2015 +0200
----------------------------------------------------------------------
plugins/hypervisors/ovm3/pom.xml | 14 +++++++-------
pom.xml | 2 ++
2 files changed, 9 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fe4f0b1a/plugins/hypervisors/ovm3/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/pom.xml b/plugins/hypervisors/ovm3/pom.xml
index a8c4796..82b6e46 100644
--- a/plugins/hypervisors/ovm3/pom.xml
+++ b/plugins/hypervisors/ovm3/pom.xml
@@ -28,29 +28,29 @@
</parent>
<dependencies>
<dependency>
- <groupId>xml-apis</groupId>
- <artifactId>xml-apis</artifactId>
- <version>1.4.01</version>
+ <groupId>xml-apis</groupId>
+ <artifactId>xml-apis</artifactId>
+ <version>${cs.xml-apis.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlrpc</groupId>
<artifactId>xmlrpc-client</artifactId>
- <version>3.1.3</version>
+ <version>${cs.xmlrpc.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlrpc</groupId>
<artifactId>xmlrpc-common</artifactId>
- <version>3.1.3</version>
+ <version>${cs.xmlrpc.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
- <version>3.4</version>
+ <version>${cs.lang3.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
- <version>1.2.17</version>
+ <version>${cs.log4j.version}</version>
</dependency>
</dependencies>
<build>
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fe4f0b1a/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8ac4268..900f2e4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -86,6 +86,7 @@
<cs.powermock.version>1.5.3</cs.powermock.version>
<cs.aws.sdk.version>1.9.8</cs.aws.sdk.version>
<cs.lang.version>2.6</cs.lang.version>
+ <cs.lang3.version>3.4</cs.lang3.version>
<cs.commons-io.version>2.4</cs.commons-io.version>
<cs.commons-validator.version>1.4.0</cs.commons-validator.version>
<cs.reflections.version>0.9.9</cs.reflections.version>
@@ -101,6 +102,7 @@
<cs.findbugs.version>3.0.1</cs.findbugs.version>
<cs.javadoc.version>2.10.1</cs.javadoc.version>
<cs.opensaml.version>2.6.1</cs.opensaml.version>
+ <cs.xml-apis.version>1.4.01</cs.xml-apis.version>
</properties>
<distributionManagement>
[20/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
CLOUDSTACK-8577: fixing script testpath_disable_enable_zone
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/77508c9d
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/77508c9d
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/77508c9d
Branch: refs/heads/dhcpoffload
Commit: 77508c9d9a2f1679ecb157bc975990ccaf9f8783
Parents: 4945175
Author: nitt10prashant <ni...@gmail.com>
Authored: Mon Jun 22 18:35:40 2015 +0530
Committer: sanjeev <sa...@apache.org>
Committed: Wed Jun 24 10:50:20 2015 +0530
----------------------------------------------------------------------
test/integration/component/maint/testpath_disable_enable_zone.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/77508c9d/test/integration/component/maint/testpath_disable_enable_zone.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/testpath_disable_enable_zone.py b/test/integration/component/maint/testpath_disable_enable_zone.py
index 3cbd3d5..a15173e 100644
--- a/test/integration/component/maint/testpath_disable_enable_zone.py
+++ b/test/integration/component/maint/testpath_disable_enable_zone.py
@@ -185,7 +185,7 @@ class TestDisableEnableZone(cloudstackTestCase):
self.testdata["small"],
templateid=self.template.id,
accountid=self.admin_account.name,
- domainid=self.account.domainid,
+ domainid=self.admin_account.domainid,
serviceofferingid=self.service_offering.id,
zoneid=self.zone.id
)
@@ -280,6 +280,7 @@ class TestDisableEnableZone(cloudstackTestCase):
self.testdata["privatetemplate"]["hypervisor"] = builtin_info[1]
self.testdata["privatetemplate"]["format"] = builtin_info[2]
"""
+ //commenting it for now will uncomment once expected behaviour is known
Template.register(
self.apiclient,
self.testdata["privatetemplate"],
@@ -294,6 +295,7 @@ class TestDisableEnableZone(cloudstackTestCase):
diskofferingid=self.disk_offering.id
)
"""
+ //commenting it for now will uncomment once expected behaviour is known
Iso.create(
self.apiclient,
self.testdata["iso2"],
[37/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
CLOUDSTACK-8578: implement state=present for listing only non-destroyed VMs
So the behavior before this fix can be used in a proper way.
Signed-off-by: Daan Hoogland <da...@onecht.net>
This closes #513
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/af902fd9
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/af902fd9
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/af902fd9
Branch: refs/heads/dhcpoffload
Commit: af902fd9d911b5e46b1fa085be6badeb9780892c
Parents: 55c1d9f
Author: Rene Moser <re...@apache.org>
Authored: Tue Jun 23 15:47:06 2015 +0200
Committer: Daan Hoogland <da...@onecht.net>
Committed: Wed Jun 24 20:21:33 2015 +0200
----------------------------------------------------------------------
.../apache/cloudstack/api/command/user/vm/ListVMsCmd.java | 2 +-
server/src/com/cloud/api/query/QueryManagerImpl.java | 8 ++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/af902fd9/api/src/org/apache/cloudstack/api/command/user/vm/ListVMsCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/vm/ListVMsCmd.java b/api/src/org/apache/cloudstack/api/command/user/vm/ListVMsCmd.java
index 32a8b7b..ff6acde 100644
--- a/api/src/org/apache/cloudstack/api/command/user/vm/ListVMsCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/vm/ListVMsCmd.java
@@ -78,7 +78,7 @@ public class ListVMsCmd extends BaseListTaggedResourcesCmd {
@Parameter(name = ApiConstants.POD_ID, type = CommandType.UUID, entityType = PodResponse.class, description = "the pod ID")
private Long podId;
- @Parameter(name = ApiConstants.STATE, type = CommandType.STRING, description = "state of the virtual machine")
+ @Parameter(name = ApiConstants.STATE, type = CommandType.STRING, description = "state of the virtual machine. Possible values are: Running, Stopped, Present, Destroyed, Expunged. Present is used for the state equal not destroyed.")
private String state;
@Parameter(name = ApiConstants.ZONE_ID, type = CommandType.UUID, entityType = ZoneResponse.class, description = "the availability zone ID")
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/af902fd9/server/src/com/cloud/api/query/QueryManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java b/server/src/com/cloud/api/query/QueryManagerImpl.java
index 9840958..8c304b9 100644
--- a/server/src/com/cloud/api/query/QueryManagerImpl.java
+++ b/server/src/com/cloud/api/query/QueryManagerImpl.java
@@ -814,7 +814,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
String hypervisor = cmd.getHypervisor();
Object name = cmd.getName();
- Object state = cmd.getState();
+ String state = cmd.getState();
Object zoneId = cmd.getZoneId();
Object keyword = cmd.getKeyword();
boolean isAdmin = false;
@@ -968,7 +968,11 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
}
if (state != null) {
- sc.setParameters("stateEQ", state);
+ if (state.equalsIgnoreCase("present")) {
+ sc.setParameters("stateNIN", "Destroyed", "Expunging");
+ } else {
+ sc.setParameters("stateEQ", state);
+ }
}
if (hypervisor != null) {
[26/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Offer a getDurationInMillis() method in the Profiler utility class
- New implementation uses nanoseconds. Due to that, the places where the Profiler is used as a Monitor and/or
a stopwatch will suffer with the difference in the return
- Also added a getDuration(), which returns the time in nanoseconds in case someone wants to use it instead
- Added an extra test to check if the getDuration() works fine with nanoseconds
- Fixed the test that checks the time in milliseconds: I added an error margin to cover the test better
Signed-off-by: Daan Hoogland <da...@onecht.net>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/5557ad55
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/5557ad55
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/5557ad55
Branch: refs/heads/dhcpoffload
Commit: 5557ad55880f981c2621a4f411b80e4301469104
Parents: e3daa10
Author: wilderrodrigues <wr...@schubergphilis.com>
Authored: Tue Jun 23 15:46:53 2015 +0200
Committer: Daan Hoogland <da...@onecht.net>
Committed: Wed Jun 24 09:36:40 2015 +0200
----------------------------------------------------------------------
.../agent/manager/SynchronousListener.java | 2 +-
.../db/src/com/cloud/utils/db/GlobalLock.java | 2 +-
.../test/com/cloud/utils/db/GlobalLockTest.java | 2 +-
.../security/SecurityGroupManagerImpl2.java | 2 +-
.../security/SecurityGroupManagerImpl2Test.java | 2 +-
.../security/SecurityGroupQueueTest.java | 2 +-
utils/src/com/cloud/utils/Profiler.java | 53 +++++++++++++++-----
utils/test/com/cloud/utils/TestProfiler.java | 34 ++++++++++---
8 files changed, 74 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5557ad55/engine/orchestration/src/com/cloud/agent/manager/SynchronousListener.java
----------------------------------------------------------------------
diff --git a/engine/orchestration/src/com/cloud/agent/manager/SynchronousListener.java b/engine/orchestration/src/com/cloud/agent/manager/SynchronousListener.java
index 5da1b27..28c60c1 100644
--- a/engine/orchestration/src/com/cloud/agent/manager/SynchronousListener.java
+++ b/engine/orchestration/src/com/cloud/agent/manager/SynchronousListener.java
@@ -116,7 +116,7 @@ public class SynchronousListener implements Listener {
profiler.stop();
if (s_logger.isTraceEnabled()) {
- s_logger.trace("Synchronized command - sending completed, time: " + profiler.getDuration() + ", answer: " +
+ s_logger.trace("Synchronized command - sending completed, time: " + profiler.getDurationInMillis() + ", answer: " +
(_answers != null ? _answers[0].toString() : "null"));
}
return _answers;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5557ad55/framework/db/src/com/cloud/utils/db/GlobalLock.java
----------------------------------------------------------------------
diff --git a/framework/db/src/com/cloud/utils/db/GlobalLock.java b/framework/db/src/com/cloud/utils/db/GlobalLock.java
index e03da53..662ba92 100644
--- a/framework/db/src/com/cloud/utils/db/GlobalLock.java
+++ b/framework/db/src/com/cloud/utils/db/GlobalLock.java
@@ -139,7 +139,7 @@ public class GlobalLock {
}
profiler.stop();
- remainingMilliSeconds -= profiler.getDuration();
+ remainingMilliSeconds -= profiler.getDurationInMillis();
if (remainingMilliSeconds < 0)
return false;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5557ad55/framework/db/test/com/cloud/utils/db/GlobalLockTest.java
----------------------------------------------------------------------
diff --git a/framework/db/test/com/cloud/utils/db/GlobalLockTest.java b/framework/db/test/com/cloud/utils/db/GlobalLockTest.java
index c26f248..58c496f 100644
--- a/framework/db/test/com/cloud/utils/db/GlobalLockTest.java
+++ b/framework/db/test/com/cloud/utils/db/GlobalLockTest.java
@@ -49,7 +49,7 @@ public class GlobalLockTest {
p.start();
locked = WorkLock.lock(timeoutSeconds);
p.stop();
- System.out.println("Thread " + id + " waited " + p.getDuration() + " ms, locked=" + locked);
+ System.out.println("Thread " + id + " waited " + p.getDurationInMillis() + " ms, locked=" + locked);
if (locked) {
Thread.sleep(jobDuration * 1000);
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5557ad55/server/src/com/cloud/network/security/SecurityGroupManagerImpl2.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/security/SecurityGroupManagerImpl2.java b/server/src/com/cloud/network/security/SecurityGroupManagerImpl2.java
index 3c0c5c3..47f6e77 100644
--- a/server/src/com/cloud/network/security/SecurityGroupManagerImpl2.java
+++ b/server/src/com/cloud/network/security/SecurityGroupManagerImpl2.java
@@ -125,7 +125,7 @@ public class SecurityGroupManagerImpl2 extends SecurityGroupManagerImpl {
p.stop();
if (s_logger.isDebugEnabled()) {
s_logger.debug("Security Group Mgr v2: done scheduling ruleset updates for " + workItems.size() + " vms: num new jobs=" + newJobs +
- " num rows insert or updated=" + updated + " time taken=" + p.getDuration());
+ " num rows insert or updated=" + updated + " time taken=" + p.getDurationInMillis());
}
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5557ad55/server/test/com/cloud/network/security/SecurityGroupManagerImpl2Test.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/network/security/SecurityGroupManagerImpl2Test.java b/server/test/com/cloud/network/security/SecurityGroupManagerImpl2Test.java
index 9c41ac2..ad1da32 100644
--- a/server/test/com/cloud/network/security/SecurityGroupManagerImpl2Test.java
+++ b/server/test/com/cloud/network/security/SecurityGroupManagerImpl2Test.java
@@ -61,7 +61,7 @@ public class SecurityGroupManagerImpl2Test extends TestCase {
_sgMgr.scheduleRulesetUpdateToHosts(work, false, null);
profiler.stop();
- System.out.println("Done " + numVms + " in " + profiler.getDuration() + " ms");
+ System.out.println("Done " + numVms + " in " + profiler.getDurationInMillis() + " ms");
}
@Test
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5557ad55/server/test/com/cloud/network/security/SecurityGroupQueueTest.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/network/security/SecurityGroupQueueTest.java b/server/test/com/cloud/network/security/SecurityGroupQueueTest.java
index 6c104c2..e90cc58 100644
--- a/server/test/com/cloud/network/security/SecurityGroupQueueTest.java
+++ b/server/test/com/cloud/network/security/SecurityGroupQueueTest.java
@@ -131,7 +131,7 @@ public class SecurityGroupQueueTest extends TestCase {
}
}
p.stop();
- System.out.println("Num Vms= " + maxVmId + " Queue size = " + queue.size() + " time=" + p.getDuration() + " ms");
+ System.out.println("Num Vms= " + maxVmId + " Queue size = " + queue.size() + " time=" + p.getDurationInMillis() + " ms");
assertEquals(maxVmId, queue.size());
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5557ad55/utils/src/com/cloud/utils/Profiler.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/Profiler.java b/utils/src/com/cloud/utils/Profiler.java
index 6082a92..5977453 100644
--- a/utils/src/com/cloud/utils/Profiler.java
+++ b/utils/src/com/cloud/utils/Profiler.java
@@ -20,45 +20,72 @@
package com.cloud.utils;
public class Profiler {
- private Long startTickInMs;
- private Long stopTickInMs;
+
+ private static final long MILLIS_FACTOR = 1000l;
+ private static final double EXPONENT = 2d;
+
+
+ private Long startTickNanoSeconds;
+ private Long stopTickNanoSeconds;
public long start() {
- startTickInMs = System.nanoTime();
- return startTickInMs.longValue();
+ startTickNanoSeconds = System.nanoTime();
+ return startTickNanoSeconds;
}
public long stop() {
- stopTickInMs = System.nanoTime();
- return stopTickInMs.longValue();
+ stopTickNanoSeconds = System.nanoTime();
+ return stopTickNanoSeconds;
}
+ /**
+ * 1 millisecond = 1e+6 nanoseconds
+ * 1 second = 1000 milliseconds = 1e+9 nanoseconds
+ *
+ * @return the duration in nanoseconds.
+ */
public long getDuration() {
- if (startTickInMs != null && stopTickInMs != null) {
- return stopTickInMs.longValue() - startTickInMs.longValue();
+ if (startTickNanoSeconds != null && stopTickNanoSeconds != null) {
+ final long timeInMicroSeconds = stopTickNanoSeconds - startTickNanoSeconds;
+ return timeInMicroSeconds;
+ }
+
+ return -1;
+ }
+
+ /**
+ * 1 millisecond = 1e+6 nanoseconds
+ * 1 second = 1000 millisecond = 1e+9 nanoseconds
+ *
+ * @return the duration in milliseconds.
+ */
+ public long getDurationInMillis() {
+ if (startTickNanoSeconds != null && stopTickNanoSeconds != null) {
+ final long timeInMillis = (stopTickNanoSeconds - startTickNanoSeconds) / (long)Math.pow(MILLIS_FACTOR, EXPONENT);
+ return timeInMillis;
}
return -1;
}
public boolean isStarted() {
- return startTickInMs != null;
+ return startTickNanoSeconds != null;
}
public boolean isStopped() {
- return stopTickInMs != null;
+ return stopTickNanoSeconds != null;
}
@Override
public String toString() {
- if (startTickInMs == null) {
+ if (startTickNanoSeconds == null) {
return "Not Started";
}
- if (stopTickInMs == null) {
+ if (stopTickNanoSeconds == null) {
return "Started but not stopped";
}
- return "Done. Duration: " + getDuration() + "ms";
+ return "Done. Duration: " + getDurationInMillis() + "ms";
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5557ad55/utils/test/com/cloud/utils/TestProfiler.java
----------------------------------------------------------------------
diff --git a/utils/test/com/cloud/utils/TestProfiler.java b/utils/test/com/cloud/utils/TestProfiler.java
index 4323f1d..cbd28f5 100644
--- a/utils/test/com/cloud/utils/TestProfiler.java
+++ b/utils/test/com/cloud/utils/TestProfiler.java
@@ -28,26 +28,48 @@ import com.cloud.utils.testcase.Log4jEnabledTestCase;
public class TestProfiler extends Log4jEnabledTestCase {
protected final static Logger s_logger = Logger.getLogger(TestProfiler.class);
+ private static final long MILLIS_FACTOR = 1000l;
+ private static final int MARGIN = 100;
+ private static final double EXPONENT = 3d;
+
@Test
- public void testProfiler() {
+ public void testProfilerInMillis() {
s_logger.info("testProfiler() started");
final Profiler pf = new Profiler();
pf.start();
try {
- Thread.sleep(1000);
+ Thread.sleep(MILLIS_FACTOR);
} catch (final InterruptedException e) {
}
pf.stop();
- s_logger.info("Duration : " + pf.getDuration());
+ final long durationInMillis = pf.getDurationInMillis();
+ s_logger.info("Duration : " + durationInMillis);
- Assert.assertTrue(pf.getDuration() >= 1000);
+ // An error margin in order to cover the time taken by the star/stop calls.
+ // 100 milliseconds margin seems too much, but it will avoid assertion error
+ // and also fail in case a duration in nanoseconds is used instead.
+ Assert.assertTrue(durationInMillis >= MILLIS_FACTOR && durationInMillis <= MILLIS_FACTOR + MARGIN);
s_logger.info("testProfiler() stopped");
}
@Test
+ public void testProfilerInMicro() {
+ final Profiler pf = new Profiler();
+ pf.start();
+ try {
+ Thread.sleep(MILLIS_FACTOR);
+ } catch (final InterruptedException e) {
+ }
+ pf.stop();
+
+ final long duration = pf.getDuration();
+ Assert.assertTrue(duration >= Math.pow(MILLIS_FACTOR, EXPONENT));
+ }
+
+ @Test
public void testProfilerNoStart() {
final Profiler pf = new Profiler();
try {
@@ -56,7 +78,7 @@ public class TestProfiler extends Log4jEnabledTestCase {
}
pf.stop();
- Assert.assertTrue(pf.getDuration() == -1);
+ Assert.assertTrue(pf.getDurationInMillis() == -1);
Assert.assertFalse(pf.isStarted());
}
@@ -69,7 +91,7 @@ public class TestProfiler extends Log4jEnabledTestCase {
} catch (final InterruptedException e) {
}
- Assert.assertTrue(pf.getDuration() == -1);
+ Assert.assertTrue(pf.getDurationInMillis() == -1);
Assert.assertFalse(pf.isStopped());
}
}
\ No newline at end of file
[08/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9d19191b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/XenTest.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/XenTest.java b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/XenTest.java
index d8e8021..90e9e14 100644
--- a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/XenTest.java
+++ b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/XenTest.java
@@ -66,1285 +66,1285 @@ public class XenTest {
String VMROOTDISKPATH = REPOPATH + "/" + REPOID + "/Disks/" + VMROOTDISK;
String VMISOPATH = REPOPATH + "/" + REPOID + "/ISOs/" + VMISO;
String MULTIPLEVMSLISTXML = results
- .simpleResponseWrapWrapper("<array><data>\n"
- + "<value><struct>\n"
- + "<member>\n"
- + "<name>on_xend_stop</name>\n"
- + "<value><string>ignore</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>features</name>\n"
- + "<value><string></string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>image</name>\n"
- + "<value><struct>\n"
- + "<member>\n"
- + "<name>tsc_mode</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>kernel</name>\n"
- + "<value><string></string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>superpages</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>nomigrate</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>expose_host_uuid</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "</struct></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>cpus</name>\n"
- + "<value><array><data>\n"
- + "<value><array><data>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>10</string></value>\n"
- + "<value><string>11</string></value>\n"
- + "<value><string>12</string></value>\n"
- + "<value><string>13</string></value>\n"
- + "<value><string>14</string></value>\n"
- + "<value><string>15</string></value>\n"
- + "<value><string>16</string></value>\n"
- + "<value><string>17</string></value>\n"
- + "<value><string>18</string></value>\n"
- + "<value><string>19</string></value>\n"
- + "<value><string>20</string></value>\n"
- + "<value><string>21</string></value>\n"
- + "<value><string>22</string></value>\n"
- + "<value><string>23</string></value>\n"
- + "<value><string>24</string></value>\n"
- + "<value><string>25</string></value>\n"
- + "<value><string>26</string></value>\n"
- + "<value><string>27</string></value>\n"
- + "<value><string>28</string></value>\n"
- + "<value><string>29</string></value>\n"
- + "<value><string>30</string></value>\n"
- + "<value><string>31</string></value>\n"
- + "<value><string>32</string></value>\n"
- + "<value><string>33</string></value>\n"
- + "<value><string>34</string></value>\n"
- + "<value><string>35</string></value>\n"
- + "<value><string>36</string></value>\n"
- + "<value><string>37</string></value>\n"
- + "<value><string>38</string></value>\n"
- + "<value><string>39</string></value>\n"
- + "<value><string>40</string></value>\n"
- + "<value><string>41</string></value>\n"
- + "<value><string>42</string></value>\n"
- + "<value><string>43</string></value>\n"
- + "<value><string>44</string></value>\n"
- + "<value><string>45</string></value>\n"
- + "<value><string>46</string></value>\n"
- + "<value><string>47</string></value>\n"
- + "<value><string>48</string></value>\n"
- + "<value><string>49</string></value>\n"
- + "<value><string>50</string></value>\n"
- + "<value><string>51</string></value>\n"
- + "<value><string>52</string></value>\n"
- + "<value><string>53</string></value>\n"
- + "<value><string>54</string></value>\n"
- + "<value><string>55</string></value>\n"
- + "<value><string>56</string></value>\n"
- + "<value><string>57</string></value>\n"
- + "<value><string>58</string></value>\n"
- + "<value><string>59</string></value>\n"
- + "<value><string>60</string></value>\n"
- + "<value><string>61</string></value>\n"
- + "<value><string>62</string></value>\n"
- + "<value><string>63</string></value>\n"
- + "<value><string>64</string></value>\n"
- + "<value><string>65</string></value>\n"
- + "<value><string>66</string></value>\n"
- + "<value><string>67</string></value>\n"
- + "<value><string>68</string></value>\n"
- + "<value><string>69</string></value>\n"
- + "<value><string>70</string></value>\n"
- + "<value><string>71</string></value>\n"
- + "<value><string>72</string></value>\n"
- + "<value><string>73</string></value>\n"
- + "<value><string>74</string></value>\n"
- + "<value><string>75</string></value>\n"
- + "<value><string>76</string></value>\n"
- + "<value><string>77</string></value>\n"
- + "<value><string>78</string></value>\n"
- + "<value><string>79</string></value>\n"
- + "<value><string>80</string></value>\n"
- + "<value><string>81</string></value>\n"
- + "<value><string>82</string></value>\n"
- + "<value><string>83</string></value>\n"
- + "<value><string>84</string></value>\n"
- + "<value><string>85</string></value>\n"
- + "<value><string>86</string></value>\n"
- + "<value><string>87</string></value>\n"
- + "<value><string>88</string></value>\n"
- + "<value><string>89</string></value>\n"
- + "<value><string>90</string></value>\n"
- + "<value><string>91</string></value>\n"
- + "<value><string>92</string></value>\n"
- + "<value><string>93</string></value>\n"
- + "<value><string>94</string></value>\n"
- + "<value><string>95</string></value>\n"
- + "<value><string>96</string></value>\n"
- + "<value><string>97</string></value>\n"
- + "<value><string>98</string></value>\n"
- + "<value><string>99</string></value>\n"
- + "<value><string>100</string></value>\n"
- + "<value><string>101</string></value>\n"
- + "<value><string>102</string></value>\n"
- + "<value><string>103</string></value>\n"
- + "<value><string>104</string></value>\n"
- + "<value><string>105</string></value>\n"
- + "<value><string>106</string></value>\n"
- + "<value><string>107</string></value>\n"
- + "<value><string>108</string></value>\n"
- + "<value><string>109</string></value>\n"
- + "<value><string>110</string></value>\n"
- + "<value><string>111</string></value>\n"
- + "<value><string>112</string></value>\n"
- + "<value><string>113</string></value>\n"
- + "<value><string>114</string></value>\n"
- + "<value><string>115</string></value>\n"
- + "<value><string>116</string></value>\n"
- + "<value><string>117</string></value>\n"
- + "<value><string>118</string></value>\n"
- + "<value><string>119</string></value>\n"
- + "<value><string>120</string></value>\n"
- + "<value><string>121</string></value>\n"
- + "<value><string>122</string></value>\n"
- + "<value><string>123</string></value>\n"
- + "<value><string>124</string></value>\n"
- + "<value><string>125</string></value>\n"
- + "<value><string>126</string></value>\n"
- + "<value><string>127</string></value>\n"
- + "<value><string>128</string></value>\n"
- + "<value><string>129</string></value>\n"
- + "<value><string>130</string></value>\n"
- + "<value><string>131</string></value>\n"
- + "<value><string>132</string></value>\n"
- + "<value><string>133</string></value>\n"
- + "<value><string>134</string></value>\n"
- + "<value><string>135</string></value>\n"
- + "<value><string>136</string></value>\n"
- + "<value><string>137</string></value>\n"
- + "<value><string>138</string></value>\n"
- + "<value><string>139</string></value>\n"
- + "<value><string>140</string></value>\n"
- + "<value><string>141</string></value>\n"
- + "<value><string>142</string></value>\n"
- + "<value><string>143</string></value>\n"
- + "<value><string>144</string></value>\n"
- + "<value><string>145</string></value>\n"
- + "<value><string>146</string></value>\n"
- + "<value><string>147</string></value>\n"
- + "<value><string>148</string></value>\n"
- + "<value><string>149</string></value>\n"
- + "<value><string>150</string></value>\n"
- + "<value><string>151</string></value>\n"
- + "<value><string>152</string></value>\n"
- + "<value><string>153</string></value>\n"
- + "<value><string>154</string></value>\n"
- + "<value><string>155</string></value>\n"
- + "<value><string>156</string></value>\n"
- + "<value><string>157</string></value>\n"
- + "<value><string>158</string></value>\n"
- + "<value><string>159</string></value>\n"
- + "</data></array></value>\n"
- + "<value><array><data>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "<value><string>10</string></value>\n"
- + "<value><string>11</string></value>\n"
- + "<value><string>12</string></value>\n"
- + "<value><string>13</string></value>\n"
- + "<value><string>14</string></value>\n"
- + "<value><string>15</string></value>\n"
- + "<value><string>16</string></value>\n"
- + "<value><string>17</string></value>\n"
- + "<value><string>18</string></value>\n"
- + "<value><string>19</string></value>\n"
- + "<value><string>20</string></value>\n"
- + "<value><string>21</string></value>\n"
- + "<value><string>22</string></value>\n"
- + "<value><string>23</string></value>\n"
- + "<value><string>24</string></value>\n"
- + "<value><string>25</string></value>\n"
- + "<value><string>26</string></value>\n"
- + "<value><string>27</string></value>\n"
- + "<value><string>28</string></value>\n"
- + "<value><string>29</string></value>\n"
- + "<value><string>30</string></value>\n"
- + "<value><string>31</string></value>\n"
- + "<value><string>32</string></value>\n"
- + "<value><string>33</string></value>\n"
- + "<value><string>34</string></value>\n"
- + "<value><string>35</string></value>\n"
- + "<value><string>36</string></value>\n"
- + "<value><string>37</string></value>\n"
- + "<value><string>38</string></value>\n"
- + "<value><string>39</string></value>\n"
- + "<value><string>40</string></value>\n"
- + "<value><string>41</string></value>\n"
- + "<value><string>42</string></value>\n"
- + "<value><string>43</string></value>\n"
- + "<value><string>44</string></value>\n"
- + "<value><string>45</string></value>\n"
- + "<value><string>46</string></value>\n"
- + "<value><string>47</string></value>\n"
- + "<value><string>48</string></value>\n"
- + "<value><string>49</string></value>\n"
- + "<value><string>50</string></value>\n"
- + "<value><string>51</string></value>\n"
- + "<value><string>52</string></value>\n"
- + "<value><string>53</string></value>\n"
- + "<value><string>54</string></value>\n"
- + "<value><string>55</string></value>\n"
- + "<value><string>56</string></value>\n"
- + "<value><string>57</string></value>\n"
- + "<value><string>58</string></value>\n"
- + "<value><string>59</string></value>\n"
- + "<value><string>60</string></value>\n"
- + "<value><string>61</string></value>\n"
- + "<value><string>62</string></value>\n"
- + "<value><string>63</string></value>\n"
- + "<value><string>64</string></value>\n"
- + "<value><string>65</string></value>\n"
- + "<value><string>66</string></value>\n"
- + "<value><string>67</string></value>\n"
- + "<value><string>68</string></value>\n"
- + "<value><string>69</string></value>\n"
- + "<value><string>70</string></value>\n"
- + "<value><string>71</string></value>\n"
- + "<value><string>72</string></value>\n"
- + "<value><string>73</string></value>\n"
- + "<value><string>74</string></value>\n"
- + "<value><string>75</string></value>\n"
- + "<value><string>76</string></value>\n"
- + "<value><string>77</string></value>\n"
- + "<value><string>78</string></value>\n"
- + "<value><string>79</string></value>\n"
- + "<value><string>80</string></value>\n"
- + "<value><string>81</string></value>\n"
- + "<value><string>82</string></value>\n"
- + "<value><string>83</string></value>\n"
- + "<value><string>84</string></value>\n"
- + "<value><string>85</string></value>\n"
- + "<value><string>86</string></value>\n"
- + "<value><string>87</string></value>\n"
- + "<value><string>88</string></value>\n"
- + "<value><string>89</string></value>\n"
- + "<value><string>90</string></value>\n"
- + "<value><string>91</string></value>\n"
- + "<value><string>92</string></value>\n"
- + "<value><string>93</string></value>\n"
- + "<value><string>94</string></value>\n"
- + "<value><string>95</string></value>\n"
- + "<value><string>96</string></value>\n"
- + "<value><string>97</string></value>\n"
- + "<value><string>98</string></value>\n"
- + "<value><string>99</string></value>\n"
- + "<value><string>100</string></value>\n"
- + "<value><string>101</string></value>\n"
- + "<value><string>102</string></value>\n"
- + "<value><string>103</string></value>\n"
- + "<value><string>104</string></value>\n"
- + "<value><string>105</string></value>\n"
- + "<value><string>106</string></value>\n"
- + "<value><string>107</string></value>\n"
- + "<value><string>108</string></value>\n"
- + "<value><string>109</string></value>\n"
- + "<value><string>110</string></value>\n"
- + "<value><string>111</string></value>\n"
- + "<value><string>112</string></value>\n"
- + "<value><string>113</string></value>\n"
- + "<value><string>114</string></value>\n"
- + "<value><string>115</string></value>\n"
- + "<value><string>116</string></value>\n"
- + "<value><string>117</string></value>\n"
- + "<value><string>118</string></value>\n"
- + "<value><string>119</string></value>\n"
- + "<value><string>120</string></value>\n"
- + "<value><string>121</string></value>\n"
- + "<value><string>122</string></value>\n"
- + "<value><string>123</string></value>\n"
- + "<value><string>124</string></value>\n"
- + "<value><string>125</string></value>\n"
- + "<value><string>126</string></value>\n"
- + "<value><string>127</string></value>\n"
- + "<value><string>128</string></value>\n"
- + "<value><string>129</string></value>\n"
- + "<value><string>130</string></value>\n"
- + "<value><string>131</string></value>\n"
- + "<value><string>132</string></value>\n"
- + "<value><string>133</string></value>\n"
- + "<value><string>134</string></value>\n"
- + "<value><string>135</string></value>\n"
- + "<value><string>136</string></value>\n"
- + "<value><string>137</string></value>\n"
- + "<value><string>138</string></value>\n"
- + "<value><string>139</string></value>\n"
- + "<value><string>140</string></value>\n"
- + "<value><string>141</string></value>\n"
- + "<value><string>142</string></value>\n"
- + "<value><string>143</string></value>\n"
- + "<value><string>144</string></value>\n"
- + "<value><string>145</string></value>\n"
- + "<value><string>146</string></value>\n"
- + "<value><string>147</string></value>\n"
- + "<value><string>148</string></value>\n"
- + "<value><string>149</string></value>\n"
- + "<value><string>150</string></value>\n"
- + "<value><string>151</string></value>\n"
- + "<value><string>152</string></value>\n"
- + "<value><string>153</string></value>\n"
- + "<value><string>154</string></value>\n"
- + "<value><string>155</string></value>\n"
- + "<value><string>156</string></value>\n"
- + "<value><string>157</string></value>\n"
- + "<value><string>158</string></value>\n"
- + "<value><string>159</string></value>\n"
- + "</data></array></value>\n"
- + "</data></array></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>uuid</name>\n"
- + "<value><string>00000000-0000-0000-0000-000000000000</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>on_reboot</name>\n"
- + "<value><string>restart</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>state</name>\n"
- + "<value><string>r-----</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>cpu_weight</name>\n"
- + "<value><string>65535</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>online_vcpus</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>memory</name>\n"
- + "<value><string>672</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>cpu_cap</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>status</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>pool_name</name>\n"
- + "<value><string>Pool-0</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>on_poweroff</name>\n"
- + "<value><string>destroy</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>on_xend_start</name>\n"
- + "<value><string>ignore</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>on_crash</name>\n"
- + "<value><string>restart</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>device</name>\n"
- + "<value><struct>\n"
- + "</struct></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>bootloader</name>\n"
- + "<value><string></string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>maxmem</name>\n"
- + "<value><string>672</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>cpu_time</name>\n"
- + "<value><string>6608.51291287</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>shadow_memory</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>name</name>\n"
- + "<value><string>Domain-0</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>builder</name>\n"
- + "<value><string>linux</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>bootloader_args</name>\n"
- + "<value><string></string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>domid</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>vcpus</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "</struct></value>\n"
- + "<value><struct>\n"
- + "<member>\n"
- + "<name>on_xend_stop</name>\n"
- + "<value><string>ignore</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>console_mfn</name>\n"
- + "<value><string>873706</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>features</name>\n"
- + "<value><string></string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>image</name>\n"
- + "<value><struct>\n"
- + "<member>\n"
- + "<name>tsc_mode</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>kernel</name>\n"
- + "<value><string></string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>videoram</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>device_model</name>\n"
- + "<value><string>/usr/lib/xen/bin/qemu-dm</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>notes</name>"
- + "<value><array><data>"
- + "<value><array><data>"
- + "<value><string>HV_START_LOW</string></value>"
- + "<value><string>4118806528</string></value>"
- + "</data></array></value>"
- + "<value><array><data>"
- + "<value><string>FEATURES</string></value>"
- + "<value><string>!writable_page_tables|pae_pgdir_above_4gb</string></value>"
- + "</data></array></value>" + "<value><array><data>"
- + "<value><string>VIRT_BASE</string></value>"
- + "<value><string>3221225472</string></value>"
- + "</data></array></value>" + "<value><array><data>"
- + "<value><string>GUEST_VERSION</string></value>"
- + "<value><string>2.6</string></value>"
- + "</data></array></value>" + "<value><array><data>"
- + "<value><string>PADDR_OFFSET</string></value>"
- + "<value><string>" + "</string></value>"
- + "</data></array></value>" + "<value><array><data>"
- + "<value><string>GUEST_OS</string></value>"
- + "<value><string>linux</string></value>"
- + "</data></array></value>" + "<value><array><data>"
- + "<value><string>HYPERCALL_PAGE</string></value>"
- + "<value><string>3238010880</string></value>"
- + "</data></array></value>" + "<value><array><data>"
- + "<value><string>LOADER</string></value>"
- + "<value><string>generic</string></value>"
- + "</data></array></value>" + "<value><array><data>"
- + "<value><string>SUSPEND_CANCEL</string></value>"
- + "<value><string>" + "</string></value>"
- + "</data></array></value>" + "<value><array><data>"
- + "<value><string>PAE_MODE</string></value>"
- + "<value><string>yes</string></value>"
- + "</data></array></value>" + "<value><array><data>"
- + "<value><string>ENTRY</string></value>"
- + "<value><string>3242303488</string></value>"
- + "</data></array></value>" + "<value><array><data>"
- + "<value><string>XEN_VERSION</string></value>"
- + "<value><string>xen-3.0</string></value>"
- + "</data></array></value>" + "</data></array></value>"
- + "</member>" + "<member>"
- + "<name>expose_host_uuid</name>" + "<value><string>"
- + "</string></value>" + "</member>" + "<member>"
- + "<name>pci</name>" + "<value><array><data>"
- + "</data></array></value>" + "</member>" + "<member>"
- + "<name>superpages</name>\n" + "<value><string>\n"
- + "</string></value>\n" + "</member>\n" + "<member>\n"
- + "<name>nomigrate</name>\n" + "<value><string>\n"
- + "</string></value>\n" + "</member>\n"
- + "</struct></value>\n" + "</member>\n" + "<member>\n"
- + "<name>cpus</name>\n" + "<value><array><data>\n"
- + "<value><array><data>\n" + "</data></array></value>\n"
- + "</data></array></value>\n" + "</member>\n"
- + "<member>\n" + "<name>store_mfn</name>\n"
- + "<value><string>873707</string></value>\n"
- + "</member>\n" + "<member>\n" + "<name>uuid</name>\n"
- + "<value><string>"
- + VMID
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>on_reboot</name>\n"
- + "<value><string>restart</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>state</name>\n"
- + "<value><string>-b----</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>cpu_weight</name>\n"
- + "<value><string>27500</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>online_vcpus</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>memory</name>\n"
- + "<value><string>512</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>cpu_cap</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>status</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>pool_name</name>\n"
- + "<value><string>Pool-0</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>description</name>\n"
- + "<value><string></string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>start_time</name>\n"
- + "<value><string>1408105444.17</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>on_poweroff</name>\n"
- + "<value><string>destroy</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>on_xend_start</name>\n"
- + "<value><string>ignore</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>on_crash</name>\n"
- + "<value><string>restart</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>device</name>\n"
- + "<value><struct>\n"
- + "<member>\n"
- + "<name>vif</name>\n"
- + "<value><array><data>\n"
- + "<value><struct>\n"
- + "<member>\n"
- + "<name>bridge</name>\n"
- + "<value><string>"+VMNICBR+"</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>mac</name>\n"
- + "<value><string>" + VMNICMAC + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>script</name>\n"
- + "<value><string>/etc/xen/scripts/vif-bridge</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>uuid</name>\n"
- + "<value><string>"+VMNICUUID+"</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>backend</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "</struct></value>\n"
- + "</data></array></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>vkbd</name>\n"
- + "<value><array><data>\n"
- + "<value><struct>\n"
- + "<member>\n"
- + "<name>backend</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "</struct></value>\n"
- + "</data></array></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>console</name>\n"
- + "<value><array><data>\n"
- + "<value><struct>\n"
- + "<member>\n"
- + "<name>protocol</name>\n"
- + "<value><string>vt100</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>location</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>uuid</name>\n"
- + "<value><string>9beb5016-dde7-8526-491f-e972f262a634</string></value>\n"
- + "</member>\n"
- + "</struct></value>\n"
- + "</data></array></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>vfb</name>\n"
- + "<value><array><data>\n"
- + "<value><struct>\n"
- + "<member>\n"
- + "<name>vncunused</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>vnc</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>xauthority</name>\n"
- + "<value><string>/root/.Xauthority</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>vnclisten</name>\n"
- + "<value><string>0.0.0.0</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>vncpasswd</name>\n"
- + "<value><string>7693f834ca67912e</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>keymap</name>\n"
- + "<value><string>en-us</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>location</name>\n"
- + "<value><string>0.0.0.0:5900</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>uuid</name>\n"
- + "<value><string>78edf954-e375-b142-9c76-791ce805b6ef</string></value>\n"
- + "</member>\n"
- + "</struct></value>\n"
- + "</data></array></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>vbd</name>\n"
- + "<value><array><data>\n"
- + "<value><struct>\n"
- + "<member>\n"
- + "<name>protocol</name>\n"
- + "<value><string>x86_32-abi</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>uuid</name>\n"
- + "<value><string>bda35954-2596-025e-168c-b82e1cf92369</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>bootable</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>dev</name>\n"
- + "<value><string>xvda:disk</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>uname</name>\n"
- + "<value><string>file:/OVS/Repositories/"
- + REPOID
- + "/VirtualDisks/"
- + VMROOTDISK
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>mode</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>VDI</name>\n"
- + "<value><string></string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>backend</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "</struct></value>\n"
- + "</data></array></value>\n"
- + "</member>\n"
- + "</struct></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>bootloader</name>\n"
- + "<value><string>/usr/bin/pygrub</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>maxmem</name>\n"
- + "<value><string>512</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>cpu_time</name>\n"
- + "<value><string>0.152510481</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>shadow_memory</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>name</name>\n"
- + "<value><string>"
- + VMNAME
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>builder</name>\n"
- + "<value><string>linux</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>bootloader_args</name>\n"
- + "<value><string>-q</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>domid</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n"
- + "<member>\n"
- + "<name>vcpus</name>\n"
- + "<value><string>\n"
- + "</string></value>\n"
- + "</member>\n" + "</struct></value>\n" + "</data></array>");
+ .simpleResponseWrapWrapper(new StringBuilder("<array><data>\n")
+ .append("<value><struct>\n")
+ .append("<member>\n")
+ .append("<name>on_xend_stop</name>\n")
+ .append("<value><string>ignore</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>features</name>\n")
+ .append("<value><string></string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>image</name>\n")
+ .append("<value><struct>\n")
+ .append("<member>\n")
+ .append("<name>tsc_mode</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>kernel</name>\n")
+ .append("<value><string></string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>superpages</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>nomigrate</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>expose_host_uuid</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("</struct></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>cpus</name>\n")
+ .append("<value><array><data>\n")
+ .append("<value><array><data>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>10</string></value>\n")
+ .append("<value><string>11</string></value>\n")
+ .append("<value><string>12</string></value>\n")
+ .append("<value><string>13</string></value>\n")
+ .append("<value><string>14</string></value>\n")
+ .append("<value><string>15</string></value>\n")
+ .append("<value><string>16</string></value>\n")
+ .append("<value><string>17</string></value>\n")
+ .append("<value><string>18</string></value>\n")
+ .append("<value><string>19</string></value>\n")
+ .append("<value><string>20</string></value>\n")
+ .append("<value><string>21</string></value>\n")
+ .append("<value><string>22</string></value>\n")
+ .append("<value><string>23</string></value>\n")
+ .append("<value><string>24</string></value>\n")
+ .append("<value><string>25</string></value>\n")
+ .append("<value><string>26</string></value>\n")
+ .append("<value><string>27</string></value>\n")
+ .append("<value><string>28</string></value>\n")
+ .append("<value><string>29</string></value>\n")
+ .append("<value><string>30</string></value>\n")
+ .append("<value><string>31</string></value>\n")
+ .append("<value><string>32</string></value>\n")
+ .append("<value><string>33</string></value>\n")
+ .append("<value><string>34</string></value>\n")
+ .append("<value><string>35</string></value>\n")
+ .append("<value><string>36</string></value>\n")
+ .append("<value><string>37</string></value>\n")
+ .append("<value><string>38</string></value>\n")
+ .append("<value><string>39</string></value>\n")
+ .append("<value><string>40</string></value>\n")
+ .append("<value><string>41</string></value>\n")
+ .append("<value><string>42</string></value>\n")
+ .append("<value><string>43</string></value>\n")
+ .append("<value><string>44</string></value>\n")
+ .append("<value><string>45</string></value>\n")
+ .append("<value><string>46</string></value>\n")
+ .append("<value><string>47</string></value>\n")
+ .append("<value><string>48</string></value>\n")
+ .append("<value><string>49</string></value>\n")
+ .append("<value><string>50</string></value>\n")
+ .append("<value><string>51</string></value>\n")
+ .append("<value><string>52</string></value>\n")
+ .append("<value><string>53</string></value>\n")
+ .append("<value><string>54</string></value>\n")
+ .append("<value><string>55</string></value>\n")
+ .append("<value><string>56</string></value>\n")
+ .append("<value><string>57</string></value>\n")
+ .append("<value><string>58</string></value>\n")
+ .append("<value><string>59</string></value>\n")
+ .append("<value><string>60</string></value>\n")
+ .append("<value><string>61</string></value>\n")
+ .append("<value><string>62</string></value>\n")
+ .append("<value><string>63</string></value>\n")
+ .append("<value><string>64</string></value>\n")
+ .append("<value><string>65</string></value>\n")
+ .append("<value><string>66</string></value>\n")
+ .append("<value><string>67</string></value>\n")
+ .append("<value><string>68</string></value>\n")
+ .append("<value><string>69</string></value>\n")
+ .append("<value><string>70</string></value>\n")
+ .append("<value><string>71</string></value>\n")
+ .append("<value><string>72</string></value>\n")
+ .append("<value><string>73</string></value>\n")
+ .append("<value><string>74</string></value>\n")
+ .append("<value><string>75</string></value>\n")
+ .append("<value><string>76</string></value>\n")
+ .append("<value><string>77</string></value>\n")
+ .append("<value><string>78</string></value>\n")
+ .append("<value><string>79</string></value>\n")
+ .append("<value><string>80</string></value>\n")
+ .append("<value><string>81</string></value>\n")
+ .append("<value><string>82</string></value>\n")
+ .append("<value><string>83</string></value>\n")
+ .append("<value><string>84</string></value>\n")
+ .append("<value><string>85</string></value>\n")
+ .append("<value><string>86</string></value>\n")
+ .append("<value><string>87</string></value>\n")
+ .append("<value><string>88</string></value>\n")
+ .append("<value><string>89</string></value>\n")
+ .append("<value><string>90</string></value>\n")
+ .append("<value><string>91</string></value>\n")
+ .append("<value><string>92</string></value>\n")
+ .append("<value><string>93</string></value>\n")
+ .append("<value><string>94</string></value>\n")
+ .append("<value><string>95</string></value>\n")
+ .append("<value><string>96</string></value>\n")
+ .append("<value><string>97</string></value>\n")
+ .append("<value><string>98</string></value>\n")
+ .append("<value><string>99</string></value>\n")
+ .append("<value><string>100</string></value>\n")
+ .append("<value><string>101</string></value>\n")
+ .append("<value><string>102</string></value>\n")
+ .append("<value><string>103</string></value>\n")
+ .append("<value><string>104</string></value>\n")
+ .append("<value><string>105</string></value>\n")
+ .append("<value><string>106</string></value>\n")
+ .append("<value><string>107</string></value>\n")
+ .append("<value><string>108</string></value>\n")
+ .append("<value><string>109</string></value>\n")
+ .append("<value><string>110</string></value>\n")
+ .append("<value><string>111</string></value>\n")
+ .append("<value><string>112</string></value>\n")
+ .append("<value><string>113</string></value>\n")
+ .append("<value><string>114</string></value>\n")
+ .append("<value><string>115</string></value>\n")
+ .append("<value><string>116</string></value>\n")
+ .append("<value><string>117</string></value>\n")
+ .append("<value><string>118</string></value>\n")
+ .append("<value><string>119</string></value>\n")
+ .append("<value><string>120</string></value>\n")
+ .append("<value><string>121</string></value>\n")
+ .append("<value><string>122</string></value>\n")
+ .append("<value><string>123</string></value>\n")
+ .append("<value><string>124</string></value>\n")
+ .append("<value><string>125</string></value>\n")
+ .append("<value><string>126</string></value>\n")
+ .append("<value><string>127</string></value>\n")
+ .append("<value><string>128</string></value>\n")
+ .append("<value><string>129</string></value>\n")
+ .append("<value><string>130</string></value>\n")
+ .append("<value><string>131</string></value>\n")
+ .append("<value><string>132</string></value>\n")
+ .append("<value><string>133</string></value>\n")
+ .append("<value><string>134</string></value>\n")
+ .append("<value><string>135</string></value>\n")
+ .append("<value><string>136</string></value>\n")
+ .append("<value><string>137</string></value>\n")
+ .append("<value><string>138</string></value>\n")
+ .append("<value><string>139</string></value>\n")
+ .append("<value><string>140</string></value>\n")
+ .append("<value><string>141</string></value>\n")
+ .append("<value><string>142</string></value>\n")
+ .append("<value><string>143</string></value>\n")
+ .append("<value><string>144</string></value>\n")
+ .append("<value><string>145</string></value>\n")
+ .append("<value><string>146</string></value>\n")
+ .append("<value><string>147</string></value>\n")
+ .append("<value><string>148</string></value>\n")
+ .append("<value><string>149</string></value>\n")
+ .append("<value><string>150</string></value>\n")
+ .append("<value><string>151</string></value>\n")
+ .append("<value><string>152</string></value>\n")
+ .append("<value><string>153</string></value>\n")
+ .append("<value><string>154</string></value>\n")
+ .append("<value><string>155</string></value>\n")
+ .append("<value><string>156</string></value>\n")
+ .append("<value><string>157</string></value>\n")
+ .append("<value><string>158</string></value>\n")
+ .append("<value><string>159</string></value>\n")
+ .append("</data></array></value>\n")
+ .append("<value><array><data>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("<value><string>10</string></value>\n")
+ .append("<value><string>11</string></value>\n")
+ .append("<value><string>12</string></value>\n")
+ .append("<value><string>13</string></value>\n")
+ .append("<value><string>14</string></value>\n")
+ .append("<value><string>15</string></value>\n")
+ .append("<value><string>16</string></value>\n")
+ .append("<value><string>17</string></value>\n")
+ .append("<value><string>18</string></value>\n")
+ .append("<value><string>19</string></value>\n")
+ .append("<value><string>20</string></value>\n")
+ .append("<value><string>21</string></value>\n")
+ .append("<value><string>22</string></value>\n")
+ .append("<value><string>23</string></value>\n")
+ .append("<value><string>24</string></value>\n")
+ .append("<value><string>25</string></value>\n")
+ .append("<value><string>26</string></value>\n")
+ .append("<value><string>27</string></value>\n")
+ .append("<value><string>28</string></value>\n")
+ .append("<value><string>29</string></value>\n")
+ .append("<value><string>30</string></value>\n")
+ .append("<value><string>31</string></value>\n")
+ .append("<value><string>32</string></value>\n")
+ .append("<value><string>33</string></value>\n")
+ .append("<value><string>34</string></value>\n")
+ .append("<value><string>35</string></value>\n")
+ .append("<value><string>36</string></value>\n")
+ .append("<value><string>37</string></value>\n")
+ .append("<value><string>38</string></value>\n")
+ .append("<value><string>39</string></value>\n")
+ .append("<value><string>40</string></value>\n")
+ .append("<value><string>41</string></value>\n")
+ .append("<value><string>42</string></value>\n")
+ .append("<value><string>43</string></value>\n")
+ .append("<value><string>44</string></value>\n")
+ .append("<value><string>45</string></value>\n")
+ .append("<value><string>46</string></value>\n")
+ .append("<value><string>47</string></value>\n")
+ .append("<value><string>48</string></value>\n")
+ .append("<value><string>49</string></value>\n")
+ .append("<value><string>50</string></value>\n")
+ .append("<value><string>51</string></value>\n")
+ .append("<value><string>52</string></value>\n")
+ .append("<value><string>53</string></value>\n")
+ .append("<value><string>54</string></value>\n")
+ .append("<value><string>55</string></value>\n")
+ .append("<value><string>56</string></value>\n")
+ .append("<value><string>57</string></value>\n")
+ .append("<value><string>58</string></value>\n")
+ .append("<value><string>59</string></value>\n")
+ .append("<value><string>60</string></value>\n")
+ .append("<value><string>61</string></value>\n")
+ .append("<value><string>62</string></value>\n")
+ .append("<value><string>63</string></value>\n")
+ .append("<value><string>64</string></value>\n")
+ .append("<value><string>65</string></value>\n")
+ .append("<value><string>66</string></value>\n")
+ .append("<value><string>67</string></value>\n")
+ .append("<value><string>68</string></value>\n")
+ .append("<value><string>69</string></value>\n")
+ .append("<value><string>70</string></value>\n")
+ .append("<value><string>71</string></value>\n")
+ .append("<value><string>72</string></value>\n")
+ .append("<value><string>73</string></value>\n")
+ .append("<value><string>74</string></value>\n")
+ .append("<value><string>75</string></value>\n")
+ .append("<value><string>76</string></value>\n")
+ .append("<value><string>77</string></value>\n")
+ .append("<value><string>78</string></value>\n")
+ .append("<value><string>79</string></value>\n")
+ .append("<value><string>80</string></value>\n")
+ .append("<value><string>81</string></value>\n")
+ .append("<value><string>82</string></value>\n")
+ .append("<value><string>83</string></value>\n")
+ .append("<value><string>84</string></value>\n")
+ .append("<value><string>85</string></value>\n")
+ .append("<value><string>86</string></value>\n")
+ .append("<value><string>87</string></value>\n")
+ .append("<value><string>88</string></value>\n")
+ .append("<value><string>89</string></value>\n")
+ .append("<value><string>90</string></value>\n")
+ .append("<value><string>91</string></value>\n")
+ .append("<value><string>92</string></value>\n")
+ .append("<value><string>93</string></value>\n")
+ .append("<value><string>94</string></value>\n")
+ .append("<value><string>95</string></value>\n")
+ .append("<value><string>96</string></value>\n")
+ .append("<value><string>97</string></value>\n")
+ .append("<value><string>98</string></value>\n")
+ .append("<value><string>99</string></value>\n")
+ .append("<value><string>100</string></value>\n")
+ .append("<value><string>101</string></value>\n")
+ .append("<value><string>102</string></value>\n")
+ .append("<value><string>103</string></value>\n")
+ .append("<value><string>104</string></value>\n")
+ .append("<value><string>105</string></value>\n")
+ .append("<value><string>106</string></value>\n")
+ .append("<value><string>107</string></value>\n")
+ .append("<value><string>108</string></value>\n")
+ .append("<value><string>109</string></value>\n")
+ .append("<value><string>110</string></value>\n")
+ .append("<value><string>111</string></value>\n")
+ .append("<value><string>112</string></value>\n")
+ .append("<value><string>113</string></value>\n")
+ .append("<value><string>114</string></value>\n")
+ .append("<value><string>115</string></value>\n")
+ .append("<value><string>116</string></value>\n")
+ .append("<value><string>117</string></value>\n")
+ .append("<value><string>118</string></value>\n")
+ .append("<value><string>119</string></value>\n")
+ .append("<value><string>120</string></value>\n")
+ .append("<value><string>121</string></value>\n")
+ .append("<value><string>122</string></value>\n")
+ .append("<value><string>123</string></value>\n")
+ .append("<value><string>124</string></value>\n")
+ .append("<value><string>125</string></value>\n")
+ .append("<value><string>126</string></value>\n")
+ .append("<value><string>127</string></value>\n")
+ .append("<value><string>128</string></value>\n")
+ .append("<value><string>129</string></value>\n")
+ .append("<value><string>130</string></value>\n")
+ .append("<value><string>131</string></value>\n")
+ .append("<value><string>132</string></value>\n")
+ .append("<value><string>133</string></value>\n")
+ .append("<value><string>134</string></value>\n")
+ .append("<value><string>135</string></value>\n")
+ .append("<value><string>136</string></value>\n")
+ .append("<value><string>137</string></value>\n")
+ .append("<value><string>138</string></value>\n")
+ .append("<value><string>139</string></value>\n")
+ .append("<value><string>140</string></value>\n")
+ .append("<value><string>141</string></value>\n")
+ .append("<value><string>142</string></value>\n")
+ .append("<value><string>143</string></value>\n")
+ .append("<value><string>144</string></value>\n")
+ .append("<value><string>145</string></value>\n")
+ .append("<value><string>146</string></value>\n")
+ .append("<value><string>147</string></value>\n")
+ .append("<value><string>148</string></value>\n")
+ .append("<value><string>149</string></value>\n")
+ .append("<value><string>150</string></value>\n")
+ .append("<value><string>151</string></value>\n")
+ .append("<value><string>152</string></value>\n")
+ .append("<value><string>153</string></value>\n")
+ .append("<value><string>154</string></value>\n")
+ .append("<value><string>155</string></value>\n")
+ .append("<value><string>156</string></value>\n")
+ .append("<value><string>157</string></value>\n")
+ .append("<value><string>158</string></value>\n")
+ .append("<value><string>159</string></value>\n")
+ .append("</data></array></value>\n")
+ .append("</data></array></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>uuid</name>\n")
+ .append("<value><string>00000000-0000-0000-0000-000000000000</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>on_reboot</name>\n")
+ .append("<value><string>restart</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>state</name>\n")
+ .append("<value><string>r-----</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>cpu_weight</name>\n")
+ .append("<value><string>65535</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>online_vcpus</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>memory</name>\n")
+ .append("<value><string>672</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>cpu_cap</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>status</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>pool_name</name>\n")
+ .append("<value><string>Pool-0</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>on_poweroff</name>\n")
+ .append("<value><string>destroy</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>on_xend_start</name>\n")
+ .append("<value><string>ignore</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>on_crash</name>\n")
+ .append("<value><string>restart</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>device</name>\n")
+ .append("<value><struct>\n")
+ .append("</struct></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>bootloader</name>\n")
+ .append("<value><string></string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>maxmem</name>\n")
+ .append("<value><string>672</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>cpu_time</name>\n")
+ .append("<value><string>6608.51291287</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>shadow_memory</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>name</name>\n")
+ .append("<value><string>Domain-0</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>builder</name>\n")
+ .append("<value><string>linux</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>bootloader_args</name>\n")
+ .append("<value><string></string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>domid</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>vcpus</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("</struct></value>\n")
+ .append("<value><struct>\n")
+ .append("<member>\n")
+ .append("<name>on_xend_stop</name>\n")
+ .append("<value><string>ignore</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>console_mfn</name>\n")
+ .append("<value><string>873706</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>features</name>\n")
+ .append("<value><string></string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>image</name>\n")
+ .append("<value><struct>\n")
+ .append("<member>\n")
+ .append("<name>tsc_mode</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>kernel</name>\n")
+ .append("<value><string></string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>videoram</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>device_model</name>\n")
+ .append("<value><string>/usr/lib/xen/bin/qemu-dm</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>notes</name>")
+ .append("<value><array><data>")
+ .append("<value><array><data>")
+ .append("<value><string>HV_START_LOW</string></value>")
+ .append("<value><string>4118806528</string></value>")
+ .append("</data></array></value>")
+ .append("<value><array><data>")
+ .append("<value><string>FEATURES</string></value>")
+ .append("<value><string>!writable_page_tables|pae_pgdir_above_4gb</string></value>")
+ .append("</data></array></value>") .append("<value><array><data>")
+ .append("<value><string>VIRT_BASE</string></value>")
+ .append("<value><string>3221225472</string></value>")
+ .append("</data></array></value>") .append("<value><array><data>")
+ .append("<value><string>GUEST_VERSION</string></value>")
+ .append("<value><string>2.6</string></value>")
+ .append("</data></array></value>") .append("<value><array><data>")
+ .append("<value><string>PADDR_OFFSET</string></value>")
+ .append("<value><string>") .append("</string></value>")
+ .append("</data></array></value>") .append("<value><array><data>")
+ .append("<value><string>GUEST_OS</string></value>")
+ .append("<value><string>linux</string></value>")
+ .append("</data></array></value>") .append("<value><array><data>")
+ .append("<value><string>HYPERCALL_PAGE</string></value>")
+ .append("<value><string>3238010880</string></value>")
+ .append("</data></array></value>") .append("<value><array><data>")
+ .append("<value><string>LOADER</string></value>")
+ .append("<value><string>generic</string></value>")
+ .append("</data></array></value>") .append("<value><array><data>")
+ .append("<value><string>SUSPEND_CANCEL</string></value>")
+ .append("<value><string>") .append("</string></value>")
+ .append("</data></array></value>") .append("<value><array><data>")
+ .append("<value><string>PAE_MODE</string></value>")
+ .append("<value><string>yes</string></value>")
+ .append("</data></array></value>") .append("<value><array><data>")
+ .append("<value><string>ENTRY</string></value>")
+ .append("<value><string>3242303488</string></value>")
+ .append("</data></array></value>") .append("<value><array><data>")
+ .append("<value><string>XEN_VERSION</string></value>")
+ .append("<value><string>xen-3.0</string></value>")
+ .append("</data></array></value>") .append("</data></array></value>")
+ .append("</member>") .append("<member>")
+ .append("<name>expose_host_uuid</name>") .append("<value><string>")
+ .append("</string></value>") .append("</member>") .append("<member>")
+ .append("<name>pci</name>") .append("<value><array><data>")
+ .append("</data></array></value>") .append("</member>") .append("<member>")
+ .append("<name>superpages</name>\n") .append("<value><string>\n")
+ .append("</string></value>\n") .append("</member>\n") .append("<member>\n")
+ .append("<name>nomigrate</name>\n") .append("<value><string>\n")
+ .append("</string></value>\n") .append("</member>\n")
+ .append("</struct></value>\n") .append("</member>\n") .append("<member>\n")
+ .append("<name>cpus</name>\n") .append("<value><array><data>\n")
+ .append("<value><array><data>\n") .append("</data></array></value>\n")
+ .append("</data></array></value>\n") .append("</member>\n")
+ .append("<member>\n") .append("<name>store_mfn</name>\n")
+ .append("<value><string>873707</string></value>\n")
+ .append("</member>\n") .append("<member>\n") .append("<name>uuid</name>\n")
+ .append("<value><string>")
+ .append(VMID)
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>on_reboot</name>\n")
+ .append("<value><string>restart</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>state</name>\n")
+ .append("<value><string>-b----</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>cpu_weight</name>\n")
+ .append("<value><string>27500</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>online_vcpus</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>memory</name>\n")
+ .append("<value><string>512</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>cpu_cap</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>status</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>pool_name</name>\n")
+ .append("<value><string>Pool-0</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>description</name>\n")
+ .append("<value><string></string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>start_time</name>\n")
+ .append("<value><string>1408105444.17</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>on_poweroff</name>\n")
+ .append("<value><string>destroy</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>on_xend_start</name>\n")
+ .append("<value><string>ignore</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>on_crash</name>\n")
+ .append("<value><string>restart</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>device</name>\n")
+ .append("<value><struct>\n")
+ .append("<member>\n")
+ .append("<name>vif</name>\n")
+ .append("<value><array><data>\n")
+ .append("<value><struct>\n")
+ .append("<member>\n")
+ .append("<name>bridge</name>\n")
+ .append("<value><string>").append(VMNICBR).append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>mac</name>\n")
+ .append("<value><string>").append(VMNICMAC).append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>script</name>\n")
+ .append("<value><string>/etc/xen/scripts/vif-bridge</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>uuid</name>\n")
+ .append("<value><string>").append(VMNICUUID).append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>backend</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("</struct></value>\n")
+ .append("</data></array></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>vkbd</name>\n")
+ .append("<value><array><data>\n")
+ .append("<value><struct>\n")
+ .append("<member>\n")
+ .append("<name>backend</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("</struct></value>\n")
+ .append("</data></array></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>console</name>\n")
+ .append("<value><array><data>\n")
+ .append("<value><struct>\n")
+ .append("<member>\n")
+ .append("<name>protocol</name>\n")
+ .append("<value><string>vt100</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>location</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>uuid</name>\n")
+ .append("<value><string>9beb5016-dde7-8526-491f-e972f262a634</string></value>\n")
+ .append("</member>\n")
+ .append("</struct></value>\n")
+ .append("</data></array></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>vfb</name>\n")
+ .append("<value><array><data>\n")
+ .append("<value><struct>\n")
+ .append("<member>\n")
+ .append("<name>vncunused</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>vnc</name>\n")
+ .append("<value><string>\n")
+ .append("</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>xauthority</name>\n")
+ .append("<value><string>/root/.Xauthority</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>vnclisten</name>\n")
+ .append("<value><string>0.0.0.0</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>vncpasswd</name>\n")
+ .append("<value><string>7693f834ca67912e</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>keymap</name>\n")
+ .append("<value><string>en-us</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+ .append("<name>location</name>\n")
+ .append("<value><string>0.0.0.0:5900</string></value>\n")
+ .append("</member>\n")
+ .append("<member>\n")
+
<TRUNCATED>
[45/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
4.4.4 to 4.5.2 upgrade
Conflicts:
engine/schema/src/com/cloud/upgrade/DatabaseUpgradeChecker.java
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>
This closes #529
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/582687fb
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/582687fb
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/582687fb
Branch: refs/heads/dhcpoffload
Commit: 582687fb3f5e17fd8ccbedee68eefff0eef3e44a
Parents: bdd42a4
Author: Daan Hoogland <da...@onecht.net>
Authored: Sun Apr 19 18:10:03 2015 +0200
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Fri Jun 26 00:07:44 2015 +0200
----------------------------------------------------------------------
.../cloud/upgrade/DatabaseUpgradeChecker.java | 3 +
.../com/cloud/upgrade/dao/Upgrade443to444.java | 64 ++++++++++++++++++++
.../com/cloud/upgrade/dao/Upgrade444to450.java | 30 +++++++++
setup/db/db/schema-443to444.sql | 20 ++++++
4 files changed, 117 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/582687fb/engine/schema/src/com/cloud/upgrade/DatabaseUpgradeChecker.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/upgrade/DatabaseUpgradeChecker.java b/engine/schema/src/com/cloud/upgrade/DatabaseUpgradeChecker.java
index ff8fce6..4bc54b1 100644
--- a/engine/schema/src/com/cloud/upgrade/DatabaseUpgradeChecker.java
+++ b/engine/schema/src/com/cloud/upgrade/DatabaseUpgradeChecker.java
@@ -72,6 +72,7 @@ import com.cloud.upgrade.dao.Upgrade440to441;
import com.cloud.upgrade.dao.Upgrade441to442;
import com.cloud.upgrade.dao.Upgrade442to450;
import com.cloud.upgrade.dao.Upgrade443to450;
+import com.cloud.upgrade.dao.Upgrade444to450;
import com.cloud.upgrade.dao.Upgrade450to451;
import com.cloud.upgrade.dao.Upgrade451to460;
import com.cloud.upgrade.dao.UpgradeSnapshot217to224;
@@ -231,6 +232,8 @@ public class DatabaseUpgradeChecker implements SystemIntegrityChecker {
_upgradeMap.put("4.4.3", new DbUpgrade[] {new Upgrade443to450(), new Upgrade450to451(), new Upgrade451to460()});
+ _upgradeMap.put("4.4.4", new DbUpgrade[] {new Upgrade444to450(), new Upgrade450to451(), new Upgrade451to460()});
+
_upgradeMap.put("4.5.0", new DbUpgrade[] {new Upgrade450to451(), new Upgrade451to460()});
_upgradeMap.put("4.5.1", new DbUpgrade[] {new Upgrade451to460()});
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/582687fb/engine/schema/src/com/cloud/upgrade/dao/Upgrade443to444.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/upgrade/dao/Upgrade443to444.java b/engine/schema/src/com/cloud/upgrade/dao/Upgrade443to444.java
new file mode 100644
index 0000000..ded67d6
--- /dev/null
+++ b/engine/schema/src/com/cloud/upgrade/dao/Upgrade443to444.java
@@ -0,0 +1,64 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+package com.cloud.upgrade.dao;
+
+import java.io.File;
+import java.sql.Connection;
+
+import org.apache.log4j.Logger;
+
+import com.cloud.utils.exception.CloudRuntimeException;
+import com.cloud.utils.script.Script;
+
+public class Upgrade443to444 implements DbUpgrade {
+ final static Logger s_logger = Logger.getLogger(Upgrade443to444.class);
+
+ @Override
+ public String[] getUpgradableVersionRange() {
+ return new String[] {"4.4.3", "4.4.4"};
+ }
+
+ @Override
+ public String getUpgradedVersion() {
+ return "4.4.4";
+ }
+
+ @Override
+ public boolean supportsRollingUpgrade() {
+ return false;
+ }
+
+ @Override
+ public File[] getPrepareScripts() {
+ String script = Script.findScript("", "db/schema-443to444.sql");
+ if (script == null) {
+ throw new CloudRuntimeException("Unable to find db/schema-empty.sql");
+ }
+
+ return new File[] {new File(script)};
+ }
+
+ @Override
+ public void performDataMigration(Connection conn) {
+ }
+
+ @Override
+ public File[] getCleanupScripts() {
+ return null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/582687fb/engine/schema/src/com/cloud/upgrade/dao/Upgrade444to450.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/upgrade/dao/Upgrade444to450.java b/engine/schema/src/com/cloud/upgrade/dao/Upgrade444to450.java
new file mode 100644
index 0000000..d872e52
--- /dev/null
+++ b/engine/schema/src/com/cloud/upgrade/dao/Upgrade444to450.java
@@ -0,0 +1,30 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+package com.cloud.upgrade.dao;
+
+import org.apache.log4j.Logger;
+
+public class Upgrade444to450 extends Upgrade442to450 implements DbUpgrade {
+
+ final static Logger s_logger = Logger.getLogger(Upgrade444to450.class);
+
+ @Override
+ public String[] getUpgradableVersionRange() {
+ return new String[] {"4.4.4", "4.5.0"};
+ }
+}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/582687fb/setup/db/db/schema-443to444.sql
----------------------------------------------------------------------
diff --git a/setup/db/db/schema-443to444.sql b/setup/db/db/schema-443to444.sql
new file mode 100644
index 0000000..44e0406
--- /dev/null
+++ b/setup/db/db/schema-443to444.sql
@@ -0,0 +1,20 @@
+-- Licensed to the Apache Software Foundation (ASF) under one
+-- or more contributor license agreements. See the NOTICE file
+-- distributed with this work for additional information
+-- regarding copyright ownership. The ASF licenses this file
+-- to you under the Apache License, Version 2.0 (the
+-- "License"); you may not use this file except in compliance
+-- with the License. You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing,
+-- software distributed under the License is distributed on an
+-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+-- KIND, either express or implied. See the License for the
+-- specific language governing permissions and limitations
+-- under the License.
+
+--;
+-- Schema upgrade from 4.4.3 to 4.4.4;
+--;
[05/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Resolve unsafe cast warnings reported by lint checker Add some debug config to compiler plugin
Signed-off-by: Daan Hoogland <da...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/540b163c
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/540b163c
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/540b163c
Branch: refs/heads/dhcpoffload
Commit: 540b163cfc41bc3838cedfe01c4ae34e82e780f7
Parents: 53e42fb
Author: Rafael da Fonseca <rs...@gmail.com>
Authored: Sun Jun 21 14:03:53 2015 +0200
Committer: Daan Hoogland <da...@gmail.com>
Committed: Mon Jun 22 13:01:18 2015 +0200
----------------------------------------------------------------------
plugins/hypervisors/ovm3/pom.xml | 15 +++++++++++++++
.../resources/helpers/Ovm3ConfigurationTest.java | 10 +++++-----
2 files changed, 20 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/540b163c/plugins/hypervisors/ovm3/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/pom.xml b/plugins/hypervisors/ovm3/pom.xml
index 546e7e7..24ef6a4 100644
--- a/plugins/hypervisors/ovm3/pom.xml
+++ b/plugins/hypervisors/ovm3/pom.xml
@@ -49,6 +49,21 @@
<directory>${basedir}/src/test/resources</directory>
</testResource>
</testResources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.3</version>
+ <configuration>
+ <useIncrementalCompilation>true</useIncrementalCompilation>
+ <forceJavacCompilerUse>true</forceJavacCompilerUse>
+ <compilerArgs>
+ <arg>-verbose</arg>
+ <arg>-Xlint:all,-options,-path</arg>
+ </compilerArgs>
+ </configuration>
+ </plugin>
+ </plugins>
</build>
<profiles>
<profile>
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/540b163c/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3ConfigurationTest.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3ConfigurationTest.java b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3ConfigurationTest.java
index 5faff8f..5cbb2b7 100644
--- a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3ConfigurationTest.java
+++ b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3ConfigurationTest.java
@@ -29,7 +29,7 @@ import com.cloud.hypervisor.ovm3.objects.XmlTestResultTest;
public class Ovm3ConfigurationTest {
XmlTestResultTest results = new XmlTestResultTest();
private Ovm3Configuration ovm3config;
- private static Map<String, Object> params;
+ private static HashMap<String, Object> params;
static {
params = new HashMap<String, Object>();
params.put("agentusername", "oracle");
@@ -55,7 +55,7 @@ public class Ovm3ConfigurationTest {
params.put("max.template.iso.size", "50");
params.put("host", "ovm-1");
params.put("com.cloud.network.Networks.RouterPrivateIpStrategy",
- "DcGlobal");
+ "DcGlobal");
params.put("agentport", "8899");
params.put("Host.OS.Kernel.Version", "2.6.39-300.22.2.el5uek");
params.put("migratewait", "3600");
@@ -83,13 +83,13 @@ public class Ovm3ConfigurationTest {
@Test(expected = ConfigurationException.class)
public void testFailedParams() throws ConfigurationException {
- Map<String, Object> par = new HashMap(params);
+ HashMap<String, Object> par = new HashMap<String,Object>(params);
par.put("pod", null);
ovm3config = new Ovm3Configuration(par);
}
@Test
public void testValidatePool() throws ConfigurationException {
- Map<String, Object> par = new HashMap(params);
+ HashMap<String, Object> par = new HashMap<String,Object>(params);
par.put("cluster", "1");
par.put("ovm3vip", "this is not an IP!");
ovm3config = new Ovm3Configuration(par);
@@ -99,7 +99,7 @@ public class Ovm3ConfigurationTest {
}
@Test
public void testAgentPort() throws ConfigurationException {
- Map<String, Object> par = new HashMap(params);
+ HashMap<String, Object> par = new HashMap<String,Object>(params);
String altPort="6333";
par.put("agentport", altPort);
ovm3config = new Ovm3Configuration(par);
[49/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
CLOUDSTACK-8324: Added migration changes for config drive
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/b8c112e3
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/b8c112e3
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/b8c112e3
Branch: refs/heads/dhcpoffload
Commit: b8c112e35bcc98e1ee142cfb8901a0d9af28320d
Parents: 17ecd65
Author: Jayapal <ja...@apache.org>
Authored: Tue Jun 9 16:13:21 2015 +0530
Committer: Jayapal <ja...@apache.org>
Committed: Mon Jun 29 12:27:39 2015 +0530
----------------------------------------------------------------------
.../api/AttachOrDettachConfigDriveCommand.java | 58 +++++++++++
.../com/cloud/vm/VirtualMachineManagerImpl.java | 59 ++++++++++-
.../xenserver/resource/CitrixResourceBase.java | 102 ++++++++++++++++++-
...rver610MigrateWithStorageCommandWrapper.java | 2 +-
...ttachOrDettachConfigDriveCommandWrapper.java | 95 +++++++++++++++++
.../xenbase/CitrixMigrateCommandWrapper.java | 22 +++-
...CitrixPrepareForMigrationCommandWrapper.java | 11 +-
.../xenbase/XenServer610WrapperTest.java | 2 +-
8 files changed, 339 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b8c112e3/core/src/com/cloud/agent/api/AttachOrDettachConfigDriveCommand.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/agent/api/AttachOrDettachConfigDriveCommand.java b/core/src/com/cloud/agent/api/AttachOrDettachConfigDriveCommand.java
new file mode 100644
index 0000000..ebf5d0b
--- /dev/null
+++ b/core/src/com/cloud/agent/api/AttachOrDettachConfigDriveCommand.java
@@ -0,0 +1,58 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+package com.cloud.agent.api;
+
+import java.util.List;
+
+public class AttachOrDettachConfigDriveCommand extends Command {
+
+ String vmName;
+ List<String[]> vmData;
+ String configDriveLabel;
+ boolean isAttach = false;
+
+ public AttachOrDettachConfigDriveCommand(String vmName, List<String[]> vmData, String label, boolean attach) {
+ this.vmName = vmName;
+ this.vmData = vmData;
+ this.configDriveLabel = label;
+ this.isAttach = attach;
+ }
+
+ @Override
+ public boolean executeInSequence() {
+ return false;
+ }
+
+ public String getVmName() {
+ return vmName;
+ }
+
+ public List<String[]> getVmData() {
+ return vmData;
+ }
+
+ public boolean isAttach() {
+ return isAttach;
+ }
+
+ public String getConfigDriveLabel() {
+ return configDriveLabel;
+ }
+}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b8c112e3/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
----------------------------------------------------------------------
diff --git a/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
index 057c9e2..4114386 100644
--- a/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -38,6 +38,7 @@ import javax.ejb.Local;
import javax.inject.Inject;
import javax.naming.ConfigurationException;
+import com.cloud.agent.api.AttachOrDettachConfigDriveCommand;
import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao;
import org.apache.cloudstack.context.CallContext;
import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
@@ -273,6 +274,14 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
protected VGPUTypesDao _vgpuTypesDao;
@Inject
protected EntityManager _entityMgr;
+ @Inject
+ protected GuestOSCategoryDao _guestOSCategoryDao;
+ @Inject
+ protected GuestOSDao _guestOSDao = null;
+ @Inject
+ protected UserVmDetailsDao _vmDetailsDao;
+ @Inject
+ ServiceOfferingDao _serviceOfferingDao = null;
@Inject
ConfigDepot _configDepot;
@@ -315,6 +324,8 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
protected VmWorkJobDao _workJobDao;
@Inject
protected AsyncJobManager _jobMgr;
+ @Inject
+ protected UserVmService _userVmSrv;
VmWorkJobHandlerProxy _jobHandlerProxy = new VmWorkJobHandlerProxy(this);
@@ -352,6 +363,9 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
Integer.class, "vm.job.report.interval", "60",
"Interval to send application level pings to make sure the connection is still working", false);
+ static final ConfigKey<String> VmConfigDriveLabel = new ConfigKey<String>("Hidden", String.class, "vm.configdrive.label", "config",
+ "The default lable name for the config drive", false);
+
ScheduledExecutorService _executor = null;
protected long _nodeId;
@@ -1916,6 +1930,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
final VirtualMachineProfile profile = new VirtualMachineProfileImpl(vm, null, _offeringDao.findById(vm.getId(), vm.getServiceOfferingId()), null, null);
_networkMgr.prepareNicForMigration(profile, dest);
volumeMgr.prepareForMigration(profile, dest);
+ profile.setConfigDriveLabel( _userVmSrv.VmConfigDriveLabel.value());
final VirtualMachineTO to = toVmTO(profile);
final PrepareForMigrationCommand pfmc = new PrepareForMigrationCommand(to);
@@ -2215,6 +2230,48 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
boolean migrated = false;
try {
+
+ // config drive: Detach the config drive at source host
+ // After migration successful attach the config drive in destination host
+ // On migration failure VM will be stopped, So configIso will be deleted
+
+ Nic defaultNic = _networkModel.getDefaultNic(vm.getId());
+
+ List<String[]> vmData = null;
+ if (defaultNic != null) {
+ UserVmVO userVm = _userVmDao.findById(vm.getId());
+ Map<String, String> details = _vmDetailsDao.listDetailsKeyPairs(vm.getId());
+ vm.setDetails(details);
+
+ Network network = _networkModel.getNetwork(defaultNic.getNetworkId());
+ if (_networkModel.isSharedNetworkWithoutServices(network.getId())) {
+ final String serviceOffering = _serviceOfferingDao.findByIdIncludingRemoved(vm.getId(), vm.getServiceOfferingId()).getDisplayText();
+ final String zoneName = _dcDao.findById(vm.getDataCenterId()).getName();
+ boolean isWindows = _guestOSCategoryDao.findById(_guestOSDao.findById(vm.getGuestOSId()).getCategoryId()).getName().equalsIgnoreCase("Windows");
+
+ vmData = _networkModel.generateVmData(userVm.getUserData(), serviceOffering, zoneName, vm.getInstanceName(), vm.getId(),
+ (String) profile.getParameter(VirtualMachineProfile.Param.VmSshPubKey), (String) profile.getParameter(VirtualMachineProfile.Param.VmPassword), isWindows);
+ String vmName = vm.getInstanceName();
+ String configDriveIsoRootFolder = "/tmp";
+ String isoFile = configDriveIsoRootFolder + "/" + vmName + "/configDrive/" + vmName + ".iso";
+ profile.setVmData(vmData);
+ profile.setConfigDriveLabel(VmConfigDriveLabel.value());
+ profile.setConfigDriveIsoRootFolder(configDriveIsoRootFolder);
+ profile.setConfigDriveIsoFile(isoFile);
+
+ // At source host detach the config drive iso.
+ AttachOrDettachConfigDriveCommand dettachCommand = new AttachOrDettachConfigDriveCommand(vm.getInstanceName(), vmData, VmConfigDriveLabel.value(), false);
+ try {
+ _agentMgr.send(srcHost.getId(), dettachCommand);
+ s_logger.debug("Deleted config drive ISO for vm " + vm.getInstanceName() + " In host " + srcHost);
+ } catch (OperationTimedoutException e) {
+ s_logger.debug("TIme out occured while exeuting command AttachOrDettachConfigDrive " + e.getMessage());
+
+ }
+
+ }
+ }
+
// Migrate the vm and its volume.
volumeMgr.migrateVolumes(vm, to, srcHost, destHost, volumeToPoolMap);
@@ -3614,7 +3671,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
public ConfigKey<?>[] getConfigKeys() {
return new ConfigKey<?>[] {ClusterDeltaSyncInterval, StartRetry, VmDestroyForcestop, VmOpCancelInterval, VmOpCleanupInterval, VmOpCleanupWait,
VmOpLockStateRetry,
- VmOpWaitInterval, ExecuteInSequence, VmJobCheckInterval, VmJobTimeout, VmJobStateReportInterval};
+ VmOpWaitInterval, ExecuteInSequence, VmJobCheckInterval, VmJobTimeout, VmJobStateReportInterval, VmConfigDriveLabel};
}
public List<StoragePoolAllocator> getStoragePoolAllocators() {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b8c112e3/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 8ed4ffc..9fb18b8 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
@@ -257,7 +257,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
protected String _configDriveIsopath = "/opt/xensource/packages/configdrive_iso/";
protected String _configDriveSRName = "ConfigDriveISOs";
- protected String _attachIsoDeviceNum = "3";
+ public String _attachIsoDeviceNum = "3";
protected int _wait;
// Hypervisor specific params with generic value, may need to be overridden
@@ -3888,17 +3888,29 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
return new ExecutionResult(true, null);
}
- public void prepareISO(final Connection conn, final String vmName) throws XmlRpcException, XenAPIException {
+ public void prepareISO(final Connection conn, final String vmName, List<String[]> vmDataList, String configDriveLabel) throws XmlRpcException, XenAPIException {
final Set<VM> vms = VM.getByNameLabel(conn, vmName);
if (vms == null || vms.size() != 1) {
throw new CloudRuntimeException("There are " + (vms == null ? "0" : vms.size()) + " VMs named " + vmName);
}
final VM vm = vms.iterator().next();
+
+ if (vmDataList != null) {
+ // create SR
+ SR sr = createLocalIsoSR(conn, _configDriveSRName+getHost().getIp());
+
+ // 1. create vm data files
+ createVmdataFiles(vmName, vmDataList, configDriveLabel);
+
+ // 2. copy config drive iso to host
+ copyConfigDriveIsoToHost(conn, sr, vmName);
+ }
+
final Set<VBD> vbds = vm.getVBDs(conn);
for (final VBD vbd : vbds) {
final VBD.Record vbdr = vbd.getRecord(conn);
- if (vbdr.type == Types.VbdType.CD && vbdr.empty == false) {
+ if (vbdr.type == Types.VbdType.CD && vbdr.empty == false && vbdr.userdevice.equals(_attachIsoDeviceNum)) {
final VDI vdi = vbdr.VDI;
final SR sr = vdi.getSR(conn);
final Set<PBD> pbds = sr.getPBDs(conn);
@@ -5270,4 +5282,88 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
}
}
+
+ protected SR getSRByNameLabel(Connection conn, String name) throws BadServerResponse, XenAPIException, XmlRpcException {
+ Set<SR> srs = SR.getByNameLabel(conn, name);
+ SR ressr = null;
+ for (SR sr : srs) {
+ Set<PBD> pbds;
+ pbds = sr.getPBDs(conn);
+ for (PBD pbd : pbds) {
+ PBD.Record pbdr = pbd.getRecord(conn);
+ if (pbdr.host != null) {
+ ressr = sr;
+ break;
+ }
+ }
+ }
+ return ressr;
+ }
+
+
+ public boolean AttachConfigDriveToMigratedVm(Connection conn, String vmName, String ipAddr) {
+
+ // attach the config drive in destination host
+
+ try {
+ s_logger.debug("Attaching config drive iso device for the VM "+ vmName + " In host "+ ipAddr);
+ Set<VM> vms = VM.getByNameLabel(conn, vmName);
+
+ SR sr = getSRByNameLabel(conn, _configDriveSRName + ipAddr);
+ //Here you will find only two vdis with the <vmname>.iso.
+ //one is from source host and second from dest host
+ Set<VDI> vdis = VDI.getByNameLabel(conn, vmName + ".iso");
+ if (vdis.isEmpty()) {
+ s_logger.debug("Could not find config drive ISO: " + vmName);
+ return false;
+ }
+
+ VDI configdriveVdi = null;
+ for (VDI vdi : vdis) {
+ SR vdiSr = vdi.getSR(conn);
+ if (vdiSr.getUuid(conn).equals(sr.getUuid(conn))) {
+ //get this vdi to attach to vbd
+ configdriveVdi = vdi;
+ s_logger.debug("VDI for the config drive ISO " + vdi);
+ } else {
+ // delete the vdi in source host so that the <vmname>.iso file is get removed
+ s_logger.debug("Removing the source host VDI for the config drive ISO " + vdi);
+ vdi.destroy(conn);
+ }
+ }
+
+ if (configdriveVdi == null) {
+ s_logger.debug("Config drive ISO VDI is not found ");
+ return false;
+ }
+
+ for (VM vm : vms) {
+
+ //create vbd
+ VBD.Record cfgDriveVbdr = new VBD.Record();
+ cfgDriveVbdr.VM = vm;
+ cfgDriveVbdr.empty = true;
+ cfgDriveVbdr.bootable = false;
+ cfgDriveVbdr.userdevice = "autodetect";
+ cfgDriveVbdr.mode = Types.VbdMode.RO;
+ cfgDriveVbdr.type = Types.VbdType.CD;
+
+ VBD cfgDriveVBD = VBD.create(conn, cfgDriveVbdr);
+
+ s_logger.debug("Inserting vbd " + configdriveVdi);
+ cfgDriveVBD.insert(conn, configdriveVdi);
+ break;
+
+ }
+
+ return true;
+
+ }catch (Exception ex) {
+ s_logger.debug("Failed to attach config drive ISO to the VM "+ vmName + " In host " + ipAddr );
+ return false;
+ }
+
+ }
+
+
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b8c112e3/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xen610/XenServer610MigrateWithStorageCommandWrapper.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xen610/XenServer610MigrateWithStorageCommandWrapper.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xen610/XenServer610MigrateWithStorageCommandWrapper.java
index b5c175a..2a79d26 100644
--- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xen610/XenServer610MigrateWithStorageCommandWrapper.java
+++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xen610/XenServer610MigrateWithStorageCommandWrapper.java
@@ -67,7 +67,7 @@ public final class XenServer610MigrateWithStorageCommandWrapper extends CommandW
final XsHost xsHost = xenServer610Resource.getHost();
final String uuid = xsHost.getUuid();
try {
- xenServer610Resource.prepareISO(connection, vmName);
+ xenServer610Resource.prepareISO(connection, vmName, null, null);
// Get the list of networks and recreate VLAN, if required.
for (final NicTO nicTo : vmSpec.getNics()) {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b8c112e3/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixAttachOrDettachConfigDriveCommandWrapper.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixAttachOrDettachConfigDriveCommandWrapper.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixAttachOrDettachConfigDriveCommandWrapper.java
new file mode 100644
index 0000000..a7bfa45
--- /dev/null
+++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixAttachOrDettachConfigDriveCommandWrapper.java
@@ -0,0 +1,95 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+package com.cloud.hypervisor.xenserver.resource.wrapper.xenbase;
+
+import java.util.List;
+import java.util.Set;
+
+import com.cloud.agent.api.AttachOrDettachConfigDriveCommand;
+import com.cloud.resource.ResourceWrapper;
+import com.xensource.xenapi.Connection;
+import com.xensource.xenapi.VBD;
+import com.xensource.xenapi.VDI;
+import com.xensource.xenapi.VM;
+import com.xensource.xenapi.Types;
+import org.apache.log4j.Logger;
+
+import com.cloud.agent.api.Answer;
+import com.cloud.hypervisor.xenserver.resource.CitrixResourceBase;
+import com.cloud.resource.CommandWrapper;
+import org.apache.xmlrpc.XmlRpcException;
+
+@ResourceWrapper(handles = AttachOrDettachConfigDriveCommand.class)
+public final class CitrixAttachOrDettachConfigDriveCommandWrapper extends CommandWrapper<AttachOrDettachConfigDriveCommand, Answer, CitrixResourceBase> {
+
+ private static final Logger s_logger = Logger.getLogger(CitrixAttachOrDettachConfigDriveCommandWrapper.class);
+
+ @Override
+ public Answer execute(final AttachOrDettachConfigDriveCommand command, final CitrixResourceBase citrixResourceBase) {
+ final Connection conn = citrixResourceBase.getConnection();
+
+ String vmName = command.getVmName();
+ List<String[]> vmData = command.getVmData();
+ String label = command.getConfigDriveLabel();
+ Boolean isAttach = command.isAttach();
+
+ try {
+ Set<VM> vms = VM.getByNameLabel(conn, vmName);
+ for (VM vm : vms) {
+ if (isAttach) {
+ if (!citrixResourceBase.createAndAttachConfigDriveIsoForVM(conn, vm, vmData, label)) {
+ s_logger.debug("Failed to attach config drive iso to VM " + vmName);
+ }
+ } else {
+ // delete the config drive iso attached to VM
+ Set<VDI> vdis = VDI.getByNameLabel(conn, vmName+".iso");
+ if (vdis != null && !vdis.isEmpty()) {
+ s_logger.debug("Deleting config drive for the VM " + vmName);
+ VDI vdi = vdis.iterator().next();
+ // Find the VM's CD-ROM VBD
+ Set<VBD> vbds = vdi.getVBDs(conn);
+
+ for (VBD vbd : vbds) {
+ VBD.Record vbdRec = vbd.getRecord(conn);
+
+ if (vbdRec.type.equals(Types.VbdType.CD) && !vbdRec.empty && !vbdRec.userdevice.equals(citrixResourceBase._attachIsoDeviceNum)) {
+ if (vbdRec.currentlyAttached) {
+ vbd.eject(conn);
+ }
+ vbd.destroy(conn);
+ }
+ }
+ vdi.destroy(conn);
+ }
+
+ s_logger.debug("Successfully dettached config drive iso from the VM " + vmName);
+ }
+ }
+ }catch (Types.XenAPIException ex) {
+ s_logger.debug("Failed to attach config drive iso to VM " + vmName + " " + ex.getMessage() );
+ }catch (XmlRpcException ex) {
+ s_logger.debug("Failed to attach config drive iso to VM " + vmName + " "+ex.getMessage());
+ }
+
+ return new Answer(command, true, "success");
+
+
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b8c112e3/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixMigrateCommandWrapper.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixMigrateCommandWrapper.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixMigrateCommandWrapper.java
index 07f7cc6..00ed622 100644
--- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixMigrateCommandWrapper.java
+++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixMigrateCommandWrapper.java
@@ -44,24 +44,23 @@ public final class CitrixMigrateCommandWrapper extends CommandWrapper<MigrateCom
public Answer execute(final MigrateCommand command, final CitrixResourceBase citrixResourceBase) {
final Connection conn = citrixResourceBase.getConnection();
final String vmName = command.getVmName();
+ final String dstHostIpAddr = command.getDestinationIp();
try {
final Set<VM> vms = VM.getByNameLabel(conn, vmName);
- final String ipaddr = command.getDestinationIp();
-
final Set<Host> hosts = Host.getAll(conn);
Host dsthost = null;
if(hosts != null) {
for (final Host host : hosts) {
- if (host.getAddress(conn).equals(ipaddr)) {
+ if (host.getAddress(conn).equals(dstHostIpAddr)) {
dsthost = host;
break;
}
}
}
if (dsthost == null) {
- final String msg = "Migration failed due to unable to find host " + ipaddr + " in XenServer pool " + citrixResourceBase.getHost().getPool();
+ final String msg = "Migration failed due to unable to find host " + dstHostIpAddr + " in XenServer pool " + citrixResourceBase.getHost().getPool();
s_logger.warn(msg);
return new MigrateAnswer(command, false, msg, null);
}
@@ -71,12 +70,25 @@ public final class CitrixMigrateCommandWrapper extends CommandWrapper<MigrateCom
final VBD.Record vbdRec = vbd.getRecord(conn);
if (vbdRec.type.equals(Types.VbdType.CD) && !vbdRec.empty) {
vbd.eject(conn);
- break;
+ // for config drive vbd destroy the vbd.
+ if (!vbdRec.userdevice.equals(citrixResourceBase._attachIsoDeviceNum)) {
+ if (vbdRec.currentlyAttached) {
+ vbd.destroy(conn);
+ }
+ }
+ continue;
}
}
citrixResourceBase.migrateVM(conn, dsthost, vm, vmName);
vm.setAffinity(conn, dsthost);
}
+
+ // The iso can be attached to vm only once the vm is (present in the host) migrated.
+ // Attach the config drive iso device to VM
+ if (!citrixResourceBase.AttachConfigDriveToMigratedVm(conn, vmName, dstHostIpAddr)) {
+ s_logger.debug("Config drive ISO attach failed after migration for vm "+vmName);
+ }
+
return new MigrateAnswer(command, true, "migration succeeded", null);
} catch (final Exception e) {
s_logger.warn(e.getMessage(), e);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b8c112e3/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixPrepareForMigrationCommandWrapper.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixPrepareForMigrationCommandWrapper.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixPrepareForMigrationCommandWrapper.java
index ffe875c..2fa25be 100644
--- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixPrepareForMigrationCommandWrapper.java
+++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixPrepareForMigrationCommandWrapper.java
@@ -31,6 +31,8 @@ import com.cloud.resource.CommandWrapper;
import com.cloud.resource.ResourceWrapper;
import com.xensource.xenapi.Connection;
+import java.util.List;
+
@ResourceWrapper(handles = PrepareForMigrationCommand.class)
public final class CitrixPrepareForMigrationCommandWrapper extends CommandWrapper<PrepareForMigrationCommand, Answer, CitrixResourceBase> {
@@ -41,13 +43,20 @@ public final class CitrixPrepareForMigrationCommandWrapper extends CommandWrappe
final Connection conn = citrixResourceBase.getConnection();
final VirtualMachineTO vm = command.getVirtualMachine();
+ List<String[]> vmDataList = vm.getVmData();
+ String configDriveLabel = vm.getConfigDriveLabel();
+
+ if (configDriveLabel == null) {
+ configDriveLabel = "config";
+ }
+
if (s_logger.isDebugEnabled()) {
s_logger.debug("Preparing host for migrating " + vm);
}
final NicTO[] nics = vm.getNics();
try {
- citrixResourceBase.prepareISO(conn, vm.getName());
+ citrixResourceBase.prepareISO(conn, vm.getName(), vmDataList, configDriveLabel);
for (final NicTO nic : nics) {
citrixResourceBase.getNetwork(conn, nic);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b8c112e3/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/XenServer610WrapperTest.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/XenServer610WrapperTest.java b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/XenServer610WrapperTest.java
index f308ea3..70ddfad 100644
--- a/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/XenServer610WrapperTest.java
+++ b/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/XenServer610WrapperTest.java
@@ -170,7 +170,7 @@ public class XenServer610WrapperTest {
verify(xenServer610Resource, times(1)).getConnection();
try {
- verify(xenServer610Resource, times(1)).prepareISO(conn, vmName);
+ verify(xenServer610Resource, times(1)).prepareISO(conn, vmName, null, null);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
[07/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Reduce about 1k String objects from being instantiated
Signed-off-by: Daan Hoogland <da...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/83488e01
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/83488e01
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/83488e01
Branch: refs/heads/dhcpoffload
Commit: 83488e01af5789dc3bd3324488c37c0eb4937703
Parents: 9d19191
Author: Rafael da Fonseca <rs...@gmail.com>
Authored: Sun Jun 21 22:08:46 2015 +0200
Committer: Daan Hoogland <da...@gmail.com>
Committed: Mon Jun 22 13:01:19 2015 +0200
----------------------------------------------------------------------
plugins/hypervisors/ovm3/pom.xml | 20 -
.../hypervisor/ovm3/objects/OvmObject.java | 4 +
.../resources/helpers/Ovm3Configuration.java | 4 +-
.../cloud/hypervisor/ovm3/objects/XenTest.java | 944 +++----------------
4 files changed, 124 insertions(+), 848 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/83488e01/plugins/hypervisors/ovm3/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/pom.xml b/plugins/hypervisors/ovm3/pom.xml
index 646ac16..a8c4796 100644
--- a/plugins/hypervisors/ovm3/pom.xml
+++ b/plugins/hypervisors/ovm3/pom.xml
@@ -52,16 +52,6 @@
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <version>1.9.5</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.12</version>
- </dependency>
</dependencies>
<build>
<sourceDirectory>${basedir}/src/main/java</sourceDirectory>
@@ -79,16 +69,6 @@
<directory>${basedir}/src/test/resources</directory>
</testResource>
</testResources>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.3</version>
- <configuration>
- <failOnError>false</failOnError>
- </configuration>
- </plugin>
- </plugins>
</build>
<profiles>
<profile>
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/83488e01/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/OvmObject.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/OvmObject.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/OvmObject.java
index d7ef8cd..cfe249e 100644
--- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/OvmObject.java
+++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/objects/OvmObject.java
@@ -93,6 +93,7 @@ public class OvmObject {
}
/* nice try but doesn't work like that .. */
+ @SafeVarargs
public final <T> Object callWrapper(String call, T... args)
throws Ovm3ResourceException {
List<T> params = new ArrayList<T>();
@@ -108,6 +109,7 @@ public class OvmObject {
}
/* should check on nil ? */
+ @SafeVarargs
public final <T> Boolean nullCallWrapper(String call, Boolean nullReturn, T... args) throws Ovm3ResourceException {
Object x = callWrapper(call, args);
if (x == null) {
@@ -118,9 +120,11 @@ public class OvmObject {
return false;
}
+ @SafeVarargs
public final <T> Boolean nullIsFalseCallWrapper(String call, T... args) throws Ovm3ResourceException {
return nullCallWrapper(call, false, args);
}
+ @SafeVarargs
public final <T> Boolean nullIsTrueCallWrapper(String call, T... args) throws Ovm3ResourceException {
return nullCallWrapper(call, true, args);
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/83488e01/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3Configuration.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3Configuration.java b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3Configuration.java
index 91c0762..6775a146 100644
--- a/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3Configuration.java
+++ b/plugins/hypervisors/ovm3/src/main/java/com/cloud/hypervisor/ovm3/resources/helpers/Ovm3Configuration.java
@@ -24,7 +24,7 @@ import java.util.Map;
import javax.naming.ConfigurationException;
-import org.apache.commons.lang3.BooleanUtils;
+import org.apache.commons.lang.BooleanUtils;
import org.apache.log4j.Logger;
import com.cloud.hypervisor.ovm3.objects.Network;
@@ -34,7 +34,7 @@ import com.cloud.utils.net.NetUtils;
/* holds config data for the Ovm3 Hypervisor */
public class Ovm3Configuration {
private static final Logger LOGGER = Logger
- .getLogger(Ovm3Configuration.class);
+ .getLogger(Ovm3Configuration.class);
private String agentIp;
private Long agentZoneId;
private Long agentPodId;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/83488e01/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/XenTest.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/XenTest.java b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/XenTest.java
index 90e9e14..c76f2fe 100644
--- a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/XenTest.java
+++ b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/XenTest.java
@@ -67,832 +67,124 @@ public class XenTest {
String VMISOPATH = REPOPATH + "/" + REPOID + "/ISOs/" + VMISO;
String MULTIPLEVMSLISTXML = results
.simpleResponseWrapWrapper(new StringBuilder("<array><data>\n")
- .append("<value><struct>\n")
- .append("<member>\n")
- .append("<name>on_xend_stop</name>\n")
- .append("<value><string>ignore</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>features</name>\n")
- .append("<value><string></string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>image</name>\n")
- .append("<value><struct>\n")
- .append("<member>\n")
- .append("<name>tsc_mode</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>kernel</name>\n")
- .append("<value><string></string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>superpages</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>nomigrate</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>expose_host_uuid</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("</struct></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>cpus</name>\n")
- .append("<value><array><data>\n")
- .append("<value><array><data>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>10</string></value>\n")
- .append("<value><string>11</string></value>\n")
- .append("<value><string>12</string></value>\n")
- .append("<value><string>13</string></value>\n")
- .append("<value><string>14</string></value>\n")
- .append("<value><string>15</string></value>\n")
- .append("<value><string>16</string></value>\n")
- .append("<value><string>17</string></value>\n")
- .append("<value><string>18</string></value>\n")
- .append("<value><string>19</string></value>\n")
- .append("<value><string>20</string></value>\n")
- .append("<value><string>21</string></value>\n")
- .append("<value><string>22</string></value>\n")
- .append("<value><string>23</string></value>\n")
- .append("<value><string>24</string></value>\n")
- .append("<value><string>25</string></value>\n")
- .append("<value><string>26</string></value>\n")
- .append("<value><string>27</string></value>\n")
- .append("<value><string>28</string></value>\n")
- .append("<value><string>29</string></value>\n")
- .append("<value><string>30</string></value>\n")
- .append("<value><string>31</string></value>\n")
- .append("<value><string>32</string></value>\n")
- .append("<value><string>33</string></value>\n")
- .append("<value><string>34</string></value>\n")
- .append("<value><string>35</string></value>\n")
- .append("<value><string>36</string></value>\n")
- .append("<value><string>37</string></value>\n")
- .append("<value><string>38</string></value>\n")
- .append("<value><string>39</string></value>\n")
- .append("<value><string>40</string></value>\n")
- .append("<value><string>41</string></value>\n")
- .append("<value><string>42</string></value>\n")
- .append("<value><string>43</string></value>\n")
- .append("<value><string>44</string></value>\n")
- .append("<value><string>45</string></value>\n")
- .append("<value><string>46</string></value>\n")
- .append("<value><string>47</string></value>\n")
- .append("<value><string>48</string></value>\n")
- .append("<value><string>49</string></value>\n")
- .append("<value><string>50</string></value>\n")
- .append("<value><string>51</string></value>\n")
- .append("<value><string>52</string></value>\n")
- .append("<value><string>53</string></value>\n")
- .append("<value><string>54</string></value>\n")
- .append("<value><string>55</string></value>\n")
- .append("<value><string>56</string></value>\n")
- .append("<value><string>57</string></value>\n")
- .append("<value><string>58</string></value>\n")
- .append("<value><string>59</string></value>\n")
- .append("<value><string>60</string></value>\n")
- .append("<value><string>61</string></value>\n")
- .append("<value><string>62</string></value>\n")
- .append("<value><string>63</string></value>\n")
- .append("<value><string>64</string></value>\n")
- .append("<value><string>65</string></value>\n")
- .append("<value><string>66</string></value>\n")
- .append("<value><string>67</string></value>\n")
- .append("<value><string>68</string></value>\n")
- .append("<value><string>69</string></value>\n")
- .append("<value><string>70</string></value>\n")
- .append("<value><string>71</string></value>\n")
- .append("<value><string>72</string></value>\n")
- .append("<value><string>73</string></value>\n")
- .append("<value><string>74</string></value>\n")
- .append("<value><string>75</string></value>\n")
- .append("<value><string>76</string></value>\n")
- .append("<value><string>77</string></value>\n")
- .append("<value><string>78</string></value>\n")
- .append("<value><string>79</string></value>\n")
- .append("<value><string>80</string></value>\n")
- .append("<value><string>81</string></value>\n")
- .append("<value><string>82</string></value>\n")
- .append("<value><string>83</string></value>\n")
- .append("<value><string>84</string></value>\n")
- .append("<value><string>85</string></value>\n")
- .append("<value><string>86</string></value>\n")
- .append("<value><string>87</string></value>\n")
- .append("<value><string>88</string></value>\n")
- .append("<value><string>89</string></value>\n")
- .append("<value><string>90</string></value>\n")
- .append("<value><string>91</string></value>\n")
- .append("<value><string>92</string></value>\n")
- .append("<value><string>93</string></value>\n")
- .append("<value><string>94</string></value>\n")
- .append("<value><string>95</string></value>\n")
- .append("<value><string>96</string></value>\n")
- .append("<value><string>97</string></value>\n")
- .append("<value><string>98</string></value>\n")
- .append("<value><string>99</string></value>\n")
- .append("<value><string>100</string></value>\n")
- .append("<value><string>101</string></value>\n")
- .append("<value><string>102</string></value>\n")
- .append("<value><string>103</string></value>\n")
- .append("<value><string>104</string></value>\n")
- .append("<value><string>105</string></value>\n")
- .append("<value><string>106</string></value>\n")
- .append("<value><string>107</string></value>\n")
- .append("<value><string>108</string></value>\n")
- .append("<value><string>109</string></value>\n")
- .append("<value><string>110</string></value>\n")
- .append("<value><string>111</string></value>\n")
- .append("<value><string>112</string></value>\n")
- .append("<value><string>113</string></value>\n")
- .append("<value><string>114</string></value>\n")
- .append("<value><string>115</string></value>\n")
- .append("<value><string>116</string></value>\n")
- .append("<value><string>117</string></value>\n")
- .append("<value><string>118</string></value>\n")
- .append("<value><string>119</string></value>\n")
- .append("<value><string>120</string></value>\n")
- .append("<value><string>121</string></value>\n")
- .append("<value><string>122</string></value>\n")
- .append("<value><string>123</string></value>\n")
- .append("<value><string>124</string></value>\n")
- .append("<value><string>125</string></value>\n")
- .append("<value><string>126</string></value>\n")
- .append("<value><string>127</string></value>\n")
- .append("<value><string>128</string></value>\n")
- .append("<value><string>129</string></value>\n")
- .append("<value><string>130</string></value>\n")
- .append("<value><string>131</string></value>\n")
- .append("<value><string>132</string></value>\n")
- .append("<value><string>133</string></value>\n")
- .append("<value><string>134</string></value>\n")
- .append("<value><string>135</string></value>\n")
- .append("<value><string>136</string></value>\n")
- .append("<value><string>137</string></value>\n")
- .append("<value><string>138</string></value>\n")
- .append("<value><string>139</string></value>\n")
- .append("<value><string>140</string></value>\n")
- .append("<value><string>141</string></value>\n")
- .append("<value><string>142</string></value>\n")
- .append("<value><string>143</string></value>\n")
- .append("<value><string>144</string></value>\n")
- .append("<value><string>145</string></value>\n")
- .append("<value><string>146</string></value>\n")
- .append("<value><string>147</string></value>\n")
- .append("<value><string>148</string></value>\n")
- .append("<value><string>149</string></value>\n")
- .append("<value><string>150</string></value>\n")
- .append("<value><string>151</string></value>\n")
- .append("<value><string>152</string></value>\n")
- .append("<value><string>153</string></value>\n")
- .append("<value><string>154</string></value>\n")
- .append("<value><string>155</string></value>\n")
- .append("<value><string>156</string></value>\n")
- .append("<value><string>157</string></value>\n")
- .append("<value><string>158</string></value>\n")
- .append("<value><string>159</string></value>\n")
- .append("</data></array></value>\n")
- .append("<value><array><data>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("<value><string>10</string></value>\n")
- .append("<value><string>11</string></value>\n")
- .append("<value><string>12</string></value>\n")
- .append("<value><string>13</string></value>\n")
- .append("<value><string>14</string></value>\n")
- .append("<value><string>15</string></value>\n")
- .append("<value><string>16</string></value>\n")
- .append("<value><string>17</string></value>\n")
- .append("<value><string>18</string></value>\n")
- .append("<value><string>19</string></value>\n")
- .append("<value><string>20</string></value>\n")
- .append("<value><string>21</string></value>\n")
- .append("<value><string>22</string></value>\n")
- .append("<value><string>23</string></value>\n")
- .append("<value><string>24</string></value>\n")
- .append("<value><string>25</string></value>\n")
- .append("<value><string>26</string></value>\n")
- .append("<value><string>27</string></value>\n")
- .append("<value><string>28</string></value>\n")
- .append("<value><string>29</string></value>\n")
- .append("<value><string>30</string></value>\n")
- .append("<value><string>31</string></value>\n")
- .append("<value><string>32</string></value>\n")
- .append("<value><string>33</string></value>\n")
- .append("<value><string>34</string></value>\n")
- .append("<value><string>35</string></value>\n")
- .append("<value><string>36</string></value>\n")
- .append("<value><string>37</string></value>\n")
- .append("<value><string>38</string></value>\n")
- .append("<value><string>39</string></value>\n")
- .append("<value><string>40</string></value>\n")
- .append("<value><string>41</string></value>\n")
- .append("<value><string>42</string></value>\n")
- .append("<value><string>43</string></value>\n")
- .append("<value><string>44</string></value>\n")
- .append("<value><string>45</string></value>\n")
- .append("<value><string>46</string></value>\n")
- .append("<value><string>47</string></value>\n")
- .append("<value><string>48</string></value>\n")
- .append("<value><string>49</string></value>\n")
- .append("<value><string>50</string></value>\n")
- .append("<value><string>51</string></value>\n")
- .append("<value><string>52</string></value>\n")
- .append("<value><string>53</string></value>\n")
- .append("<value><string>54</string></value>\n")
- .append("<value><string>55</string></value>\n")
- .append("<value><string>56</string></value>\n")
- .append("<value><string>57</string></value>\n")
- .append("<value><string>58</string></value>\n")
- .append("<value><string>59</string></value>\n")
- .append("<value><string>60</string></value>\n")
- .append("<value><string>61</string></value>\n")
- .append("<value><string>62</string></value>\n")
- .append("<value><string>63</string></value>\n")
- .append("<value><string>64</string></value>\n")
- .append("<value><string>65</string></value>\n")
- .append("<value><string>66</string></value>\n")
- .append("<value><string>67</string></value>\n")
- .append("<value><string>68</string></value>\n")
- .append("<value><string>69</string></value>\n")
- .append("<value><string>70</string></value>\n")
- .append("<value><string>71</string></value>\n")
- .append("<value><string>72</string></value>\n")
- .append("<value><string>73</string></value>\n")
- .append("<value><string>74</string></value>\n")
- .append("<value><string>75</string></value>\n")
- .append("<value><string>76</string></value>\n")
- .append("<value><string>77</string></value>\n")
- .append("<value><string>78</string></value>\n")
- .append("<value><string>79</string></value>\n")
- .append("<value><string>80</string></value>\n")
- .append("<value><string>81</string></value>\n")
- .append("<value><string>82</string></value>\n")
- .append("<value><string>83</string></value>\n")
- .append("<value><string>84</string></value>\n")
- .append("<value><string>85</string></value>\n")
- .append("<value><string>86</string></value>\n")
- .append("<value><string>87</string></value>\n")
- .append("<value><string>88</string></value>\n")
- .append("<value><string>89</string></value>\n")
- .append("<value><string>90</string></value>\n")
- .append("<value><string>91</string></value>\n")
- .append("<value><string>92</string></value>\n")
- .append("<value><string>93</string></value>\n")
- .append("<value><string>94</string></value>\n")
- .append("<value><string>95</string></value>\n")
- .append("<value><string>96</string></value>\n")
- .append("<value><string>97</string></value>\n")
- .append("<value><string>98</string></value>\n")
- .append("<value><string>99</string></value>\n")
- .append("<value><string>100</string></value>\n")
- .append("<value><string>101</string></value>\n")
- .append("<value><string>102</string></value>\n")
- .append("<value><string>103</string></value>\n")
- .append("<value><string>104</string></value>\n")
- .append("<value><string>105</string></value>\n")
- .append("<value><string>106</string></value>\n")
- .append("<value><string>107</string></value>\n")
- .append("<value><string>108</string></value>\n")
- .append("<value><string>109</string></value>\n")
- .append("<value><string>110</string></value>\n")
- .append("<value><string>111</string></value>\n")
- .append("<value><string>112</string></value>\n")
- .append("<value><string>113</string></value>\n")
- .append("<value><string>114</string></value>\n")
- .append("<value><string>115</string></value>\n")
- .append("<value><string>116</string></value>\n")
- .append("<value><string>117</string></value>\n")
- .append("<value><string>118</string></value>\n")
- .append("<value><string>119</string></value>\n")
- .append("<value><string>120</string></value>\n")
- .append("<value><string>121</string></value>\n")
- .append("<value><string>122</string></value>\n")
- .append("<value><string>123</string></value>\n")
- .append("<value><string>124</string></value>\n")
- .append("<value><string>125</string></value>\n")
- .append("<value><string>126</string></value>\n")
- .append("<value><string>127</string></value>\n")
- .append("<value><string>128</string></value>\n")
- .append("<value><string>129</string></value>\n")
- .append("<value><string>130</string></value>\n")
- .append("<value><string>131</string></value>\n")
- .append("<value><string>132</string></value>\n")
- .append("<value><string>133</string></value>\n")
- .append("<value><string>134</string></value>\n")
- .append("<value><string>135</string></value>\n")
- .append("<value><string>136</string></value>\n")
- .append("<value><string>137</string></value>\n")
- .append("<value><string>138</string></value>\n")
- .append("<value><string>139</string></value>\n")
- .append("<value><string>140</string></value>\n")
- .append("<value><string>141</string></value>\n")
- .append("<value><string>142</string></value>\n")
- .append("<value><string>143</string></value>\n")
- .append("<value><string>144</string></value>\n")
- .append("<value><string>145</string></value>\n")
- .append("<value><string>146</string></value>\n")
- .append("<value><string>147</string></value>\n")
- .append("<value><string>148</string></value>\n")
- .append("<value><string>149</string></value>\n")
- .append("<value><string>150</string></value>\n")
- .append("<value><string>151</string></value>\n")
- .append("<value><string>152</string></value>\n")
- .append("<value><string>153</string></value>\n")
- .append("<value><string>154</string></value>\n")
- .append("<value><string>155</string></value>\n")
- .append("<value><string>156</string></value>\n")
- .append("<value><string>157</string></value>\n")
- .append("<value><string>158</string></value>\n")
- .append("<value><string>159</string></value>\n")
- .append("</data></array></value>\n")
- .append("</data></array></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>uuid</name>\n")
- .append("<value><string>00000000-0000-0000-0000-000000000000</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>on_reboot</name>\n")
- .append("<value><string>restart</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>state</name>\n")
- .append("<value><string>r-----</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>cpu_weight</name>\n")
- .append("<value><string>65535</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>online_vcpus</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>memory</name>\n")
- .append("<value><string>672</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>cpu_cap</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>status</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>pool_name</name>\n")
- .append("<value><string>Pool-0</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>on_poweroff</name>\n")
- .append("<value><string>destroy</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>on_xend_start</name>\n")
- .append("<value><string>ignore</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>on_crash</name>\n")
- .append("<value><string>restart</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>device</name>\n")
- .append("<value><struct>\n")
- .append("</struct></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>bootloader</name>\n")
- .append("<value><string></string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>maxmem</name>\n")
- .append("<value><string>672</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>cpu_time</name>\n")
- .append("<value><string>6608.51291287</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>shadow_memory</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>name</name>\n")
- .append("<value><string>Domain-0</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>builder</name>\n")
- .append("<value><string>linux</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>bootloader_args</name>\n")
- .append("<value><string></string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>domid</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>vcpus</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("</struct></value>\n")
- .append("<value><struct>\n")
- .append("<member>\n")
- .append("<name>on_xend_stop</name>\n")
- .append("<value><string>ignore</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>console_mfn</name>\n")
- .append("<value><string>873706</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>features</name>\n")
- .append("<value><string></string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>image</name>\n")
- .append("<value><struct>\n")
- .append("<member>\n")
- .append("<name>tsc_mode</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>kernel</name>\n")
- .append("<value><string></string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>videoram</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>device_model</name>\n")
- .append("<value><string>/usr/lib/xen/bin/qemu-dm</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>notes</name>")
- .append("<value><array><data>")
- .append("<value><array><data>")
- .append("<value><string>HV_START_LOW</string></value>")
- .append("<value><string>4118806528</string></value>")
- .append("</data></array></value>")
- .append("<value><array><data>")
- .append("<value><string>FEATURES</string></value>")
- .append("<value><string>!writable_page_tables|pae_pgdir_above_4gb</string></value>")
- .append("</data></array></value>") .append("<value><array><data>")
- .append("<value><string>VIRT_BASE</string></value>")
- .append("<value><string>3221225472</string></value>")
- .append("</data></array></value>") .append("<value><array><data>")
- .append("<value><string>GUEST_VERSION</string></value>")
- .append("<value><string>2.6</string></value>")
- .append("</data></array></value>") .append("<value><array><data>")
- .append("<value><string>PADDR_OFFSET</string></value>")
- .append("<value><string>") .append("</string></value>")
- .append("</data></array></value>") .append("<value><array><data>")
- .append("<value><string>GUEST_OS</string></value>")
- .append("<value><string>linux</string></value>")
- .append("</data></array></value>") .append("<value><array><data>")
- .append("<value><string>HYPERCALL_PAGE</string></value>")
- .append("<value><string>3238010880</string></value>")
- .append("</data></array></value>") .append("<value><array><data>")
- .append("<value><string>LOADER</string></value>")
- .append("<value><string>generic</string></value>")
- .append("</data></array></value>") .append("<value><array><data>")
- .append("<value><string>SUSPEND_CANCEL</string></value>")
- .append("<value><string>") .append("</string></value>")
- .append("</data></array></value>") .append("<value><array><data>")
- .append("<value><string>PAE_MODE</string></value>")
- .append("<value><string>yes</string></value>")
- .append("</data></array></value>") .append("<value><array><data>")
- .append("<value><string>ENTRY</string></value>")
- .append("<value><string>3242303488</string></value>")
- .append("</data></array></value>") .append("<value><array><data>")
- .append("<value><string>XEN_VERSION</string></value>")
- .append("<value><string>xen-3.0</string></value>")
- .append("</data></array></value>") .append("</data></array></value>")
- .append("</member>") .append("<member>")
- .append("<name>expose_host_uuid</name>") .append("<value><string>")
- .append("</string></value>") .append("</member>") .append("<member>")
- .append("<name>pci</name>") .append("<value><array><data>")
- .append("</data></array></value>") .append("</member>") .append("<member>")
- .append("<name>superpages</name>\n") .append("<value><string>\n")
- .append("</string></value>\n") .append("</member>\n") .append("<member>\n")
- .append("<name>nomigrate</name>\n") .append("<value><string>\n")
- .append("</string></value>\n") .append("</member>\n")
- .append("</struct></value>\n") .append("</member>\n") .append("<member>\n")
- .append("<name>cpus</name>\n") .append("<value><array><data>\n")
- .append("<value><array><data>\n") .append("</data></array></value>\n")
- .append("</data></array></value>\n") .append("</member>\n")
- .append("<member>\n") .append("<name>store_mfn</name>\n")
- .append("<value><string>873707</string></value>\n")
- .append("</member>\n") .append("<member>\n") .append("<name>uuid</name>\n")
- .append("<value><string>")
- .append(VMID)
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>on_reboot</name>\n")
- .append("<value><string>restart</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>state</name>\n")
- .append("<value><string>-b----</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>cpu_weight</name>\n")
- .append("<value><string>27500</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>online_vcpus</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>memory</name>\n")
- .append("<value><string>512</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>cpu_cap</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>status</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>pool_name</name>\n")
- .append("<value><string>Pool-0</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>description</name>\n")
- .append("<value><string></string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>start_time</name>\n")
- .append("<value><string>1408105444.17</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>on_poweroff</name>\n")
- .append("<value><string>destroy</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>on_xend_start</name>\n")
- .append("<value><string>ignore</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>on_crash</name>\n")
- .append("<value><string>restart</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>device</name>\n")
- .append("<value><struct>\n")
- .append("<member>\n")
- .append("<name>vif</name>\n")
- .append("<value><array><data>\n")
- .append("<value><struct>\n")
- .append("<member>\n")
- .append("<name>bridge</name>\n")
- .append("<value><string>").append(VMNICBR).append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>mac</name>\n")
- .append("<value><string>").append(VMNICMAC).append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>script</name>\n")
- .append("<value><string>/etc/xen/scripts/vif-bridge</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>uuid</name>\n")
- .append("<value><string>").append(VMNICUUID).append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>backend</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("</struct></value>\n")
- .append("</data></array></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>vkbd</name>\n")
- .append("<value><array><data>\n")
- .append("<value><struct>\n")
- .append("<member>\n")
- .append("<name>backend</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("</struct></value>\n")
- .append("</data></array></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>console</name>\n")
- .append("<value><array><data>\n")
- .append("<value><struct>\n")
- .append("<member>\n")
- .append("<name>protocol</name>\n")
- .append("<value><string>vt100</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>location</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>uuid</name>\n")
- .append("<value><string>9beb5016-dde7-8526-491f-e972f262a634</string></value>\n")
- .append("</member>\n")
- .append("</struct></value>\n")
- .append("</data></array></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>vfb</name>\n")
- .append("<value><array><data>\n")
- .append("<value><struct>\n")
- .append("<member>\n")
- .append("<name>vncunused</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>vnc</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>xauthority</name>\n")
- .append("<value><string>/root/.Xauthority</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>vnclisten</name>\n")
- .append("<value><string>0.0.0.0</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>vncpasswd</name>\n")
- .append("<value><string>7693f834ca67912e</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>keymap</name>\n")
- .append("<value><string>en-us</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>location</name>\n")
- .append("<value><string>0.0.0.0:5900</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>uuid</name>\n")
- .append("<value><string>78edf954-e375-b142-9c76-791ce805b6ef</string></value>\n")
- .append("</member>\n")
- .append("</struct></value>\n")
- .append("</data></array></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>vbd</name>\n")
- .append("<value><array><data>\n")
- .append("<value><struct>\n")
- .append("<member>\n")
- .append("<name>protocol</name>\n")
- .append("<value><string>x86_32-abi</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>uuid</name>\n")
- .append("<value><string>bda35954-2596-025e-168c-b82e1cf92369</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>bootable</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>dev</name>\n")
- .append("<value><string>xvda:disk</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>uname</name>\n")
- .append("<value><string>file:/OVS/Repositories/")
- .append(REPOID)
- .append("/VirtualDisks/")
- .append(VMROOTDISK)
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>mode</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>VDI</name>\n")
- .append("<value><string></string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>backend</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("</struct></value>\n")
- .append("</data></array></value>\n")
- .append("</member>\n")
- .append("</struct></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>bootloader</name>\n")
- .append("<value><string>/usr/bin/pygrub</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>maxmem</name>\n")
- .append("<value><string>512</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>cpu_time</name>\n")
- .append("<value><string>0.152510481</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>shadow_memory</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>name</name>\n")
- .append("<value><string>")
- .append(VMNAME)
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>builder</name>\n")
- .append("<value><string>linux</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>bootloader_args</name>\n")
- .append("<value><string>-q</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>domid</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n")
- .append("<member>\n")
- .append("<name>vcpus</name>\n")
- .append("<value><string>\n")
- .append("</string></value>\n")
- .append("</member>\n") .append("</struct></value>\n") .append("</data></array>").toString());
+ .append("<value><struct>\n<member>\n<name>on_xend_stop</name>\n<value><string>ignore</string></value>\n</member>\n<member>\n<name>features</name>\n<value><string></string></value>\n</member>\n<member>\n<name>image</name>\n")
+ .append("<value><struct>\n<member>\n<name>tsc_mode</name>\n<value><string>\n</string></value>\n</member>\n<member>\n<name>kernel</name>\n<value><string></string></value>\n</member>\n<member>\n<name>superpages</name>\n")
+ .append("<value><string>\n</string></value>\n</member>\n<member>\n<name>nomigrate</name>\n<value><string>\n</string></value>\n</member>\n<member>\n<name>expose_host_uuid</name>\n<value><string>\n</string></value>\n</member>\n")
+ .append("</struct></value>\n</member>\n<member>\n<name>cpus</name>\n<value><array><data>\n<value><array><data>\n<value><string>\n</string></value>\n<value><string>\n</string></value>\n<value><string>\n</string></value>\n")
+ .append("<value><string>\n</string></value>\n<value><string>\n</string></value>\n<value><string>\n</string></value>\n<value><string>\n</string></value>\n<value><string>\n</string></value>\n<value><string>\n")
+ .append("</string></value>\n<value><string>\n</string></value>\n<value><string>10</string></value>\n<value><string>11</string></value>\n<value><string>12</string></value>\n<value><string>13</string></value>\n")
+ .append("<value><string>14</string></value>\n<value><string>15</string></value>\n<value><string>16</string></value>\n<value><string>17</string></value>\n<value><string>18</string></value>\n")
+ .append("<value><string>19</string></value>\n<value><string>20</string></value>\n<value><string>21</string></value>\n<value><string>22</string></value>\n<value><string>23</string></value>\n")
+ .append("<value><string>24</string></value>\n<value><string>25</string></value>\n<value><string>26</string></value>\n<value><string>27</string></value>\n<value><string>28</string></value>\n")
+ .append("<value><string>29</string></value>\n<value><string>30</string></value>\n<value><string>31</string></value>\n<value><string>32</string></value>\n<value><string>33</string></value>\n")
+ .append("<value><string>34</string></value>\n<value><string>35</string></value>\n<value><string>36</string></value>\n<value><string>37</string></value>\n<value><string>38</string></value>\n")
+ .append("<value><string>39</string></value>\n<value><string>40</string></value>\n<value><string>41</string></value>\n<value><string>42</string></value>\n<value><string>43</string></value>\n")
+ .append("<value><string>44</string></value>\n<value><string>45</string></value>\n<value><string>46</string></value>\n<value><string>47</string></value>\n<value><string>48</string></value>\n")
+ .append("<value><string>49</string></value>\n<value><string>50</string></value>\n<value><string>51</string></value>\n<value><string>52</string></value>\n<value><string>53</string></value>\n")
+ .append("<value><string>54</string></value>\n<value><string>55</string></value>\n<value><string>56</string></value>\n<value><string>57</string></value>\n<value><string>58</string></value>\n")
+ .append("<value><string>59</string></value>\n<value><string>60</string></value>\n<value><string>61</string></value>\n<value><string>62</string></value>\n<value><string>63</string></value>\n")
+ .append("<value><string>64</string></value>\n<value><string>65</string></value>\n<value><string>66</string></value>\n<value><string>67</string></value>\n<value><string>68</string></value>\n")
+ .append("<value><string>69</string></value>\n<value><string>70</string></value>\n<value><string>71</string></value>\n<value><string>72</string></value>\n<value><string>73</string></value>\n")
+ .append("<value><string>74</string></value>\n<value><string>75</string></value>\n<value><string>76</string></value>\n<value><string>77</string></value>\n<value><string>78</string></value>\n")
+ .append("<value><string>79</string></value>\n<value><string>80</string></value>\n<value><string>81</string></value>\n<value><string>82</string></value>\n<value><string>83</string></value>\n")
+ .append("<value><string>84</string></value>\n<value><string>85</string></value>\n<value><string>86</string></value>\n<value><string>87</string></value>\n<value><string>88</string></value>\n")
+ .append("<value><string>89</string></value>\n<value><string>90</string></value>\n<value><string>91</string></value>\n<value><string>92</string></value>\n<value><string>93</string></value>\n")
+ .append("<value><string>94</string></value>\n<value><string>95</string></value>\n<value><string>96</string></value>\n<value><string>97</string></value>\n<value><string>98</string></value>\n")
+ .append("<value><string>99</string></value>\n<value><string>100</string></value>\n<value><string>101</string></value>\n<value><string>102</string></value>\n<value><string>103</string></value>\n")
+ .append("<value><string>104</string></value>\n<value><string>105</string></value>\n<value><string>106</string></value>\n<value><string>107</string></value>\n<value><string>108</string></value>\n")
+ .append("<value><string>109</string></value>\n<value><string>110</string></value>\n<value><string>111</string></value>\n<value><string>112</string></value>\n<value><string>113</string></value>\n")
+ .append("<value><string>114</string></value>\n<value><string>115</string></value>\n<value><string>116</string></value>\n<value><string>117</string></value>\n<value><string>118</string></value>\n")
+ .append("<value><string>119</string></value>\n<value><string>120</string></value>\n<value><string>121</string></value>\n<value><string>122</string></value>\n<value><string>123</string></value>\n")
+ .append("<value><string>124</string></value>\n<value><string>125</string></value>\n<value><string>126</string></value>\n<value><string>127</string></value>\n<value><string>128</string></value>\n")
+ .append("<value><string>129</string></value>\n<value><string>130</string></value>\n<value><string>131</string></value>\n<value><string>132</string></value>\n<value><string>133</string></value>\n")
+ .append("<value><string>134</string></value>\n<value><string>135</string></value>\n<value><string>136</string></value>\n<value><string>137</string></value>\n<value><string>138</string></value>\n")
+ .append("<value><string>139</string></value>\n<value><string>140</string></value>\n<value><string>141</string></value>\n<value><string>142</string></value>\n<value><string>143</string></value>\n")
+ .append("<value><string>144</string></value>\n<value><string>145</string></value>\n<value><string>146</string></value>\n<value><string>147</string></value>\n<value><string>148</string></value>\n")
+ .append("<value><string>149</string></value>\n<value><string>150</string></value>\n<value><string>151</string></value>\n<value><string>152</string></value>\n<value><string>153</string></value>\n")
+ .append("<value><string>154</string></value>\n<value><string>155</string></value>\n<value><string>156</string></value>\n<value><string>157</string></value>\n<value><string>158</string></value>\n")
+ .append("<value><string>159</string></value>\n</data></array></value>\n<value><array><data>\n<value><string>\n</string></value>\n<value><string>\n</string></value>\n<value><string>\n</string></value>\n")
+ .append("<value><string>\n</string></value>\n<value><string>\n</string></value>\n<value><string>\n</string></value>\n<value><string>\n</string></value>\n<value><string>\n</string></value>\n")
+ .append("<value><string>\n</string></value>\n<value><string>\n</string></value>\n<value><string>10</string></value>\n<value><string>11</string></value>\n<value><string>12</string></value>\n")
+ .append("<value><string>13</string></value>\n<value><string>14</string></value>\n<value><string>15</string></value>\n<value><string>16</string></value>\n<value><string>17</string></value>\n")
+ .append("<value><string>18</string></value>\n<value><string>19</string></value>\n<value><string>20</string></value>\n<value><string>21</string></value>\n<value><string>22</string></value>\n")
+ .append("<value><string>23</string></value>\n<value><string>24</string></value>\n<value><string>25</string></value>\n<value><string>26</string></value>\n<value><string>27</string></value>\n")
+ .append("<value><string>28</string></value>\n<value><string>29</string></value>\n<value><string>30</string></value>\n<value><string>31</string></value>\n<value><string>32</string></value>\n")
+ .append("<value><string>33</string></value>\n<value><string>34</string></value>\n<value><string>35</string></value>\n<value><string>36</string></value>\n<value><string>37</string></value>\n")
+ .append("<value><string>38</string></value>\n<value><string>39</string></value>\n<value><string>40</string></value>\n<value><string>41</string></value>\n<value><string>42</string></value>\n")
+ .append("<value><string>43</string></value>\n<value><string>44</string></value>\n<value><string>45</string></value>\n<value><string>46</string></value>\n<value><string>47</string></value>\n")
+ .append("<value><string>48</string></value>\n<value><string>49</string></value>\n<value><string>50</string></value>\n<value><string>51</string></value>\n<value><string>52</string></value>\n")
+ .append("<value><string>53</string></value>\n<value><string>54</string></value>\n<value><string>55</string></value>\n<value><string>56</string></value>\n<value><string>57</string></value>\n")
+ .append("<value><string>58</string></value>\n<value><string>59</string></value>\n<value><string>60</string></value>\n<value><string>61</string></value>\n<value><string>62</string></value>\n")
+ .append("<value><string>63</string></value>\n<value><string>64</string></value>\n<value><string>65</string></value>\n<value><string>66</string></value>\n<value><string>67</string></value>\n")
+ .append("<value><string>68</string></value>\n<value><string>69</string></value>\n<value><string>70</string></value>\n<value><string>71</string></value>\n<value><string>72</string></value>\n")
+ .append("<value><string>73</string></value>\n<value><string>74</string></value>\n<value><string>75</string></value>\n<value><string>76</string></value>\n<value><string>77</string></value>\n")
+ .append("<value><string>78</string></value>\n<value><string>79</string></value>\n<value><string>80</string></value>\n<value><string>81</string></value>\n<value><string>82</string></value>\n")
+ .append("<value><string>83</string></value>\n<value><string>84</string></value>\n<value><string>85</string></value>\n<value><string>86</string></value>\n<value><string>87</string></value>\n")
+ .append("<value><string>88</string></value>\n<value><string>89</string></value>\n<value><string>90</string></value>\n<value><string>91</string></value>\n<value><string>92</string></value>\n")
+ .append("<value><string>93</string></value>\n<value><string>94</string></value>\n<value><string>95</string></value>\n<value><string>96</string></value>\n<value><string>97</string></value>\n")
+ .append("<value><string>98</string></value>\n<value><string>99</string></value>\n<value><string>100</string></value>\n<value><string>101</string></value>\n<value><string>102</string></value>\n")
+ .append("<value><string>103</string></value>\n<value><string>104</string></value>\n<value><string>105</string></value>\n<value><string>106</string></value>\n<value><string>107</string></value>\n")
+ .append("<value><string>108</string></value>\n<value><string>109</string></value>\n<value><string>110</string></value>\n<value><string>111</string></value>\n<value><string>112</string></value>\n")
+ .append("<value><string>113</string></value>\n<value><string>114</string></value>\n<value><string>115</string></value>\n<value><string>116</string></value>\n<value><string>117</string></value>\n")
+ .append("<value><string>118</string></value>\n<value><string>119</string></value>\n<value><string>120</string></value>\n<value><string>121</string></value>\n<value><string>122</string></value>\n")
+ .append("<value><string>123</string></value>\n<value><string>124</string></value>\n<value><string>125</string></value>\n<value><string>126</string></value>\n<value><string>127</string></value>\n")
+ .append("<value><string>128</string></value>\n<value><string>129</string></value>\n<value><string>130</string></value>\n<value><string>131</string></value>\n<value><string>132</string></value>\n")
+ .append("<value><string>133</string></value>\n<value><string>134</string></value>\n<value><string>135</string></value>\n<value><string>136</string></value>\n<value><string>137</string></value>\n")
+ .append("<value><string>138</string></value>\n<value><string>139</string></value>\n<value><string>140</string></value>\n<value><string>141</string></value>\n<value><string>142</string></value>\n")
+ .append("<value><string>143</string></value>\n<value><string>144</string></value>\n<value><string>145</string></value>\n<value><string>146</string></value>\n<value><string>147</string></value>\n")
+ .append("<value><string>148</string></value>\n<value><string>149</string></value>\n<value><string>150</string></value>\n<value><string>151</string></value>\n<value><string>152</string></value>\n")
+ .append("<value><string>153</string></value>\n<value><string>154</string></value>\n<value><string>155</string></value>\n<value><string>156</string></value>\n<value><string>157</string></value>\n")
+ .append("<value><string>158</string></value>\n<value><string>159</string></value>\n</data></array></value>\n</data></array></value>\n</member>\n<member>\n<name>uuid</name>\n<value><string>00000000-0000-0000-0000-000000000000</string></value>\n")
+ .append("</member>\n<member>\n<name>on_reboot</name>\n<value><string>restart</string></value>\n</member>\n<member>\n<name>state</name>\n<value><string>r-----</string></value>\n</member>\n")
+ .append("<member>\n<name>cpu_weight</name>\n<value><string>65535</string></value>\n</member>\n<member>\n<name>online_vcpus</name>\n<value><string>\n</string></value>\n</member>\n")
+ .append("<member>\n<name>memory</name>\n<value><string>672</string></value>\n</member>\n<member>\n<name>cpu_cap</name>\n<value><string>\n</string></value>\n</member>\n<member>\n<name>status</name>\n")
+ .append("<value><string>\n</string></value>\n</member>\n<member>\n<name>pool_name</name>\n<value><string>Pool-0</string></value>\n</member>\n<member>\n<name>on_poweroff</name>\n<value><string>destroy</string></value>\n")
+ .append("</member>\n<member>\n<name>on_xend_start</name>\n<value><string>ignore</string></value>\n</member>\n<member>\n<name>on_crash</name>\n<value><string>restart</string></value>\n</member>\n")
+ .append("<member>\n<name>device</name>\n<value><struct>\n</struct></value>\n</member>\n<member>\n<name>bootloader</name>\n<value><string></string></value>\n</member>\n<member>\n<name>maxmem</name>\n")
+ .append("<value><string>672</string></value>\n</member>\n<member>\n<name>cpu_time</name>\n<value><string>6608.51291287</string></value>\n</member>\n<member>\n<name>shadow_memory</name>\n<value><string>\n")
+ .append("</string></value>\n</member>\n<member>\n<name>name</name>\n<value><string>Domain-0</string></value>\n</member>\n<member>\n<name>builder</name>\n<value><string>linux</string></value>\n</member>\n")
+ .append("<member>\n<name>bootloader_args</name>\n<value><string></string></value>\n</member>\n<member>\n<name>domid</name>\n<value><string>\n</string></value>\n</member>\n<member>\n<name>vcpus</name>\n")
+ .append("<value><string>\n</string></value>\n</member>\n</struct></value>\n<value><struct>\n<member>\n<name>on_xend_stop</name>\n<value><string>ignore</string></value>\n</member>\n<member>\n")
+ .append("<name>console_mfn</name>\n<value><string>873706</string></value>\n</member>\n<member>\n<name>features</name>\n<value><string></string></value>\n</member>\n<member>\n<name>image</name>\n")
+ .append("<value><struct>\n<member>\n<name>tsc_mode</name>\n<value><string>\n</string></value>\n</member>\n<member>\n<name>kernel</name>\n<value><string></string></value>\n</member>\n")
+ .append("<member>\n<name>videoram</name>\n<value><string>\n</string></value>\n</member>\n<member>\n<name>device_model</name>\n<value><string>/usr/lib/xen/bin/qemu-dm</string></value>\n</member>\n")
+ .append("<member>\n<name>notes</name><value><array><data><value><array><data><value><string>HV_START_LOW</string></value><value><string>4118806528</string></value></data></array></value>")
+ .append("<value><array><data><value><string>FEATURES</string></value><value><string>!writable_page_tables|pae_pgdir_above_4gb</string></value></data></array></value><value><array><data>")
+ .append("<value><string>VIRT_BASE</string></value><value><string>3221225472</string></value></data></array></value><value><array><data><value><string>GUEST_VERSION</string></value><value><string>2.6</string></value>")
+ .append("</data></array></value><value><array><data><value><string>PADDR_OFFSET</string></value><value><string></string></value></data></array></value><value><array><data><value><string>GUEST_OS</string></value>")
+ .append("<value><string>linux</string></value></data></array></value><value><array><data><value><string>HYPERCALL_PAGE</string></value><value><string>3238010880</string></value></data></array></value><value><array><data>")
+ .append("<value><string>LOADER</string></value><value><string>generic</string></value></data></array></value><value><array><data><value><string>SUSPEND_CANCEL</string></value><value><string></string></value>")
+ .append("</data></array></value><value><array><data><value><string>PAE_MODE</string></value><value><string>yes</string></value></data></array></value><value><array><data><value><string>ENTRY</string></value>")
+ .append("<value><string>3242303488</string></value></data></array></value><value><array><data><value><string>XEN_VERSION</string></value><value><string>xen-3.0</string></value></data></array></value>")
+ .append("</data></array></value></member><member><name>expose_host_uuid</name><value><string></string></value></member><member><name>pci</name><value><array><data></data></array></value></member>")
+ .append("<member><name>superpages</name>\n<value><string>\n</string></value>\n</member>\n<member>\n<name>nomigrate</name>\n<value><string>\n</string></value>\n</member>\n</struct></value>\n</member>\n")
+ .append("<member>\n<name>cpus</name>\n<value><array><data>\n<value><array><data>\n</data></array></value>\n</data></array></value>\n</member>\n<member>\n<name>store_mfn</name>\n<value><string>873707</string></value>\n")
+ .append("</member>\n<member>\n<name>uuid</name>\n<value><string>").append(VMID).append("</string></value>\n</member>\n<member>\n<name>on_reboot</name>\n<value><string>restart</string></value>\n</member>\n")
+ .append("<member>\n<name>state</name>\n<value><string>-b----</string></value>\n</member>\n<member>\n<name>cpu_weight</name>\n<value><string>27500</string></value>\n</member>\n<member>\n<name>online_vcpus</name>\n")
+ .append("<value><string>\n</string></value>\n</member>\n<member>\n<name>memory</name>\n<value><string>512</string></value>\n</member>\n<member>\n<name>cpu_cap</name>\n<value><string>\n</string></value>\n")
+ .append("</member>\n<member>\n<name>status</name>\n<value><string>\n</string></value>\n</member>\n<member>\n<name>pool_name</name>\n<value><string>Pool-0</string></value>\n</member>\n<member>\n<name>description</name>\n")
+ .append("<value><string></string></value>\n</member>\n<member>\n<name>start_time</name>\n<value><string>1408105444.17</string></value>\n</member>\n<member>\n<name>on_poweroff</name>\n<value><string>destroy</string></value>\n")
+ .append("</member>\n<member>\n<name>on_xend_start</name>\n<value><string>ignore</string></value>\n</member>\n<member>\n<name>on_crash</name>\n<value><string>restart</string></value>\n</member>\n")
+ .append("<member>\n<name>device</name>\n<value><struct>\n<member>\n<name>vif</name>\n<value><array><data>\n<value><struct>\n<member>\n<name>bridge</name>\n<value><string>").append(VMNICBR)
+ .append("</string></value>\n</member>\n<member>\n<name>mac</name>\n<value><string>").append(VMNICMAC).append("</string></value>\n</member>\n<member>\n<name>script</name>\n<value><string>/etc/xen/scripts/vif-bridge</string></value>\n")
+ .append("</member>\n<member>\n<name>uuid</name>\n<value><string>").append(VMNICUUID).append("</string></value>\n</member>\n<member>\n<name>backend</name>\n<value><string>\n</string></value>\n</member>\n")
+ .append("</struct></value>\n</data></array></value>\n</member>\n<member>\n<name>vkbd</name>\n<value><array><data>\n<value><struct>\n<member>\n<name>backend</name>\n<value><string>\n</string></value>\n")
+ .append("</member>\n</struct></value>\n</data></array></value>\n</member>\n<member>\n<name>console</name>\n<value><array><data>\n<value><struct>\n<member>\n<name>protocol</name>\n<value><string>vt100</string></value>\n")
+ .append("</member>\n<member>\n<name>location</name>\n<value><string>\n</string></value>\n</member>\n<member>\n<name>uuid</name>\n<value><string>9beb5016-dde7-8526-491f-e972f262a634</string></value>\n")
+ .append("</member>\n</struct></value>\n</data></array></value>\n</member>\n<member>\n<name>vfb</name>\n<value><array><data>\n<value><struct>\n<member>\n<name>vncunused</name>\n<value><string>\n")
+ .append("</string></value>\n</member>\n<member>\n<name>vnc</name>\n<value><string>\n</string></value>\n</member>\n<member>\n<name>xauthority</name>\n<value><string>/root/.Xauthority</string></value>\n")
+ .append("</member>\n<member>\n<name>vnclisten</name>\n<value><string>0.0.0.0</string></value>\n</member>\n<member>\n<name>vncpasswd</name>\n<value><string>7693f834ca67912e</string></value>\n")
+ .append("</member>\n<member>\n<name>keymap</name>\n<value><string>en-us</string></value>\n</member>\n<member>\n<name>location</name>\n<value><string>0.0.0.0:5900</string></value>\n</member>\n")
+ .append("<member>\n<name>uuid</name>\n<value><string>78edf954-e375-b142-9c76-791ce805b6ef</string></value>\n</member>\n</struct></value>\n</data></array></value>\n</member>\n<member>\n<name>vbd</name>\n")
+ .append("<value><array><data>\n<value><struct>\n<member>\n<name>protocol</name>\n<value><string>x86_32-abi</string></value>\n</member>\n<member>\n<name>uuid</name>\n<value><string>bda35954-2596-025e-168c-b82e1cf92369</string></value>\n")
+ .append("</member>\n<member>\n<name>bootable</name>\n<value><string>\n</string></value>\n</member>\n<member>\n<name>dev</name>\n<value><string>xvda:disk</string></value>\n</member>\n<member>\n<name>uname</name>\n")
+ .append("<value><string>file:/OVS/Repositories/").append(REPOID).append("/VirtualDisks/").append(VMROOTDISK).append("</string></value>\n</member>\n<member>\n<name>mode</name>\n<value><string>\n")
+ .append("</string></value>\n</member>\n<member>\n<name>VDI</name>\n<value><string></string></value>\n</member>\n<member>\n<name>backend</name>\n<value><string>\n</string></value>\n</member>\n</struct></value>\n")
+ .append("</data></array></value>\n</member>\n</struct></value>\n</member>\n<member>\n<name>bootloader</name>\n<value><string>/usr/bin/pygrub</string></value>\n</member>\n<member>\n<name>maxmem</name>\n")
+ .append("<value><string>512</string></value>\n</member>\n<member>\n<name>cpu_time</name>\n<value><string>0.152510481</string></value>\n</member>\n<member>\n<name>shadow_memory</name>\n<value><string>\n")
+ .append("</string></value>\n</member>\n<member>\n<name>name</name>\n<value><string>").append(VMNAME).append("</string></value>\n</member>\n<member>\n<name>builder</name>\n<value><string>linux</string></value>\n")
+ .append("</member>\n<member>\n<name>bootloader_args</name>\n<value><string>-q</string></value>\n</member>\n<member>\n<name>domid</name>\n<value><string>\n</string></value>\n</member>\n<member>\n")
+ .append("<name>vcpus</name>\n<value><string>\n</string></value>\n</member>\n</struct></value>\n</data></array>").toString());
public String getSingleVmListXML() {
return SINGLEVMLISTXML;
[19/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
CLOUDSTACK-8577: fixing script testpath_disable_enable_zone
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/49451750
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/49451750
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/49451750
Branch: refs/heads/dhcpoffload
Commit: 49451750a965a0b37409e9661cf4e65090c3047c
Parents: 8a99df7
Author: nitt10prashant <ni...@gmail.com>
Authored: Mon Jun 22 18:25:39 2015 +0530
Committer: sanjeev <sa...@apache.org>
Committed: Wed Jun 24 10:50:19 2015 +0530
----------------------------------------------------------------------
.../maint/testpath_disable_enable_zone.py | 401 +++++++++++++------
1 file changed, 286 insertions(+), 115 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/49451750/test/integration/component/maint/testpath_disable_enable_zone.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/testpath_disable_enable_zone.py b/test/integration/component/maint/testpath_disable_enable_zone.py
index a4c7bdc..3cbd3d5 100644
--- a/test/integration/component/maint/testpath_disable_enable_zone.py
+++ b/test/integration/component/maint/testpath_disable_enable_zone.py
@@ -104,6 +104,16 @@ class TestDisableEnableZone(cloudstackTestCase):
)
cls._cleanup.append(cls.account)
+ # Create root admin account
+
+ cls.admin_account = Account.create(
+ cls.apiclient,
+ cls.testdata["account2"],
+ admin=True
+
+ )
+ cls._cleanup.append(cls.admin_account)
+
# Create user api client of the account
cls.userapiclient = testClient.getUserApiClient(
UserName=cls.account.name,
@@ -174,7 +184,7 @@ class TestDisableEnableZone(cloudstackTestCase):
self.apiclient,
self.testdata["small"],
templateid=self.template.id,
- accountid=self.account.name,
+ accountid=self.admin_account.name,
domainid=self.account.domainid,
serviceofferingid=self.service_offering.id,
zoneid=self.zone.id
@@ -220,17 +230,22 @@ class TestDisableEnableZone(cloudstackTestCase):
"verify that vm is stopped")
root_volume = list_volumes(
- self.userapiclient,
+ self.apiclient,
virtualmachineid=vm_root.id,
type='ROOT',
listall=True
)
+
+ self.assertEqual(validateList(root_volume)[0],
+ PASS,
+ "list volume is empty for vmid %s" % vm_root.id
+ )
root_vm_new = VirtualMachine.create(
self.apiclient,
self.testdata["small"],
templateid=self.template.id,
- accountid=self.account.name,
- domainid=self.account.domainid,
+ accountid=self.admin_account.name,
+ domainid=self.admin_account.domainid,
serviceofferingid=self.service_offering.id,
zoneid=self.zone.id
)
@@ -249,6 +264,12 @@ class TestDisableEnableZone(cloudstackTestCase):
volumeid=root_volume[0].id,
listall=True)
+ self.assertEqual(validateList(snapshots)[0],
+ PASS,
+ "list snapshot is empty for volume id %s"
+ % root_volume[0].id
+ )
+
Template.create_from_snapshot(
self.apiclient,
snapshots[0],
@@ -258,29 +279,29 @@ class TestDisableEnableZone(cloudstackTestCase):
self.testdata["privatetemplate"]["url"] = builtin_info[0]
self.testdata["privatetemplate"]["hypervisor"] = builtin_info[1]
self.testdata["privatetemplate"]["format"] = builtin_info[2]
-
+ """
Template.register(
self.apiclient,
self.testdata["privatetemplate"],
zoneid=self.zone.id)
-
+ """
Volume.create(
self.apiclient,
self.testdata["volume"],
zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.account.domainid,
+ account=self.admin_account.name,
+ domainid=self.admin_account.domainid,
diskofferingid=self.disk_offering.id
)
-
+ """
Iso.create(
self.apiclient,
self.testdata["iso2"],
zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.account.domainid,
+ account=self.admin_account.name,
+ domainid=self.admin_account.domainid,
)
-
+ """
# non-admin user should fail to create vm, snap, temp etc
with self.assertRaises(Exception):
VirtualMachine.create(self.userapiclient,
@@ -298,6 +319,10 @@ class TestDisableEnableZone(cloudstackTestCase):
type='ROOT',
listall=True
)
+ self.assertEqual(validateList(root_volume)[0],
+ PASS,
+ "list volume is empty for vmid id %s" % vm_user.id
+ )
if self.snapshotSupported:
with self.assertRaises(Exception):
@@ -341,8 +366,8 @@ class TestDisableEnableZone(cloudstackTestCase):
self.apiclient,
self.testdata["small"],
templateid=self.template.id,
- accountid=self.account.name,
- domainid=self.account.domainid,
+ accountid=self.admin_account.name,
+ domainid=self.admin_account.domainid,
serviceofferingid=self.service_offering.id,
zoneid=self.zone.id
)
@@ -361,6 +386,12 @@ class TestDisableEnableZone(cloudstackTestCase):
volumeid=root_volume[0].id,
listall=True)
+ self.assertEqual(validateList(snapshots)[0],
+ PASS,
+ "list snapshot is empty for volume id %s"
+ % root_volume[0].id
+ )
+
Template.create_from_snapshot(
self.apiclient,
snapshots[0],
@@ -375,8 +406,8 @@ class TestDisableEnableZone(cloudstackTestCase):
self.apiclient,
self.testdata["volume"],
zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.account.domainid,
+ account=self.admin_account.name,
+ domainid=self.admin_account.domainid,
diskofferingid=self.disk_offering.id
)
@@ -384,8 +415,8 @@ class TestDisableEnableZone(cloudstackTestCase):
self.apiclient,
self.testdata["iso2"],
zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.account.domainid,
+ account=self.admin_account.name,
+ domainid=self.admin_account.domainid,
)
# Non root user
@@ -413,6 +444,12 @@ class TestDisableEnableZone(cloudstackTestCase):
volumeid=root_volume[0].id,
listall=True)
+ self.assertEqual(validateList(snapshots)[0],
+ PASS,
+ "list snapshot is empty for volume id %s"
+ % root_volume[0].id
+ )
+
Template.register(
self.userapiclient,
self.testdata["privatetemplate"],
@@ -451,6 +488,10 @@ class TestDisableEnablePod(cloudstackTestCase):
cls.testdata = testClient.getParsedTestDataConfig()
cls.hypervisor = cls.testClient.getHypervisorInfo()
+ cls.snapshotSupported = True
+ if cls.hypervisor.lower() in ["hyperv", "lxc"]:
+ cls.snapshotSupported = False
+
# Get Zone, Domain and templates
cls.domain = get_domain(cls.apiclient)
cls.zone = get_zone(cls.apiclient, testClient.getZoneForTests())
@@ -486,6 +527,16 @@ class TestDisableEnablePod(cloudstackTestCase):
)
cls._cleanup.append(cls.account)
+ # Create root admin account
+
+ cls.admin_account = Account.create(
+ cls.apiclient,
+ cls.testdata["account2"],
+ admin=True
+
+ )
+ cls._cleanup.append(cls.admin_account)
+
# Create user api client of the account
cls.userapiclient = testClient.getUserApiClient(
UserName=cls.account.name,
@@ -556,8 +607,8 @@ class TestDisableEnablePod(cloudstackTestCase):
self.apiclient,
self.testdata["small"],
templateid=self.template.id,
- accountid=self.account.name,
- domainid=self.account.domainid,
+ accountid=self.admin_account.name,
+ domainid=self.admin_account.domainid,
serviceofferingid=self.service_offering.id,
zoneid=self.zone.id
)
@@ -584,18 +635,23 @@ class TestDisableEnablePod(cloudstackTestCase):
self.apiclient,
self.testdata["small"],
templateid=self.template.id,
- accountid=self.account.name,
- domainid=self.account.domainid,
+ accountid=self.admin_account.name,
+ domainid=self.admin_account.domainid,
serviceofferingid=self.service_offering.id,
zoneid=self.zone.id,
)
root_volume = list_volumes(
- self.userapiclient,
+ self.apiclient,
virtualmachineid=vm_root.id,
type='ROOT',
listall=True
)
+ self.assertEqual(
+ validateList(root_volume)[0],
+ PASS,
+ "list snapshot is empty for volume id %s" %
+ vm_root.id)
if self.snapshotSupported:
Snapshot.create(
@@ -606,6 +662,11 @@ class TestDisableEnablePod(cloudstackTestCase):
self.apiclient,
volumeid=root_volume[0].id,
listall=True)
+ self.assertEqual(
+ validateList(snapshots)[0],
+ PASS,
+ "list snapshot is empty for volume id %s" %
+ root_volume[0].id)
Template.create_from_snapshot(
self.apiclient,
@@ -626,8 +687,8 @@ class TestDisableEnablePod(cloudstackTestCase):
self.apiclient,
self.testdata["volume"],
zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.account.domainid,
+ account=self.admin_account.name,
+ domainid=self.admin_account.domainid,
diskofferingid=self.disk_offering.id
)
@@ -635,8 +696,8 @@ class TestDisableEnablePod(cloudstackTestCase):
self.apiclient,
self.testdata["iso2"],
zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.account.domainid,
+ account=self.admin_account.name,
+ domainid=self.admin_account.domainid,
)
with self.assertRaises(Exception):
@@ -656,36 +717,36 @@ class TestDisableEnablePod(cloudstackTestCase):
listall=True
)
+ self.assertEqual(validateList(root_volume)[0],
+ PASS,
+ "list volume is empty for volume id %s" % vm_user.id
+ )
if self.snapshotSupported:
- with self.assertRaises(Exception):
- Snapshot.create(
- self.userapiclient,
- root_volume[0].id)
-
- with self.assertRaises(Exception):
- Template.register(
+ Snapshot.create(
self.userapiclient,
- self.testdata["privatetemplate"],
- zoneid=self.zone.id)
+ root_volume[0].id)
- with self.assertRaises(Exception):
- Volume.create(
- self.userapiclient,
- self.testdata["volume"],
- zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.account.domainid,
- diskofferingid=self.disk_offering.id
- )
+ Template.register(
+ self.userapiclient,
+ self.testdata["privatetemplate"],
+ zoneid=self.zone.id)
- with self.assertRaises(Exception):
- Iso.create(
- self.userapiclient,
- self.testdata["iso2"],
- zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.account.domainid,
- )
+ Volume.create(
+ self.userapiclient,
+ self.testdata["volume"],
+ zoneid=self.zone.id,
+ account=self.account.name,
+ domainid=self.account.domainid,
+ diskofferingid=self.disk_offering.id
+ )
+
+ Iso.create(
+ self.userapiclient,
+ self.testdata["iso2"],
+ zoneid=self.zone.id,
+ account=self.account.name,
+ domainid=self.account.domainid,
+ )
# Step 2
cmd.allocationstate = ENABLED
@@ -701,8 +762,8 @@ class TestDisableEnablePod(cloudstackTestCase):
self.apiclient,
self.testdata["small"],
templateid=self.template.id,
- accountid=self.account.name,
- domainid=self.account.domainid,
+ accountid=self.admin_account.name,
+ domainid=self.admin_account.domainid,
serviceofferingid=self.service_offering.id,
zoneid=self.zone.id,
)
@@ -721,6 +782,12 @@ class TestDisableEnablePod(cloudstackTestCase):
volumeid=root_volume[0].id,
listall=True)
+ self.assertEqual(
+ validateList(snapshots)[0],
+ PASS,
+ "list snapshot is empty for volume id %s" %
+ root_volume[0].id)
+
Template.create_from_snapshot(
self.apiclient,
snapshots[0],
@@ -735,8 +802,8 @@ class TestDisableEnablePod(cloudstackTestCase):
self.apiclient,
self.testdata["volume"],
zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.account.domainid,
+ account=self.admin_account.name,
+ domainid=self.admin_account.domainid,
diskofferingid=self.disk_offering.id
)
@@ -744,8 +811,8 @@ class TestDisableEnablePod(cloudstackTestCase):
self.apiclient,
self.testdata["iso2"],
zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.account.domainid,
+ account=self.admin_account.name,
+ domainid=self.admin_account.domainid,
)
# Non root user
@@ -771,6 +838,11 @@ class TestDisableEnablePod(cloudstackTestCase):
self.userapiclient,
volumeid=root_volume[0].id,
listall=True)
+ self.assertEqual(
+ validateList(snapshots)[0],
+ PASS,
+ "list snapshot is empty for volume id %s" %
+ root_volume[0].id)
Template.register(
self.userapiclient,
@@ -811,6 +883,9 @@ class TestDisableEnableCluster(cloudstackTestCase):
cls.apiclient = testClient.getApiClient()
cls.testdata = testClient.getParsedTestDataConfig()
cls.hypervisor = cls.testClient.getHypervisorInfo()
+ cls.snapshotSupported = True
+ if cls.hypervisor.lower() in ["hyperv", "lxc"]:
+ cls.snapshotSupported = False
# Get Zone, Domain and templates
cls.domain = get_domain(cls.apiclient)
@@ -851,6 +926,17 @@ class TestDisableEnableCluster(cloudstackTestCase):
)
cls._cleanup.append(cls.account)
+ # Create root admin account
+
+ cls.admin_account = Account.create(
+ cls.apiclient,
+ cls.testdata["account2"],
+ admin=True
+
+ )
+
+ cls._cleanup.append(cls.admin_account)
+
# Create user api client of the account
cls.userapiclient = testClient.getUserApiClient(
UserName=cls.account.name,
@@ -929,6 +1015,7 @@ class TestDisableEnableCluster(cloudstackTestCase):
domainid=self.account.domainid,
serviceofferingid=self.service_offering.id,
zoneid=self.zone.id,
+ mode=self.zone.networktype
)
self.vm_list.append(vm_user)
@@ -937,10 +1024,11 @@ class TestDisableEnableCluster(cloudstackTestCase):
self.apiclient,
self.testdata["small"],
templateid=self.template.id,
- accountid=self.account.name,
- domainid=self.account.domainid,
+ accountid=self.admin_account.name,
+ domainid=self.admin_account.domainid,
serviceofferingid=self.service_offering.id,
zoneid=self.zone.id,
+ mode=self.zone.networktype
)
self.vm_list.append(vm_root)
@@ -955,7 +1043,8 @@ class TestDisableEnableCluster(cloudstackTestCase):
DISABLED,
"Check if the cluster is in disabled state"
)
- # Verify the exsisting vms should be running
+
+ # Verify the existing vms should be running
self.assertEqual(vm_user.state.lower(),
"running",
"Verify that the user vm is running")
@@ -968,19 +1057,25 @@ class TestDisableEnableCluster(cloudstackTestCase):
self.apiclient,
self.testdata["small"],
templateid=self.template.id,
- accountid=self.account.name,
- domainid=self.account.domainid,
+ accountid=self.admin_account.name,
+ domainid=self.admin_account.domainid,
serviceofferingid=self.service_offering.id,
zoneid=self.zone.id,
)
root_volume = list_volumes(
- self.userapiclient,
+ self.apiclient,
virtualmachineid=vm_root.id,
type='ROOT',
listall=True
)
+ self.assertEqual(
+ validateList(root_volume)[0],
+ PASS,
+ "list root volume response is empty for volume id %s" %
+ vm_root.id)
+
if self.snapshotSupported:
Snapshot.create(
self.apiclient,
@@ -990,6 +1085,11 @@ class TestDisableEnableCluster(cloudstackTestCase):
self.apiclient,
volumeid=root_volume[0].id,
listall=True)
+ self.assertEqual(
+ validateList(snapshots)[0],
+ PASS,
+ "list snapshot is empty for volume id %s" %
+ root_volume[0].id)
Template.create_from_snapshot(
self.apiclient,
@@ -1010,8 +1110,8 @@ class TestDisableEnableCluster(cloudstackTestCase):
self.apiclient,
self.testdata["volume"],
zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.account.domainid,
+ account=self.admin_account.name,
+ domainid=self.admin_account.domainid,
diskofferingid=self.disk_offering.id
)
@@ -1019,8 +1119,8 @@ class TestDisableEnableCluster(cloudstackTestCase):
self.apiclient,
self.testdata["iso2"],
zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.account.domainid,
+ account=self.admin_account.name,
+ domainid=self.admin_account.domainid,
)
# non-admin user should fail to create vm, snap, temp etc
@@ -1042,17 +1142,21 @@ class TestDisableEnableCluster(cloudstackTestCase):
listall=True
)
- if self.snapshotSupported:
- with self.assertRaises(Exception):
- Snapshot.create(
- self.userapiclient,
- root_volume[0].id)
+ self.assertEqual(
+ validateList(root_volume)[0],
+ PASS,
+ "list root volume response is empty for volume id %s" %
+ vm_user.id)
- with self.assertRaises(Exception):
- Template.register(
+ if self.snapshotSupported:
+ Snapshot.create(
self.userapiclient,
- self.testdata["privatetemplate"],
- zoneid=self.zone.id)
+ root_volume[0].id)
+
+ Template.register(
+ self.userapiclient,
+ self.testdata["privatetemplate"],
+ zoneid=self.zone.id)
Volume.create(
self.userapiclient,
@@ -1063,14 +1167,13 @@ class TestDisableEnableCluster(cloudstackTestCase):
diskofferingid=self.disk_offering.id
)
- with self.assertRaises(Exception):
- Iso.create(
- self.userapiclient,
- self.testdata["iso2"],
- zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.account.domainid,
- )
+ Iso.create(
+ self.userapiclient,
+ self.testdata["iso2"],
+ zoneid=self.zone.id,
+ account=self.account.name,
+ domainid=self.account.domainid,
+ )
# Step 2
cmd.allocationstate = ENABLED
@@ -1088,8 +1191,8 @@ class TestDisableEnableCluster(cloudstackTestCase):
self.apiclient,
self.testdata["small"],
templateid=self.template.id,
- accountid=self.account.name,
- domainid=self.account.domainid,
+ accountid=self.admin_account.name,
+ domainid=self.admin_account.domainid,
serviceofferingid=self.service_offering.id,
zoneid=self.zone.id,
)
@@ -1145,7 +1248,7 @@ class TestDisableEnableCluster(cloudstackTestCase):
"disconnected",
"Check if host in the cluster gets disconnected"
)
-
+ exception_list = []
for vm in self.vm_list:
try:
SshClient(
@@ -1154,11 +1257,12 @@ class TestDisableEnableCluster(cloudstackTestCase):
vm.username,
vm.password
)
+
except Exception as e:
- self.exception_list.append(e)
+ exception_list.append(e)
- self.assertEqual(self.exception_list,
- [],
+ self.assertEqual(len(exception_list),
+ 0,
"Check if vm's are accesible"
)
@@ -1187,19 +1291,18 @@ class TestDisableEnableCluster(cloudstackTestCase):
self.userapiclient,
root_volume[0].id)
- with self.assertRaises(Exception):
- Template.register(
- self.userapiclient,
- self.testdata["privatetemplate"],
- zoneid=self.zone.id)
+ Template.register(
+ self.userapiclient,
+ self.testdata["privatetemplate"],
+ zoneid=self.zone.id)
# Step 4
cmd.managedstate = "Managed"
self.apiclient.updateCluster(cmd)
# After changing the cluster's managestate to Managed hosts in the
# cluster takes some time to come back to Up state
- time.sleep(60)
- hostList = Host.list(self.apiclinet,
+ time.sleep(120)
+ hostList = Host.list(self.apiclient,
clusterid=self.cluster.id)
for host in hostList:
self.assertEqual(host.state.lower(),
@@ -1231,8 +1334,8 @@ class TestDisableEnableCluster(cloudstackTestCase):
self.apiclient,
self.testdata["small"],
templateid=self.template.id,
- accountid=self.account.name,
- domainid=self.account.domainid,
+ accountid=self.admin_account.name,
+ domainid=self.admin_account.domainid,
serviceofferingid=self.service_offering.id,
zoneid=self.zone.id,
)
@@ -1245,6 +1348,7 @@ class TestDisableEnableCluster(cloudstackTestCase):
# Deletion of zone should fail if resources are running on the zone
with self.assertRaises(Exception):
self.pod.delete(self.apiclient)
+
return
@@ -1257,6 +1361,10 @@ class TestDisableEnableHost(cloudstackTestCase):
cls.testdata = testClient.getParsedTestDataConfig()
cls.hypervisor = cls.testClient.getHypervisorInfo()
+ cls.snapshotSupported = True
+ if cls.hypervisor.lower() in ["hyperv", "lxc"]:
+ cls.snapshotSupported = False
+
# Get Zone, Domain and templates
cls.domain = get_domain(cls.apiclient)
cls.zone = get_zone(cls.apiclient, testClient.getZoneForTests())
@@ -1298,6 +1406,16 @@ class TestDisableEnableHost(cloudstackTestCase):
)
cls._cleanup.append(cls.account)
+ # Create root admin account
+
+ cls.admin_account = Account.create(
+ cls.apiclient,
+ cls.testdata["account2"],
+ admin=True
+
+ )
+ cls._cleanup.append(cls.admin_account)
+
# Create user api client of the account
cls.userapiclient = testClient.getUserApiClient(
UserName=cls.account.name,
@@ -1344,11 +1462,12 @@ class TestDisableEnableHost(cloudstackTestCase):
"""disable enable host
1. Disable host and verify following things:
For admin user:
- 1. Should be create to start/stop exsiting vms
- 2. Should be create to deploy new vm,
- snapshot on the same host
+ 1. Should be able to stop exsiting vms but can not start.
+ 2. Should not be able to deploy new vm,
+ and create snapshot on the same host
For Non-admin user:
- 1. Should be create to start/stop exsiting vms
+ 1. Should not be able to stop exsiting vms but
+ cant not start
2. Should not be create to deploy new vm,
snapshot on the same host
2. Enable the above disabled host and verify that:
@@ -1362,8 +1481,8 @@ class TestDisableEnableHost(cloudstackTestCase):
self.apiclient,
self.testdata["small"],
templateid=self.template.id,
- accountid=self.account.name,
- domainid=self.account.domainid,
+ accountid=self.admin_account.name,
+ domainid=self.admin_account.domainid,
serviceofferingid=self.service_offering.id,
zoneid=self.zone.id,
)
@@ -1423,8 +1542,8 @@ class TestDisableEnableHost(cloudstackTestCase):
self.apiclient,
self.testdata["small"],
templateid=self.template.id,
- accountid=self.account.name,
- domainid=self.account.domainid,
+ accountid=self.admin_account.name,
+ domainid=self.admin_account.domainid,
serviceofferingid=self.service_offering.id,
zoneid=self.zone.id,
hostid=hostid)
@@ -1436,13 +1555,40 @@ class TestDisableEnableHost(cloudstackTestCase):
listall=True
)
+ self.assertEqual(
+ validateList(root_volume)[0],
+ PASS,
+ "list root volume response is empty for volume id %s" %
+ vm_root.id)
+
if self.snapshotSupported:
- Snapshot.create(
- self.apiclient,
- root_volume[0].id)
+ with self.assertRaises(Exception):
+ Snapshot.create(
+ self.apiclient,
+ root_volume[0].id)
# non-admin user should fail to create vm, snap, temp etc
-
+ with self.assertRaises(Exception):
+ VirtualMachine.create(
+ self.apiclient,
+ self.testdata["small"],
+ templateid=self.template.id,
+ accountid=self.account.name,
+ domainid=self.account.domainid,
+ serviceofferingid=self.service_offering.id,
+ zoneid=self.zone.id,
+ hostid=hostid)
+ root_volume = list_volumes(
+ self.apiclient,
+ virtualmachineid=vm_user.id,
+ type='ROOT',
+ listall=True
+ )
+ self.assertEqual(
+ validateList(root_volume)[0],
+ PASS,
+ "list root volume response is empty for volume id %s" %
+ vm_user.id)
if self.snapshotSupported:
with self.assertRaises(Exception):
Snapshot.create(
@@ -1467,8 +1613,8 @@ class TestDisableEnableHost(cloudstackTestCase):
self.apiclient,
self.testdata["small"],
templateid=self.template.id,
- accountid=self.account.name,
- domainid=self.account.domainid,
+ accountid=self.admin_account.name,
+ domainid=self.admin_account.domainid,
serviceofferingid=self.service_offering.id,
zoneid=self.zone.id,
hostid=hostid)
@@ -1478,6 +1624,19 @@ class TestDisableEnableHost(cloudstackTestCase):
"running",
"Verify that admin should create new VM in running state")
+ root_volume = list_volumes(
+ self.apiclient,
+ virtualmachineid=vm_root.id,
+ type='ROOT',
+ listall=True
+ )
+
+ self.assertEqual(
+ validateList(root_volume)[0],
+ PASS,
+ "list root volume response is empty for volume id %s" %
+ vm_root.id)
+
if self.snapshotSupported:
Snapshot.create(
self.apiclient,
@@ -1498,6 +1657,18 @@ class TestDisableEnableHost(cloudstackTestCase):
"running",
"Verify that admin should create new VM")
+ root_volume = list_volumes(
+ self.apiclient,
+ virtualmachineid=vm_user.id,
+ type='ROOT',
+ listall=True
+ )
+
+ self.assertEqual(
+ validateList(root_volume)[0],
+ PASS,
+ "list root volume response is empty for volume id %s" %
+ vm_user.id)
if self.snapshotSupported:
Snapshot.create(
self.userapiclient,
[34/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
Merge branch 'findbugs-MF' of https://github.com/DaanHoogland/cloudstack
This close #520
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/a3fe76a4
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/a3fe76a4
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/a3fe76a4
Branch: refs/heads/dhcpoffload
Commit: a3fe76a4c4fde8219e571724cf35b86f040e34f9
Parents: 6c5bc96 8a88493
Author: Rajani Karuturi <ra...@gmail.com>
Authored: Wed Jun 24 16:29:34 2015 +0530
Committer: Rajani Karuturi <ra...@gmail.com>
Committed: Wed Jun 24 16:29:34 2015 +0530
----------------------------------------------------------------------
.../allocator/ClusterScopeStoragePoolAllocator.java | 1 -
.../networkservice/BareMetalResourceBase.java | 14 ++++----------
.../networkservice/BaremetalPxeManagerImpl.java | 8 +-------
3 files changed, 5 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
[46/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
findbugs: serializable fields
Signed-off-by: Daan Hoogland <da...@onecht.net>
This closes #533
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/f5847147
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/f5847147
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/f5847147
Branch: refs/heads/dhcpoffload
Commit: f5847147c0e8dfcd44b0c621e5932f8b3d5d394b
Parents: 582687f
Author: Daan Hoogland <da...@onecht.net>
Authored: Fri Jun 26 14:33:06 2015 +0200
Committer: Daan Hoogland <da...@onecht.net>
Committed: Fri Jun 26 15:11:16 2015 +0200
----------------------------------------------------------------------
api/src/com/cloud/agent/api/to/LoadBalancerTO.java | 4 ++++
utils/src/com/cloud/utils/Pair.java | 5 ++++-
2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f5847147/api/src/com/cloud/agent/api/to/LoadBalancerTO.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/agent/api/to/LoadBalancerTO.java b/api/src/com/cloud/agent/api/to/LoadBalancerTO.java
index 2bb1537..dffbc9e 100644
--- a/api/src/com/cloud/agent/api/to/LoadBalancerTO.java
+++ b/api/src/com/cloud/agent/api/to/LoadBalancerTO.java
@@ -311,6 +311,7 @@ public class LoadBalancerTO {
}
public static class CounterTO implements Serializable {
+ private static final long serialVersionUID = 2L;
private final String name;
private final String source;
private final String value;
@@ -335,6 +336,7 @@ public class LoadBalancerTO {
}
public static class ConditionTO implements Serializable {
+ private static final long serialVersionUID = 2L;
private final long threshold;
private final String relationalOperator;
private final CounterTO counter;
@@ -359,6 +361,7 @@ public class LoadBalancerTO {
}
public static class AutoScalePolicyTO implements Serializable {
+ private static final long serialVersionUID = 2L;
private final long id;
private final int duration;
private final int quietTime;
@@ -401,6 +404,7 @@ public class LoadBalancerTO {
}
public static class AutoScaleVmProfileTO implements Serializable {
+ private static final long serialVersionUID = 2L;
private final String zoneId;
private final String domainId;
private final String serviceOfferingId;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f5847147/utils/src/com/cloud/utils/Pair.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/Pair.java b/utils/src/com/cloud/utils/Pair.java
index 9deb896..73d3562 100644
--- a/utils/src/com/cloud/utils/Pair.java
+++ b/utils/src/com/cloud/utils/Pair.java
@@ -19,7 +19,10 @@
package com.cloud.utils;
-public class Pair<T, U> {
+import java.io.Serializable;
+
+public class Pair<T, U> implements Serializable {
+ private static final long serialVersionUID = 2L;
T t;
U u;
[11/50] [abbrv] git commit: updated refs/heads/dhcpoffload to 45721ae
Posted by ja...@apache.org.
findbugs: (un)boxing of long from string
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c0a10097
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c0a10097
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c0a10097
Branch: refs/heads/dhcpoffload
Commit: c0a10097403ee90d53d2471f6e069ab71009aaa5
Parents: fe4f0b1
Author: Daan Hoogland <da...@gmail.com>
Authored: Mon Jun 22 13:18:14 2015 +0200
Committer: Daan Hoogland <da...@gmail.com>
Committed: Mon Jun 22 13:18:14 2015 +0200
----------------------------------------------------------------------
.../lifecycle/ElastistorPrimaryDataStoreLifeCycle.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c0a10097/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/lifecycle/ElastistorPrimaryDataStoreLifeCycle.java
----------------------------------------------------------------------
diff --git a/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/lifecycle/ElastistorPrimaryDataStoreLifeCycle.java b/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/lifecycle/ElastistorPrimaryDataStoreLifeCycle.java
index 7254c2b..bbf35e6 100644
--- a/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/lifecycle/ElastistorPrimaryDataStoreLifeCycle.java
+++ b/plugins/storage/volume/cloudbyte/src/org/apache/cloudstack/storage/datastore/lifecycle/ElastistorPrimaryDataStoreLifeCycle.java
@@ -574,8 +574,9 @@ public class ElastistorPrimaryDataStoreLifeCycle implements PrimaryDataStoreLife
if(capacityIops != null){
long usedIops = _capacityMgr.getUsedIops(storagePoolVO);
+ long capacity = Long.parseLong(capacityIops);
- if (Long.valueOf(capacityIops) < usedIops) {
+ if (capacity < usedIops) {
throw new CloudRuntimeException("Cannot reduce the number of IOPS for this storage pool as it would lead to an insufficient number of IOPS");
}
@@ -583,7 +584,7 @@ public class ElastistorPrimaryDataStoreLifeCycle implements PrimaryDataStoreLife
if(updateTsmCmdResponse.getTsm(0).getUuid() != null){
// update the cloudstack db
- _storagePoolDao.updateCapacityIops(storagePool.getId(), Long.valueOf(capacityIops));
+ _storagePoolDao.updateCapacityIops(storagePool.getId(), capacity);
s_logger.info("elastistor TSM IOPS successfully updated");