git commit: updated refs/heads/pytest to 7c19ad3

2014-09-18 Thread edison
Repository: cloudstack
Updated Branches:
  refs/heads/pytest 152c22603 -> 7c19ad3f1


skip one test case for now, which blocks forever


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

Branch: refs/heads/pytest
Commit: 7c19ad3f1aef91082470308111a376587c8acc49
Parents: 152c226
Author: Edison Su 
Authored: Thu Sep 18 07:40:14 2014 +
Committer: Edison Su 
Committed: Thu Sep 18 07:40:14 2014 +

--
 test/integration/smoke/test_affinity_groups.py | 1 -
 test/integration/smoke/test_vm_life_cycle.py   | 2 +-
 tools/marvin/marvin/utils.py   | 4 ++--
 3 files changed, 3 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7c19ad3f/test/integration/smoke/test_affinity_groups.py
--
diff --git a/test/integration/smoke/test_affinity_groups.py 
b/test/integration/smoke/test_affinity_groups.py
index a01beba..772ea3d 100644
--- a/test/integration/smoke/test_affinity_groups.py
+++ b/test/integration/smoke/test_affinity_groups.py
@@ -23,7 +23,6 @@ from marvin.lib.utils import *
 from marvin.lib.base import *
 from marvin.lib.common import *
 from marvin.sshClient import SshClient
-from nose.plugins.attrib import attr
 import pytest
 
 class TestDeployVmWithAffinityGroup(cloudstackTestCase):

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7c19ad3f/test/integration/smoke/test_vm_life_cycle.py
--
diff --git a/test/integration/smoke/test_vm_life_cycle.py 
b/test/integration/smoke/test_vm_life_cycle.py
index 650dcf6..f0656fe 100644
--- a/test/integration/smoke/test_vm_life_cycle.py
+++ b/test/integration/smoke/test_vm_life_cycle.py
@@ -359,7 +359,7 @@ class TestVMLifeCycle(cloudstackTestCase):
 raise Exception("Warning: Exception during cleanup : %s" % e)
 return
 
-@pytest.mark.tags(tags = ["devcloud", "advanced", "advancedns", "smoke", 
"basic", "sg"], required_hardware="false", BugId="CLOUDSTACK-6984")
+@pytest.mark.tags(tags = ["devcloud", "advanced", "advancedns", "smoke", 
"basic", "sg"], required_hardware="true", BugId="CLOUDSTACK-6984")
 def test_vm_life_cycle(self):
 self.stop_vm()
 self.start_vm()

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7c19ad3f/tools/marvin/marvin/utils.py
--
diff --git a/tools/marvin/marvin/utils.py b/tools/marvin/marvin/utils.py
index ef14730..fd40a8b 100644
--- a/tools/marvin/marvin/utils.py
+++ b/tools/marvin/marvin/utils.py
@@ -1,6 +1,6 @@
 __author__ = 'edison'
 import os
-from marvin.marvinPlugin import MarvinInit
+from marvin.marvinInit import MarvinInit
 from marvin.codes import FAILED
 
 def getMarvin():
@@ -43,4 +43,4 @@ def initTestClass(cls, idenifier):
 if cls.clstestclient is None:
 cls.clstestclient = marvinObj.getTestClient()
 
-marvinObj.getTestClient().identifier = idenifier
\ No newline at end of file
+marvinObj.getTestClient().identifier = idenifier



git commit: updated refs/heads/hotfix/4.4/CLOUDSTACK-7184 to a29f954

2014-09-18 Thread dahn
Repository: cloudstack
Updated Branches:
  refs/heads/hotfix/4.4/CLOUDSTACK-7184 d0b39df1c -> a29f954a2 (forced update)


CLOUDSTACK-7184 retry-wait loop config to deal with network glitches


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

Branch: refs/heads/hotfix/4.4/CLOUDSTACK-7184
Commit: a29f954a269c992307f0410df88ca4ac7a0b82a0
Parents: d04f59a
Author: Daan Hoogland 
Authored: Tue Sep 16 12:20:30 2014 +0200
Committer: Daan Hoogland 
Committed: Thu Sep 18 08:55:23 2014 +0200

--
 .../cloud/agent/manager/DirectAgentAttache.java | 20 +---
 .../xen/resource/CitrixResourceBase.java|  2 +-
 2 files changed, 18 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a29f954a/engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java
--
diff --git 
a/engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java 
b/engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java
index 7ca6929..2039a96 100755
--- a/engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java
+++ b/engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java
@@ -24,6 +24,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.log4j.Logger;
+import org.apache.cloudstack.framework.config.ConfigKey;
 import org.apache.cloudstack.managed.context.ManagedContextRunnable;
 
 import com.cloud.agent.api.Answer;
@@ -40,6 +41,10 @@ import com.cloud.resource.ServerResource;
 public class DirectAgentAttache extends AgentAttache {
 private final static Logger s_logger = 
Logger.getLogger(DirectAgentAttache.class);
 
+protected final ConfigKey _HostPingRetryCount = new 
ConfigKey("Advanced", Integer.class, "host.ping.retry.count", "0",
+"Number of times retrying a host ping while waiting for check 
results", true);
+protected final ConfigKey _HostPingRetryTimer = new 
ConfigKey("Advanced", Integer.class, "host.ping.retry.timer", "5",
+"Interval to wait before retrying a host ping while waiting for 
check results", true);
 ServerResource _resource;
 List> _futures = new ArrayList>();
 AgentManagerImpl _mgr;
@@ -96,7 +101,7 @@ public class DirectAgentAttache extends AgentAttache {
 if (answers != null && answers[0] instanceof StartupAnswer) {
 StartupAnswer startup = (StartupAnswer)answers[0];
 int interval = startup.getPingInterval();
-
_futures.add(_agentMgr.getCronJobPool().scheduleAtFixedRate(new PingTask(), 
interval, interval, TimeUnit.SECONDS));
+
_futures.add(_agentMgr.getCronJobPool().scheduleAtFixedRate(producePingTask(), 
interval, interval, TimeUnit.SECONDS));
 }
 } else {
 Command[] cmds = req.getCommands();
@@ -116,7 +121,7 @@ public class DirectAgentAttache extends AgentAttache {
 StartupAnswer startup = (StartupAnswer)answers[0];
 int interval = startup.getPingInterval();
 s_logger.info("StartupAnswer received " + startup.getHostId() + " 
Interval = " + interval);
-_futures.add(_agentMgr.getCronJobPool().scheduleAtFixedRate(new 
PingTask(), interval, interval, TimeUnit.SECONDS));
+
_futures.add(_agentMgr.getCronJobPool().scheduleAtFixedRate(producePingTask(), 
interval, interval, TimeUnit.SECONDS));
 }
 }
 
@@ -149,6 +154,9 @@ public class DirectAgentAttache extends AgentAttache {
 }
 }
 
+PingTask producePingTask() {
+return new PingTask();
+}
 protected class PingTask extends ManagedContextRunnable {
 @Override
 protected synchronized void runInContext() {
@@ -161,7 +169,13 @@ public class DirectAgentAttache extends AgentAttache {
 ServerResource resource = _resource;
 
 if (resource != null) {
-PingCommand cmd = resource.getCurrentStatus(_id);
+PingCommand cmd = null;
+int retried = 0;
+while ( cmd == null && ++retried < 
_HostPingRetryCount.value())
+{
+cmd = resource.getCurrentStatus(_id);
+Thread.sleep(1000*_HostPingRetryTimer.value());
+}
 if (cmd == null) {
 s_logger.warn("Unable to get current status on " + _id 
+ "(" + _name + ")");
 return;

http://git-wip-us.apache.org/repos/asf/cloudst

git commit: updated refs/heads/4.4 to a29f954

2014-09-18 Thread dahn
Repository: cloudstack
Updated Branches:
  refs/heads/4.4 d04f59a30 -> a29f954a2


CLOUDSTACK-7184 retry-wait loop config to deal with network glitches


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

Branch: refs/heads/4.4
Commit: a29f954a269c992307f0410df88ca4ac7a0b82a0
Parents: d04f59a
Author: Daan Hoogland 
Authored: Tue Sep 16 12:20:30 2014 +0200
Committer: Daan Hoogland 
Committed: Thu Sep 18 08:55:23 2014 +0200

--
 .../cloud/agent/manager/DirectAgentAttache.java | 20 +---
 .../xen/resource/CitrixResourceBase.java|  2 +-
 2 files changed, 18 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a29f954a/engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java
--
diff --git 
a/engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java 
b/engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java
index 7ca6929..2039a96 100755
--- a/engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java
+++ b/engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java
@@ -24,6 +24,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.log4j.Logger;
+import org.apache.cloudstack.framework.config.ConfigKey;
 import org.apache.cloudstack.managed.context.ManagedContextRunnable;
 
 import com.cloud.agent.api.Answer;
@@ -40,6 +41,10 @@ import com.cloud.resource.ServerResource;
 public class DirectAgentAttache extends AgentAttache {
 private final static Logger s_logger = 
Logger.getLogger(DirectAgentAttache.class);
 
+protected final ConfigKey _HostPingRetryCount = new 
ConfigKey("Advanced", Integer.class, "host.ping.retry.count", "0",
+"Number of times retrying a host ping while waiting for check 
results", true);
+protected final ConfigKey _HostPingRetryTimer = new 
ConfigKey("Advanced", Integer.class, "host.ping.retry.timer", "5",
+"Interval to wait before retrying a host ping while waiting for 
check results", true);
 ServerResource _resource;
 List> _futures = new ArrayList>();
 AgentManagerImpl _mgr;
@@ -96,7 +101,7 @@ public class DirectAgentAttache extends AgentAttache {
 if (answers != null && answers[0] instanceof StartupAnswer) {
 StartupAnswer startup = (StartupAnswer)answers[0];
 int interval = startup.getPingInterval();
-
_futures.add(_agentMgr.getCronJobPool().scheduleAtFixedRate(new PingTask(), 
interval, interval, TimeUnit.SECONDS));
+
_futures.add(_agentMgr.getCronJobPool().scheduleAtFixedRate(producePingTask(), 
interval, interval, TimeUnit.SECONDS));
 }
 } else {
 Command[] cmds = req.getCommands();
@@ -116,7 +121,7 @@ public class DirectAgentAttache extends AgentAttache {
 StartupAnswer startup = (StartupAnswer)answers[0];
 int interval = startup.getPingInterval();
 s_logger.info("StartupAnswer received " + startup.getHostId() + " 
Interval = " + interval);
-_futures.add(_agentMgr.getCronJobPool().scheduleAtFixedRate(new 
PingTask(), interval, interval, TimeUnit.SECONDS));
+
_futures.add(_agentMgr.getCronJobPool().scheduleAtFixedRate(producePingTask(), 
interval, interval, TimeUnit.SECONDS));
 }
 }
 
@@ -149,6 +154,9 @@ public class DirectAgentAttache extends AgentAttache {
 }
 }
 
+PingTask producePingTask() {
+return new PingTask();
+}
 protected class PingTask extends ManagedContextRunnable {
 @Override
 protected synchronized void runInContext() {
@@ -161,7 +169,13 @@ public class DirectAgentAttache extends AgentAttache {
 ServerResource resource = _resource;
 
 if (resource != null) {
-PingCommand cmd = resource.getCurrentStatus(_id);
+PingCommand cmd = null;
+int retried = 0;
+while ( cmd == null && ++retried < 
_HostPingRetryCount.value())
+{
+cmd = resource.getCurrentStatus(_id);
+Thread.sleep(1000*_HostPingRetryTimer.value());
+}
 if (cmd == null) {
 s_logger.warn("Unable to get current status on " + _id 
+ "(" + _name + ")");
 return;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a29f954a/plugins/hypervisors/xen/src/com/cloud/hyperv

[1/2] git commit: updated refs/heads/master to bfa36c0

2014-09-18 Thread bhaisaab
Repository: cloudstack
Updated Branches:
  refs/heads/master 032bce5b5 -> bfa36c028


CID-1116231: Use implicit lock, synchronize _key in Link

Signed-off-by: Rohit Yadav 


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

Branch: refs/heads/master
Commit: ec134cf0105c6c9a147825d22d8a5d95af44c855
Parents: 032bce5
Author: Rohit Yadav 
Authored: Thu Sep 18 11:21:09 2014 +0200
Committer: Rohit Yadav 
Committed: Thu Sep 18 11:21:57 2014 +0200

--
 utils/src/com/cloud/utils/nio/Link.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec134cf0/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 e4291d0..c295caf 100755
--- a/utils/src/com/cloud/utils/nio/Link.java
+++ b/utils/src/com/cloud/utils/nio/Link.java
@@ -92,7 +92,9 @@ public class Link {
 }
 
 public void setKey(SelectionKey key) {
-_key = key;
+synchronized (this) {
+_key = key;
+}
 }
 
 public void setSSLEngine(SSLEngine sslEngine) {



[2/2] git commit: updated refs/heads/master to bfa36c0

2014-09-18 Thread bhaisaab
CID-1233090, CID-1233089: Synchronize on session object in ApiServer

Signed-off-by: Rohit Yadav 


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

Branch: refs/heads/master
Commit: bfa36c028049d2d3854d9c58a1fc9f9015e87a79
Parents: ec134cf
Author: Rohit Yadav 
Authored: Thu Sep 18 11:26:20 2014 +0200
Committer: Rohit Yadav 
Committed: Thu Sep 18 11:26:20 2014 +0200

--
 server/src/com/cloud/api/ApiServer.java | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bfa36c02/server/src/com/cloud/api/ApiServer.java
--
diff --git a/server/src/com/cloud/api/ApiServer.java 
b/server/src/com/cloud/api/ApiServer.java
index 4357230..4b770fc 100755
--- a/server/src/com/cloud/api/ApiServer.java
+++ b/server/src/com/cloud/api/ApiServer.java
@@ -937,13 +937,16 @@ public class ApiServer extends ManagerBase implements 
HttpRequestHandler, ApiSer
 response.setTimeout(session.getMaxInactiveInterval());
 
 final String user_UUID = (String)session.getAttribute("user_UUID");
-session.removeAttribute("user_UUID");
 response.setUserId(user_UUID);
 
 final String domain_UUID = (String)session.getAttribute("domain_UUID");
-session.removeAttribute("domain_UUID");
 response.setDomainId(domain_UUID);
 
+synchronized (session) {
+session.removeAttribute("user_UUID");
+session.removeAttribute("domain_UUID");
+}
+
 final Enumeration attrNames = session.getAttributeNames();
 if (attrNames != null) {
 while (attrNames.hasMoreElements()) {



git commit: updated refs/heads/master to b1d0df1

2014-09-18 Thread bhaisaab
Repository: cloudstack
Updated Branches:
  refs/heads/master bfa36c028 -> b1d0df16c


CID-1116258: Guard _storagePools using synchronized in KVMStoragePoolManager

Signed-off-by: Rohit Yadav 


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

Branch: refs/heads/master
Commit: b1d0df16cf26ffa0f7b077c5966e50c8ede1ef98
Parents: bfa36c0
Author: Rohit Yadav 
Authored: Thu Sep 18 11:48:11 2014 +0200
Committer: Rohit Yadav 
Committed: Thu Sep 18 11:48:11 2014 +0200

--
 .../com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java  | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b1d0df16/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java
--
diff --git 
a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java
 
b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java
index f44bb03..ab819b2 100644
--- 
a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java
+++ 
b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java
@@ -300,7 +300,9 @@ public class KVMStoragePoolManager {
 StorageAdaptor adaptor = getStorageAdaptor(type);
 _haMonitor.removeStoragePool(uuid);
 adaptor.deleteStoragePool(uuid);
-_storagePools.remove(uuid);
+synchronized (_storagePools) {
+_storagePools.remove(uuid);
+}
 return true;
 }
 



git commit: updated refs/heads/master to bd17528

2014-09-18 Thread bhaisaab
Repository: cloudstack
Updated Branches:
  refs/heads/master b1d0df16c -> bd1752811


CID-1116250: Lock on s_appContextDelegates before calling get in 
ComponentContext

Signed-off-by: Rohit Yadav 


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

Branch: refs/heads/master
Commit: bd1752811c899d17e6a58bda782c5afd1c27ad6d
Parents: b1d0df1
Author: Rohit Yadav 
Authored: Thu Sep 18 11:52:18 2014 +0200
Committer: Rohit Yadav 
Committed: Thu Sep 18 11:52:18 2014 +0200

--
 utils/src/com/cloud/utils/component/ComponentContext.java | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bd175281/utils/src/com/cloud/utils/component/ComponentContext.java
--
diff --git a/utils/src/com/cloud/utils/component/ComponentContext.java 
b/utils/src/com/cloud/utils/component/ComponentContext.java
index 7f9dc11..b041ecf 100644
--- a/utils/src/com/cloud/utils/component/ComponentContext.java
+++ b/utils/src/com/cloud/utils/component/ComponentContext.java
@@ -245,8 +245,10 @@ public class ComponentContext implements 
ApplicationContextAware {
 private static ApplicationContext getApplicationContext(Object instance) {
 ApplicationContext result = null;
 
-if (instance != null && s_appContextDelegates != null) {
-result = s_appContextDelegates.get(instance.getClass());
+synchronized (s_appContextDelegates) {
+if (instance != null && s_appContextDelegates != null) {
+result = s_appContextDelegates.get(instance.getClass());
+}
 }
 
 return result == null ? s_appContext : result;



git commit: updated refs/heads/master to 3640c61

2014-09-18 Thread bhaisaab
Repository: cloudstack
Updated Branches:
  refs/heads/master bd1752811 -> 3640c6120


CID-1116248: Synchornize method in SynchronousListener

Signed-off-by: Rohit Yadav 


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

Branch: refs/heads/master
Commit: 3640c61207540ebc51fede387d8b6ff2b9b840fa
Parents: bd17528
Author: Rohit Yadav 
Authored: Thu Sep 18 11:54:31 2014 +0200
Committer: Rohit Yadav 
Committed: Thu Sep 18 11:54:31 2014 +0200

--
 .../src/com/cloud/agent/manager/SynchronousListener.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3640c612/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 2146b00..11d278c 100755
--- a/engine/orchestration/src/com/cloud/agent/manager/SynchronousListener.java
+++ b/engine/orchestration/src/com/cloud/agent/manager/SynchronousListener.java
@@ -57,7 +57,7 @@ public class SynchronousListener implements Listener {
 return false;
 }
 
-public boolean isDisconnected() {
+public synchronized boolean isDisconnected() {
 return _disconnected;
 }
 



git commit: updated refs/heads/master to 2cd99e3

2014-09-18 Thread bhaisaab
Repository: cloudstack
Updated Branches:
  refs/heads/master 3640c6120 -> 2cd99e3e7


CID-1116245: Lock for getting answers from SynchronousListener

Signed-off-by: Rohit Yadav 


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

Branch: refs/heads/master
Commit: 2cd99e3e72c5e896ae2009793e3ff019066a1807
Parents: 3640c61
Author: Rohit Yadav 
Authored: Thu Sep 18 11:56:29 2014 +0200
Committer: Rohit Yadav 
Committed: Thu Sep 18 11:56:29 2014 +0200

--
 .../src/com/cloud/agent/manager/SynchronousListener.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2cd99e3e/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 11d278c..5da1b27 100755
--- a/engine/orchestration/src/com/cloud/agent/manager/SynchronousListener.java
+++ b/engine/orchestration/src/com/cloud/agent/manager/SynchronousListener.java
@@ -48,7 +48,7 @@ public class SynchronousListener implements Listener {
 return _peer;
 }
 
-public Answer[] getAnswers() {
+public synchronized Answer[] getAnswers() {
 return _answers;
 }
 



git commit: updated refs/heads/master to dec9133

2014-09-18 Thread dahn
Repository: cloudstack
Updated Branches:
  refs/heads/master 2cd99e3e7 -> dec9133dc


CLOUDSTACK-7184: xenheartbeat gets passed timeout and interval
(cherry picked from commit 4d065b9a3a336d59902c266202c1094509c007d2)

Conflicts:

plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/discoverer/XcpServerDiscoverer.java

plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
server/src/com/cloud/configuration/Config.java
server/src/com/cloud/configuration/ConfigurationManagerImpl.java
server/src/com/cloud/resource/DiscovererBase.java


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

Branch: refs/heads/master
Commit: dec9133dcd8e2625295075ad0afe54812bc9fe00
Parents: 2cd99e3
Author: Daan Hoogland 
Authored: Tue Sep 9 22:19:54 2014 +0200
Committer: Daan Hoogland 
Committed: Thu Sep 18 12:51:10 2014 +0200

--
 .../xenserver/discoverer/XcpServerDiscoverer.java   |  1 +
 .../xenserver/resource/CitrixResourceBase.java  |  8 ++--
 scripts/vm/hypervisor/xenserver/launch_hb.sh|  7 ++-
 scripts/vm/hypervisor/xenserver/vmopspremium|  3 ++-
 scripts/vm/hypervisor/xenserver/xenheartbeat.sh | 12 
 server/src/com/cloud/configuration/Config.java  | 10 +-
 .../cloud/configuration/ConfigurationManagerImpl.java   |  1 +
 server/src/com/cloud/resource/DiscovererBase.java   |  1 +
 .../root/redundant_router/check_heartbeat.sh.templ  |  4 ++--
 9 files changed, 36 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dec9133d/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/discoverer/XcpServerDiscoverer.java
--
diff --git 
a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/discoverer/XcpServerDiscoverer.java
 
b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/discoverer/XcpServerDiscoverer.java
index 26b443a..45cdaf9 100755
--- 
a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/discoverer/XcpServerDiscoverer.java
+++ 
b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/discoverer/XcpServerDiscoverer.java
@@ -346,6 +346,7 @@ public class XcpServerDiscoverer extends DiscovererBase 
implements Discoverer, L
 details.put("wait", Integer.toString(_wait));
 params.put("migratewait", 
_configDao.getValue(Config.MigrateWait.toString()));
 params.put(Config.XenServerMaxNics.toString().toLowerCase(), 
_configDao.getValue(Config.XenServerMaxNics.toString()));
+
params.put(Config.XenServerHeartBeatTimeout.toString().toLowerCase(), 
_configDao.getValue(Config.XenServerHeartBeatTimeout.toString()));
 
params.put(Config.XenServerHeartBeatInterval.toString().toLowerCase(), 
_configDao.getValue(Config.XenServerHeartBeatInterval.toString()));
 params.put(Config.InstanceName.toString().toLowerCase(), 
_instance);
 details.put(Config.InstanceName.toString().toLowerCase(), 
_instance);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dec9133d/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 b12dc24..f5a2ea4 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
@@ -285,6 +285,7 @@ public abstract class CitrixResourceBase implements 
ServerResource, HypervisorRe
 protected IAgentControl _agentControl;
 
 final int _maxWeight = 256;
+protected int _heartbeatTimeout = 120;
 protected int _heartbeatInterval = 60;
 protected final XsHost _host = new XsHost();
 
@@ -4494,8 +4495,10 @@ public abstract class CitrixResourceBase implements 
ServerResource, HypervisorRe
 }
 
 protected boolean launchHeartBeat(Connection conn) {
-String result = callHostPluginPremium(conn, "heartbeat", "host", 
_host.uuid, "interval", Integer
-.toString(_heartbeatInterval));
+String result = callHostPluginPremium(conn, "heartbeat",
+"host", _host.uuid,
+"tim

[1/2] git commit: updated refs/heads/master to 7f44085

2014-09-18 Thread dahn
Repository: cloudstack
Updated Branches:
  refs/heads/master dec9133dc -> 7f440854f


CLOUDSTACK-7527 reboot faster by writing to /proc/sysrq-trigger

(cherry picked from commit d04f59a30d130dbb83f162af6e67334fe2c9cef0)


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

Branch: refs/heads/master
Commit: 6e1e56d399a7f2bfdc24528f58394bb9169e4b10
Parents: dec9133
Author: Daan Hoogland 
Authored: Wed Sep 10 11:46:46 2014 +0200
Committer: Daan Hoogland 
Committed: Thu Sep 18 12:51:42 2014 +0200

--
 scripts/vm/hypervisor/xenserver/xenheartbeat.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6e1e56d3/scripts/vm/hypervisor/xenserver/xenheartbeat.sh
--
diff --git a/scripts/vm/hypervisor/xenserver/xenheartbeat.sh 
b/scripts/vm/hypervisor/xenserver/xenheartbeat.sh
index 88f4841..b4ef56e 100755
--- a/scripts/vm/hypervisor/xenserver/xenheartbeat.sh
+++ b/scripts/vm/hypervisor/xenserver/xenheartbeat.sh
@@ -109,4 +109,4 @@ do
 done
 
 /usr/bin/logger -t heartbeat "Problem with $hb: not reachable for $(($(date 
+%s) - $lastdate)) seconds, rebooting system!"
-reboot -f
+echo b > /proc/sysrq-trigger
\ No newline at end of file



[2/2] git commit: updated refs/heads/master to 7f44085

2014-09-18 Thread dahn
CLOUDSTACK-7184 retry-wait loop config to deal with network glitches

(cherry picked from commit a29f954a269c992307f0410df88ca4ac7a0b82a0)

Conflicts:
engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java


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

Branch: refs/heads/master
Commit: 7f440854f7bcd41a1bd6581c0239cde2e98261b7
Parents: 6e1e56d
Author: Daan Hoogland 
Authored: Tue Sep 16 12:20:30 2014 +0200
Committer: Daan Hoogland 
Committed: Thu Sep 18 12:55:05 2014 +0200

--
 .../com/cloud/agent/manager/DirectAgentAttache.java   | 14 --
 .../xenserver/resource/CitrixResourceBase.java|  2 +-
 2 files changed, 13 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7f440854/engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java
--
diff --git 
a/engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java 
b/engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java
index fa89841..6cfe01f 100755
--- a/engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java
+++ b/engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java
@@ -24,7 +24,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.log4j.Logger;
-
+import org.apache.cloudstack.framework.config.ConfigKey;
 import org.apache.cloudstack.managed.context.ManagedContextRunnable;
 
 import com.cloud.agent.api.Answer;
@@ -41,6 +41,10 @@ import com.cloud.resource.ServerResource;
 public class DirectAgentAttache extends AgentAttache {
 private final static Logger s_logger = 
Logger.getLogger(DirectAgentAttache.class);
 
+protected final ConfigKey _HostPingRetryCount = new 
ConfigKey("Advanced", Integer.class, "host.ping.retry.count", "0",
+"Number of times retrying a host ping while waiting for check 
results", true);
+protected final ConfigKey _HostPingRetryTimer = new 
ConfigKey("Advanced", Integer.class, "host.ping.retry.timer", "5",
+"Interval to wait before retrying a host ping while waiting for 
check results", true);
 ServerResource _resource;
 List> _futures = new ArrayList>();
 AgentManagerImpl _mgr;
@@ -162,7 +166,13 @@ public class DirectAgentAttache extends AgentAttache {
 ServerResource resource = _resource;
 
 if (resource != null) {
-PingCommand cmd = resource.getCurrentStatus(_id);
+PingCommand cmd = null;
+int retried = 0;
+while ( cmd == null && ++retried < 
_HostPingRetryCount.value())
+{
+cmd = resource.getCurrentStatus(_id);
+Thread.sleep(1000*_HostPingRetryTimer.value());
+}
 if (cmd == null) {
 s_logger.warn("Unable to get current status on " + _id 
+ "(" + _name + ")");
 return;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7f440854/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 f5a2ea4..07b6f7f 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
@@ -4170,7 +4170,7 @@ public abstract class CitrixResourceBase implements 
ServerResource, HypervisorRe
 if (!pingXAPI()) {
 Thread.sleep(1000);
 if (!pingXAPI()) {
-s_logger.warn(" can not ping xenserver " + _host.uuid);
+s_logger.warn("can not ping xenserver " + _host.uuid);
 return null;
 }
 }



[2/2] git commit: updated refs/heads/bugfix/CS-7580 to 2aec165

2014-09-18 Thread hugo
Remove duplicate field in constructor


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

Branch: refs/heads/bugfix/CS-7580
Commit: 2aec1658e4b142405fba818ada7e772b6b71bea7
Parents: 66c5c31
Author: Hugo Trippaers 
Authored: Thu Sep 18 13:34:54 2014 +0200
Committer: Hugo Trippaers 
Committed: Thu Sep 18 13:34:54 2014 +0200

--
 .../cloud/agent/manager/AgentManagerImpl.java   | 23 
 .../manager/ClusteredAgentManagerImpl.java  | 57 ++--
 .../manager/ClusteredDirectAgentAttache.java|  9 ++--
 .../cloud/agent/manager/DirectAgentAttache.java |  6 +--
 4 files changed, 41 insertions(+), 54 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2aec1658/engine/orchestration/src/com/cloud/agent/manager/AgentManagerImpl.java
--
diff --git 
a/engine/orchestration/src/com/cloud/agent/manager/AgentManagerImpl.java 
b/engine/orchestration/src/com/cloud/agent/manager/AgentManagerImpl.java
index 9e8e026..c6664d9 100755
--- a/engine/orchestration/src/com/cloud/agent/manager/AgentManagerImpl.java
+++ b/engine/orchestration/src/com/cloud/agent/manager/AgentManagerImpl.java
@@ -191,12 +191,12 @@ public class AgentManagerImpl extends ManagerBase 
implements AgentManager, Handl
 protected final ConfigKey DirectAgentThreadCap = new 
ConfigKey("Advanced", Float.class, "direct.agent.thread.cap", "1",
 "Percentage (as a value between 0 and 1) of direct.agent.pool.size 
to be used as upper thread cap for a single direct agent to process requests", 
false);
 protected final ConfigKey CheckTxnBeforeSending = new 
ConfigKey(
-"Developer",
-Boolean.class,
-"check.txn.before.sending.agent.commands",
-"false",
-"This parameter allows developers to enable a check to see if a 
transaction wraps commands that are sent to the resource.  This is not to be 
enabled on production systems.",
-true);
+"Developer",
+Boolean.class,
+"check.txn.before.sending.agent.commands",
+"false",
+"This parameter allows developers to enable a check to see if a 
transaction wraps commands that are sent to the resource.  This is not to be 
enabled on production systems.",
+true);
 
 @Override
 public boolean configure(final String name, final Map 
params) throws ConfigurationException {
@@ -405,8 +405,8 @@ public class AgentManagerImpl extends ManagerBase 
implements AgentManager, Handl
 if (CheckTxnBeforeSending.value()) {
 if (!noDbTxn()) {
 throw new CloudRuntimeException("We do not allow transactions 
to be wrapped around commands sent to be executed on remote agents.  "
-+ "We cannot predict how long 
it takes a command to complete.  "
-+ "The transaction may be 
rolled back because the connection took too long.");
++ "We cannot predict how long it takes a command to 
complete.  "
++ "The transaction may be rolled back because the 
connection took too long.");
 }
 } else {
 assert noDbTxn() : "I know, I know.  Why are we so strict as to 
not allow txn across an agent call?  ...  Why are we so cruel ... Why are we 
such a dictator  Too bad... Sorry...but NO AGENT COMMANDS WRAPPED WITHIN DB 
TRANSACTIONS!";
@@ -707,12 +707,8 @@ public class AgentManagerImpl extends ManagerBase 
implements AgentManager, Handl
 }
 
 protected AgentAttache createAttacheForDirectConnect(Host host, 
ServerResource resource) throws ConnectionException {
-//if (resource instanceof DummySecondaryStorageResource || resource 
instanceof KvmDummyResourceBase) {
-//return new DummyAttache(this, host.getId(), false);
-//}
-
 s_logger.debug("create DirectAgentAttache for " + host.getId());
-DirectAgentAttache attache = new DirectAgentAttache(this, 
host.getId(), host.getName(), resource, host.isInMaintenanceStates(), this);
+DirectAgentAttache attache = new DirectAgentAttache(this, 
host.getId(), host.getName(), resource, host.isInMaintenanceStates());
 
 AgentAttache old = null;
 synchronized (_agents) {
@@ -1166,7 +1162,6 @@ public class AgentManagerImpl extends ManagerBase 
implements AgentManager, Handl
 
 if (s_logger.isDebugEnabled()) {
 if (cmd instanceof PingRoutingCommand) {
-final PingRoutingCommand ping = (PingRoutingCommand)cm

git commit: updated refs/heads/master to 4e07dd1

2014-09-18 Thread koushik
Repository: cloudstack
Updated Branches:
  refs/heads/master 7f440854f -> 4e07dd1dc


CLOUDSTACK-7581: Empty 'ID' parameters allowed in API calls
Fix is to fail API calls with empty 'id' parameter value upfront rather than 
going ahead and failing with NPE later on


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

Branch: refs/heads/master
Commit: 4e07dd1dc4b4618fff2ef25c846ce6b95a8e580d
Parents: 7f44085
Author: Koushik Das 
Authored: Thu Sep 18 17:10:25 2014 +0530
Committer: Koushik Das 
Committed: Thu Sep 18 17:10:25 2014 +0530

--
 server/src/com/cloud/api/dispatch/ParamProcessWorker.java | 2 --
 1 file changed, 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4e07dd1d/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
--
diff --git a/server/src/com/cloud/api/dispatch/ParamProcessWorker.java 
b/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
index 9a98f33..ff6d666 100644
--- a/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
+++ b/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
@@ -329,8 +329,6 @@ public class ParamProcessWorker implements DispatchWorker {
 field.set(cmdObj, listParam);
 break;
 case UUID:
-if (paramObj.toString().isEmpty())
-break;
 final Long internalId = 
translateUuidToInternalId(paramObj.toString(), annotation);
 field.set(cmdObj, internalId);
 break;



[1/2] git commit: updated refs/heads/bugfix/CS-7580 to 2aec165

2014-09-18 Thread hugo
Repository: cloudstack
Updated Branches:
  refs/heads/bugfix/CS-7580 [created] 2aec1658e


Fix a stupid bug i introduced


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

Branch: refs/heads/bugfix/CS-7580
Commit: 66c5c3151143606fb13a1eded5026327b2a89a6a
Parents: 2cd99e3
Author: Hugo Trippaers 
Authored: Thu Sep 18 12:37:35 2014 +0200
Committer: Hugo Trippaers 
Committed: Thu Sep 18 12:38:11 2014 +0200

--
 utils/src/com/cloud/utils/nio/NioClient.java | 35 ---
 1 file changed, 25 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/66c5c315/utils/src/com/cloud/utils/nio/NioClient.java
--
diff --git a/utils/src/com/cloud/utils/nio/NioClient.java 
b/utils/src/com/cloud/utils/nio/NioClient.java
index f4b1029..5b00105 100755
--- a/utils/src/com/cloud/utils/nio/NioClient.java
+++ b/utils/src/com/cloud/utils/nio/NioClient.java
@@ -36,6 +36,7 @@ public class NioClient extends NioConnection {
 
 protected String _host;
 protected String _bindAddress;
+protected SocketChannel _clientConnection;
 
 public NioClient(String name, String host, int port, int workers, 
HandlerFactory factory) {
 super(name, port, workers, factory);
@@ -51,47 +52,50 @@ public class NioClient extends NioConnection {
 _selector = Selector.open();
 Task task = null;
 
-try (SocketChannel sch = SocketChannel.open()) {
-sch.configureBlocking(true);
+try {
+_clientConnection = SocketChannel.open();
+_clientConnection.configureBlocking(true);
 s_logger.info("Connecting to " + _host + ":" + _port);
 
 if (_bindAddress != null) {
 s_logger.info("Binding outbound interface at " + _bindAddress);
 
 InetSocketAddress bindAddr = new 
InetSocketAddress(_bindAddress, 0);
-sch.socket().bind(bindAddr);
+_clientConnection.socket().bind(bindAddr);
 }
 
 InetSocketAddress peerAddr = new InetSocketAddress(_host, _port);
-sch.connect(peerAddr);
+_clientConnection.connect(peerAddr);
 
 SSLEngine sslEngine = null;
 // Begin SSL handshake in BLOCKING mode
-sch.configureBlocking(true);
+_clientConnection.configureBlocking(true);
 
 SSLContext sslContext = Link.initSSLContext(true);
 sslEngine = sslContext.createSSLEngine(_host, _port);
 sslEngine.setUseClientMode(true);
 
-Link.doHandshake(sch, sslEngine, true);
+Link.doHandshake(_clientConnection, sslEngine, true);
 s_logger.info("SSL: Handshake done");
 s_logger.info("Connected to " + _host + ":" + _port);
 
-
-sch.configureBlocking(false);
+_clientConnection.configureBlocking(false);
 Link link = new Link(peerAddr, this);
 link.setSSLEngine(sslEngine);
-SelectionKey key = sch.register(_selector, SelectionKey.OP_READ);
+SelectionKey key = _clientConnection.register(_selector, 
SelectionKey.OP_READ);
 link.setKey(key);
 key.attach(link);
 // Notice we've already connected due to the handshake, so let's 
get the
 // remaining task done
 task = _factory.create(Task.Type.CONNECT, link, null);
 } catch (GeneralSecurityException e) {
+_selector.close();
 throw new IOException("Failed to initialise security", e);
-} finally {
+} catch (IOException e) {
 _selector.close();
+throw e;
 }
+
 _executor.execute(task);
 }
 
@@ -104,4 +108,15 @@ public class NioClient extends NioConnection {
 protected void unregisterLink(InetSocketAddress saddr) {
 // don't do anything.
 }
+
+@Override
+public void cleanUp() throws IOException {
+super.cleanUp();
+if (_clientConnection != null) {
+_clientConnection.close();
+}
+s_logger.info("NioClient connection closed");
+
+}
+
 }



[2/2] git commit: updated refs/heads/master to 8a13f44

2014-09-18 Thread hugo
Fix a stupid bug i introduced


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

Branch: refs/heads/master
Commit: d1d8009c68fd870598cf0db2de4d2cb6b47edc72
Parents: 4e07dd1
Author: Hugo Trippaers 
Authored: Thu Sep 18 12:37:35 2014 +0200
Committer: Hugo Trippaers 
Committed: Thu Sep 18 16:02:26 2014 +0200

--
 utils/src/com/cloud/utils/nio/NioClient.java | 35 ---
 1 file changed, 25 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d1d8009c/utils/src/com/cloud/utils/nio/NioClient.java
--
diff --git a/utils/src/com/cloud/utils/nio/NioClient.java 
b/utils/src/com/cloud/utils/nio/NioClient.java
index f4b1029..5b00105 100755
--- a/utils/src/com/cloud/utils/nio/NioClient.java
+++ b/utils/src/com/cloud/utils/nio/NioClient.java
@@ -36,6 +36,7 @@ public class NioClient extends NioConnection {
 
 protected String _host;
 protected String _bindAddress;
+protected SocketChannel _clientConnection;
 
 public NioClient(String name, String host, int port, int workers, 
HandlerFactory factory) {
 super(name, port, workers, factory);
@@ -51,47 +52,50 @@ public class NioClient extends NioConnection {
 _selector = Selector.open();
 Task task = null;
 
-try (SocketChannel sch = SocketChannel.open()) {
-sch.configureBlocking(true);
+try {
+_clientConnection = SocketChannel.open();
+_clientConnection.configureBlocking(true);
 s_logger.info("Connecting to " + _host + ":" + _port);
 
 if (_bindAddress != null) {
 s_logger.info("Binding outbound interface at " + _bindAddress);
 
 InetSocketAddress bindAddr = new 
InetSocketAddress(_bindAddress, 0);
-sch.socket().bind(bindAddr);
+_clientConnection.socket().bind(bindAddr);
 }
 
 InetSocketAddress peerAddr = new InetSocketAddress(_host, _port);
-sch.connect(peerAddr);
+_clientConnection.connect(peerAddr);
 
 SSLEngine sslEngine = null;
 // Begin SSL handshake in BLOCKING mode
-sch.configureBlocking(true);
+_clientConnection.configureBlocking(true);
 
 SSLContext sslContext = Link.initSSLContext(true);
 sslEngine = sslContext.createSSLEngine(_host, _port);
 sslEngine.setUseClientMode(true);
 
-Link.doHandshake(sch, sslEngine, true);
+Link.doHandshake(_clientConnection, sslEngine, true);
 s_logger.info("SSL: Handshake done");
 s_logger.info("Connected to " + _host + ":" + _port);
 
-
-sch.configureBlocking(false);
+_clientConnection.configureBlocking(false);
 Link link = new Link(peerAddr, this);
 link.setSSLEngine(sslEngine);
-SelectionKey key = sch.register(_selector, SelectionKey.OP_READ);
+SelectionKey key = _clientConnection.register(_selector, 
SelectionKey.OP_READ);
 link.setKey(key);
 key.attach(link);
 // Notice we've already connected due to the handshake, so let's 
get the
 // remaining task done
 task = _factory.create(Task.Type.CONNECT, link, null);
 } catch (GeneralSecurityException e) {
+_selector.close();
 throw new IOException("Failed to initialise security", e);
-} finally {
+} catch (IOException e) {
 _selector.close();
+throw e;
 }
+
 _executor.execute(task);
 }
 
@@ -104,4 +108,15 @@ public class NioClient extends NioConnection {
 protected void unregisterLink(InetSocketAddress saddr) {
 // don't do anything.
 }
+
+@Override
+public void cleanUp() throws IOException {
+super.cleanUp();
+if (_clientConnection != null) {
+_clientConnection.close();
+}
+s_logger.info("NioClient connection closed");
+
+}
+
 }



[1/2] git commit: updated refs/heads/master to 8a13f44

2014-09-18 Thread hugo
Repository: cloudstack
Updated Branches:
  refs/heads/master 4e07dd1dc -> 8a13f44b4


Remove duplicate field in constructor


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

Branch: refs/heads/master
Commit: 8a13f44b440ee964262f5e2a7edc213953870d49
Parents: d1d8009
Author: Hugo Trippaers 
Authored: Thu Sep 18 13:34:54 2014 +0200
Committer: Hugo Trippaers 
Committed: Thu Sep 18 16:02:26 2014 +0200

--
 .../cloud/agent/manager/AgentManagerImpl.java   | 23 
 .../manager/ClusteredAgentManagerImpl.java  | 57 ++--
 .../manager/ClusteredDirectAgentAttache.java|  9 ++--
 .../cloud/agent/manager/DirectAgentAttache.java |  6 +--
 4 files changed, 41 insertions(+), 54 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8a13f44b/engine/orchestration/src/com/cloud/agent/manager/AgentManagerImpl.java
--
diff --git 
a/engine/orchestration/src/com/cloud/agent/manager/AgentManagerImpl.java 
b/engine/orchestration/src/com/cloud/agent/manager/AgentManagerImpl.java
index 9e8e026..c6664d9 100755
--- a/engine/orchestration/src/com/cloud/agent/manager/AgentManagerImpl.java
+++ b/engine/orchestration/src/com/cloud/agent/manager/AgentManagerImpl.java
@@ -191,12 +191,12 @@ public class AgentManagerImpl extends ManagerBase 
implements AgentManager, Handl
 protected final ConfigKey DirectAgentThreadCap = new 
ConfigKey("Advanced", Float.class, "direct.agent.thread.cap", "1",
 "Percentage (as a value between 0 and 1) of direct.agent.pool.size 
to be used as upper thread cap for a single direct agent to process requests", 
false);
 protected final ConfigKey CheckTxnBeforeSending = new 
ConfigKey(
-"Developer",
-Boolean.class,
-"check.txn.before.sending.agent.commands",
-"false",
-"This parameter allows developers to enable a check to see if a 
transaction wraps commands that are sent to the resource.  This is not to be 
enabled on production systems.",
-true);
+"Developer",
+Boolean.class,
+"check.txn.before.sending.agent.commands",
+"false",
+"This parameter allows developers to enable a check to see if a 
transaction wraps commands that are sent to the resource.  This is not to be 
enabled on production systems.",
+true);
 
 @Override
 public boolean configure(final String name, final Map 
params) throws ConfigurationException {
@@ -405,8 +405,8 @@ public class AgentManagerImpl extends ManagerBase 
implements AgentManager, Handl
 if (CheckTxnBeforeSending.value()) {
 if (!noDbTxn()) {
 throw new CloudRuntimeException("We do not allow transactions 
to be wrapped around commands sent to be executed on remote agents.  "
-+ "We cannot predict how long 
it takes a command to complete.  "
-+ "The transaction may be 
rolled back because the connection took too long.");
++ "We cannot predict how long it takes a command to 
complete.  "
++ "The transaction may be rolled back because the 
connection took too long.");
 }
 } else {
 assert noDbTxn() : "I know, I know.  Why are we so strict as to 
not allow txn across an agent call?  ...  Why are we so cruel ... Why are we 
such a dictator  Too bad... Sorry...but NO AGENT COMMANDS WRAPPED WITHIN DB 
TRANSACTIONS!";
@@ -707,12 +707,8 @@ public class AgentManagerImpl extends ManagerBase 
implements AgentManager, Handl
 }
 
 protected AgentAttache createAttacheForDirectConnect(Host host, 
ServerResource resource) throws ConnectionException {
-//if (resource instanceof DummySecondaryStorageResource || resource 
instanceof KvmDummyResourceBase) {
-//return new DummyAttache(this, host.getId(), false);
-//}
-
 s_logger.debug("create DirectAgentAttache for " + host.getId());
-DirectAgentAttache attache = new DirectAgentAttache(this, 
host.getId(), host.getName(), resource, host.isInMaintenanceStates(), this);
+DirectAgentAttache attache = new DirectAgentAttache(this, 
host.getId(), host.getName(), resource, host.isInMaintenanceStates());
 
 AgentAttache old = null;
 synchronized (_agents) {
@@ -1166,7 +1162,6 @@ public class AgentManagerImpl extends ManagerBase 
implements AgentManager, Handl
 
 if (s_logger.isDebugEnabled()) {
 if (cmd instanceof PingRoutingCommand)

[1/2] move certain tests which can not run in parallel

2014-09-18 Thread edison
Repository: cloudstack
Updated Branches:
  refs/heads/pytest 7c19ad3f1 -> eedbe4fee


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eedbe4fe/test/integration/smokeseq/test_network.py
--
diff --git a/test/integration/smokeseq/test_network.py 
b/test/integration/smokeseq/test_network.py
new file mode 100644
index 000..26d887e
--- /dev/null
+++ b/test/integration/smokeseq/test_network.py
@@ -0,0 +1,974 @@
+# 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.
+""" BVT tests for Network Life Cycle
+"""
+#Import Local Modules
+import marvin
+from marvin.codes import FAILED
+from marvin.cloudstackException import CloudstackAPIException
+from marvin.cloudstackTestCase import *
+from marvin.cloudstackAPI import *
+from marvin.sshClient import SshClient
+from marvin.lib.utils import *
+from marvin.lib.base import *
+from marvin.lib.common import *
+import pytest
+#Import System modules
+import time
+
+_multiprocess_shared_ = True
+
+
+class TestPublicIP(cloudstackTestCase):
+
+def setUp(self):
+self.apiclient = self.testClient.getApiClient()
+
+@classmethod
+def setUpClass(cls):
+testClient = super(TestPublicIP, cls).getClsTestClient()
+cls.apiclient = testClient.getApiClient()
+cls.services = testClient.getParsedTestDataConfig()
+
+# Get Zone, Domain and templates
+cls.domain = get_domain(cls.apiclient)
+cls.zone = get_zone(cls.apiclient, testClient.getZoneForTests())
+cls.services['mode'] = cls.zone.networktype
+# Create Accounts & networks
+cls.account = Account.create(
+cls.apiclient,
+cls.services["account"],
+admin=True,
+domainid=cls.domain.id
+)
+
+cls.user = Account.create(
+cls.apiclient,
+cls.services["account"],
+domainid=cls.domain.id
+)
+cls.services["network"]["zoneid"] = cls.zone.id
+
+cls.network_offering = NetworkOffering.create(
+cls.apiclient,
+cls.services["network_offering"],
+)
+# Enable Network offering
+cls.network_offering.update(cls.apiclient, state='Enabled')
+
+cls.services["network"]["networkoffering"] = cls.network_offering.id
+cls.account_network = Network.create(
+ cls.apiclient,
+ cls.services["network"],
+ cls.account.name,
+ cls.account.domainid
+ )
+cls.user_network = Network.create(
+ cls.apiclient,
+ cls.services["network"],
+ cls.user.name,
+ cls.user.domainid
+ )
+
+# Create Source NAT IP addresses
+account_src_nat_ip = PublicIPAddress.create(
+cls.apiclient,
+cls.account.name,
+cls.zone.id,
+cls.account.domainid
+)
+user_src_nat_ip = PublicIPAddress.create(
+cls.apiclient,
+cls.user.name,
+cls.zone.id,
+cls.user.domainid
+)
+cls._cleanup = [
+cls.account_network,
+cls.user_network,
+cls.account,
+cls.user,
+cls.network_offering
+

git commit: updated refs/heads/pytest to b155b8a

2014-09-18 Thread edison
Repository: cloudstack
Updated Branches:
  refs/heads/pytest eedbe4fee -> b155b8aea


disable debug in xdist


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

Branch: refs/heads/pytest
Commit: b155b8aea2d0a886494841c4c549119b776191e3
Parents: eedbe4f
Author: Edison Su 
Authored: Thu Sep 18 14:16:13 2014 -0700
Committer: Edison Su 
Committed: Thu Sep 18 14:16:13 2014 -0700

--
 tools/pytest-xdist/xdist/dsession.py | 4 ++--
 tools/pytest-xdist/xdist/remote.py   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b155b8ae/tools/pytest-xdist/xdist/dsession.py
--
diff --git a/tools/pytest-xdist/xdist/dsession.py 
b/tools/pytest-xdist/xdist/dsession.py
index 1d6b17a..09886f3 100644
--- a/tools/pytest-xdist/xdist/dsession.py
+++ b/tools/pytest-xdist/xdist/dsession.py
@@ -209,8 +209,8 @@ class DSession:
 def __init__(self, config):
 self.config = config
 self.log = py.log.Producer("dsession")
-#if not config.option.debug:
-#py.log.setconsumer(self.log._keywords, None)
+if not config.option.debug:
+py.log.setconsumer(self.log._keywords, None)
 self.shuttingdown = False
 self.countfailures = 0
 self.maxfail = config.getvalue("maxfail")

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b155b8ae/tools/pytest-xdist/xdist/remote.py
--
diff --git a/tools/pytest-xdist/xdist/remote.py 
b/tools/pytest-xdist/xdist/remote.py
index 55c1610..8fbbe23 100644
--- a/tools/pytest-xdist/xdist/remote.py
+++ b/tools/pytest-xdist/xdist/remote.py
@@ -13,8 +13,8 @@ class SlaveInteractor:
 self.config = config
 self.slaveid = config.slaveinput.get('slaveid', "?")
 self.log = py.log.Producer("slave-%s" % self.slaveid)
-#if not config.option.debug:
-#py.log.setconsumer(self.log._keywords, None)
+if not config.option.debug:
+py.log.setconsumer(self.log._keywords, None)
 self.channel = channel
 config.pluginmanager.register(self)
 



[2/2] git commit: updated refs/heads/pytest to eedbe4f

2014-09-18 Thread edison
move certain tests which can not run in parallel


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

Branch: refs/heads/pytest
Commit: eedbe4fee898ca8a2e2b9d30e2880872d7118d73
Parents: 7c19ad3
Author: Edison Su 
Authored: Thu Sep 18 14:13:24 2014 -0700
Committer: Edison Su 
Committed: Thu Sep 18 14:13:24 2014 -0700

--
 test/integration/smoke/test_network.py  | 974 ---
 .../smoke/test_non_contigiousvlan.py|  84 --
 .../integration/smoke/test_portable_publicip.py | 179 
 test/integration/smoke/test_vm_life_cycle.py|  36 +-
 test/integration/smokeseq/test_network.py   | 974 +++
 .../smokeseq/test_non_contigiousvlan.py |  84 ++
 .../smokeseq/test_portable_publicip.py  | 179 
 7 files changed, 1251 insertions(+), 1259 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eedbe4fe/test/integration/smoke/test_network.py
--
diff --git a/test/integration/smoke/test_network.py 
b/test/integration/smoke/test_network.py
deleted file mode 100644
index 26d887e..000
--- a/test/integration/smoke/test_network.py
+++ /dev/null
@@ -1,974 +0,0 @@
-# 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.
-""" BVT tests for Network Life Cycle
-"""
-#Import Local Modules
-import marvin
-from marvin.codes import FAILED
-from marvin.cloudstackException import CloudstackAPIException
-from marvin.cloudstackTestCase import *
-from marvin.cloudstackAPI import *
-from marvin.sshClient import SshClient
-from marvin.lib.utils import *
-from marvin.lib.base import *
-from marvin.lib.common import *
-import pytest
-#Import System modules
-import time
-
-_multiprocess_shared_ = True
-
-
-class TestPublicIP(cloudstackTestCase):
-
-def setUp(self):
-self.apiclient = self.testClient.getApiClient()
-
-@classmethod
-def setUpClass(cls):
-testClient = super(TestPublicIP, cls).getClsTestClient()
-cls.apiclient = testClient.getApiClient()
-cls.services = testClient.getParsedTestDataConfig()
-
-# Get Zone, Domain and templates
-cls.domain = get_domain(cls.apiclient)
-cls.zone = get_zone(cls.apiclient, testClient.getZoneForTests())
-cls.services['mode'] = cls.zone.networktype
-# Create Accounts & networks
-cls.account = Account.create(
-cls.apiclient,
-cls.services["account"],
-admin=True,
-domainid=cls.domain.id
-)
-
-cls.user = Account.create(
-cls.apiclient,
-cls.services["account"],
-domainid=cls.domain.id
-)
-cls.services["network"]["zoneid"] = cls.zone.id
-
-cls.network_offering = NetworkOffering.create(
-cls.apiclient,
-cls.services["network_offering"],
-)
-# Enable Network offering
-cls.network_offering.update(cls.apiclient, state='Enabled')
-
-cls.services["network"]["networkoffering"] = cls.network_offering.id
-cls.account_network = Network.create(
- cls.apiclient,
- cls.services["network"],
- cls.account.name,
- cls.account.domainid
- )
-cls.user_network = Network.create(
- cls.apiclient,
- cls.services["network"],
- cls.user.nam

git commit: updated refs/heads/master to d315a5e

2014-09-18 Thread frankzhang
Repository: cloudstack
Updated Branches:
  refs/heads/master 8a13f44b4 -> d315a5e2c


CLOUDSTACK-7522 : Update package.sh to exit rpm with return 1, if there are 
failure in build


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

Branch: refs/heads/master
Commit: d315a5e2c9fe24b299078190ad9f860c70c26647
Parents: 8a13f44
Author: rayeesn 
Authored: Thu Sep 18 08:31:16 2014 -0700
Committer: Frank.Zhang 
Committed: Thu Sep 18 16:01:53 2014 -0700

--
 packaging/centos63/package.sh | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d315a5e2/packaging/centos63/package.sh
--
diff --git a/packaging/centos63/package.sh b/packaging/centos63/package.sh
index 6de66e6..6a2d168 100755
--- a/packaging/centos63/package.sh
+++ b/packaging/centos63/package.sh
@@ -76,8 +76,14 @@ function packaging() {
 
 (cd $RPMDIR; rpmbuild --define "_topdir $RPMDIR" "${DEFVER}" "${DEFREL}" 
${DEFPRE+"${DEFPRE}"} ${DEFOSSNOSS+"$DEFOSSNOSS"} "${DOS}" -bb SPECS/cloud.spec)
 
-echo "Done"
+if [ $? -ne 0 ]; then
+echo "RPM Build Failed "
+exit 1
+else
+echo "RPM Build Done"
+fi
 exit
+
 }
 
 if [ $# -lt 1 ] ; then



[3/3] git commit: updated refs/heads/master to b11e3bc

2014-09-18 Thread frankzhang
CLOUDSTACK-6278
Baremetal Advanced Networking support


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

Branch: refs/heads/master
Commit: 8b89494a350979162d986edb5125970222895324
Parents: d315a5e
Author: Frank Zhang 
Authored: Wed Sep 17 12:39:21 2014 -0700
Committer: Frank Zhang 
Committed: Thu Sep 18 16:54:37 2014 -0700

--
 .../core/spring-baremetal-core-context.xml  |   8 +-
 .../baremetal/manager/BaremetalVlanManager.java |   3 +
 .../manager/BaremetalVlanManagerImpl.java   |  12 +-
 .../networkservice/BareMetalResourceBase.java   |   2 +-
 .../BaremetalKickStartServiceImpl.java  |  14 +--
 .../networkservice/BaremetalPxeElement.java |   5 +-
 .../Force10BaremetalSwitchBackend.java  | 116 ++-
 scripts/network/ping/baremetal_snat.sh  |  21 +++-
 scripts/network/ping/prepare_pxe.sh |  45 +++
 .../patches/debian/config/etc/dnsmasq.conf.tmpl |   6 +-
 .../com/cloud/utils/xmlobject/XmlObject.java|  15 ++-
 .../cloud/utils/xmlobject/XmlObjectParser.java  |  22 ++--
 .../cloud/utils/xmlobject/TestXmlObject.java|   5 +
 13 files changed, 182 insertions(+), 92 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8b89494a/plugins/hypervisors/baremetal/resources/META-INF/cloudstack/core/spring-baremetal-core-context.xml
--
diff --git 
a/plugins/hypervisors/baremetal/resources/META-INF/cloudstack/core/spring-baremetal-core-context.xml
 
b/plugins/hypervisors/baremetal/resources/META-INF/cloudstack/core/spring-baremetal-core-context.xml
index ae28efa..a153e7f 100755
--- 
a/plugins/hypervisors/baremetal/resources/META-INF/cloudstack/core/spring-baremetal-core-context.xml
+++ 
b/plugins/hypervisors/baremetal/resources/META-INF/cloudstack/core/spring-baremetal-core-context.xml
@@ -28,7 +28,13 @@
   >
 
 
-
+
+   
+   
+   
+   
+   
+
 
 
 http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8b89494a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManager.java
--
diff --git 
a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManager.java
 
b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManager.java
index 1662668..9527f08 100755
--- 
a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManager.java
+++ 
b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManager.java
@@ -18,6 +18,7 @@
 package com.cloud.baremetal.manager;
 
 import com.cloud.baremetal.networkservice.BaremetalRctResponse;
+import com.cloud.baremetal.networkservice.BaremetalSwitchBackend;
 import com.cloud.deploy.DeployDestination;
 import com.cloud.network.Network;
 import com.cloud.utils.component.Manager;
@@ -36,4 +37,6 @@ public interface BaremetalVlanManager extends Manager, 
PluggableService {
 void prepareVlan(Network nw, DeployDestination destHost);
 
 void releaseVlan(Network nw, VirtualMachineProfile vm);
+
+void registerSwitchBackend(BaremetalSwitchBackend backend);
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8b89494a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java
--
diff --git 
a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java
 
b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java
index 0334fb3..6cb91f8 100755
--- 
a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java
+++ 
b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java
@@ -47,7 +47,6 @@ import javax.inject.Inject;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
@@ -69,13 +68,17 @@ public class BaremetalVlanManagerImpl extends ManagerBase 
implements BaremetalVl
 @Inject
 private AccountManager acntMgr;
 
-private Map backends = new HashMap<>();
+private Map backends;
 
 private class RackPair {
 BaremetalRct.Rack rack;
 BaremetalRct.HostEntry host;
 }
 
+public void setBackends(Map backends) {
+this.backends = backends;
+}
+
 @Override
 public BaremetalRctResponse addRct(AddBaremetalRctC

[1/3] git commit: updated refs/heads/master to b11e3bc

2014-09-18 Thread frankzhang
Repository: cloudstack
Updated Branches:
  refs/heads/master d315a5e2c -> b11e3bc60


CLOUDSTACK-6278
Baremetal Advanced Networking support


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

Branch: refs/heads/master
Commit: b11e3bc60a03f02af8731404c4929bed50136c03
Parents: bc2ec23
Author: Frank Zhang 
Authored: Thu Sep 18 16:40:04 2014 -0700
Committer: Frank Zhang 
Committed: Thu Sep 18 16:54:37 2014 -0700

--
 api/src/com/cloud/event/EventTypes.java |  1 +
 .../baremetal/manager/BaremetalManager.java |  3 +
 .../baremetal/manager/BaremetalManagerImpl.java | 42 ++
 .../networkservice/BareMetalResourceBase.java   | 45 ++
 .../BaremetalKickStartServiceImpl.java  |  9 +-
 .../BaremetalProvisionDoneNotificationCmd.java  | 87 
 server/src/com/cloud/configuration/Config.java  | 36 
 .../VirtualNetworkApplianceManagerImpl.java |  4 +-
 8 files changed, 210 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b11e3bc6/api/src/com/cloud/event/EventTypes.java
--
diff --git a/api/src/com/cloud/event/EventTypes.java 
b/api/src/com/cloud/event/EventTypes.java
index 7477152..3a1d58a 100755
--- a/api/src/com/cloud/event/EventTypes.java
+++ b/api/src/com/cloud/event/EventTypes.java
@@ -454,6 +454,7 @@ public class EventTypes {
 public static final String EVENT_BAREMETAL_PXE_SERVER_ADD = 
"PHYSICAL.PXE.ADD";
 public static final String EVENT_BAREMETAL_PXE_SERVER_DELETE = 
"PHYSICAL.PXE.DELETE";
 public static final String EVENT_BAREMETAL_RCT_ADD = "BAREMETAL.RCT.ADD";
+public static final String EVENT_BAREMETAL_PROVISION_DONE = 
"BAREMETAL.PROVISION.DONE";
 
 public static final String EVENT_AFFINITY_GROUP_CREATE = "AG.CREATE";
 public static final String EVENT_AFFINITY_GROUP_DELETE = "AG.DELETE";

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b11e3bc6/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalManager.java
--
diff --git 
a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalManager.java
 
b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalManager.java
index 5db29d2..629153a 100755
--- 
a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalManager.java
+++ 
b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalManager.java
@@ -20,9 +20,12 @@ package com.cloud.baremetal.manager;
 
 import com.cloud.utils.component.Manager;
 import com.cloud.utils.component.PluggableService;
+import org.apache.cloudstack.api.BaremetalProvisionDoneNotificationCmd;
 
 public interface BaremetalManager extends Manager, PluggableService {
 public static final String EchoSecurityGroupAgent = 
"EchoSecurityGroupAgent";
 public static final String ExternalBaremetalSystemUrl = 
"ExternalBaremetalSystemUrl";
 public static final String DO_PXE = "doPxe";
+
+void notifyProvisionDone(BaremetalProvisionDoneNotificationCmd cmd);
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b11e3bc6/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalManagerImpl.java
--
diff --git 
a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalManagerImpl.java
 
b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalManagerImpl.java
index f6a4113..d4a75dc 100755
--- 
a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalManagerImpl.java
+++ 
b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalManagerImpl.java
@@ -26,6 +26,12 @@ import javax.ejb.Local;
 import javax.inject.Inject;
 import javax.naming.ConfigurationException;
 
+import com.cloud.utils.db.QueryBuilder;
+import com.cloud.utils.db.SearchCriteria;
+import com.cloud.utils.exception.CloudRuntimeException;
+import com.cloud.vm.VMInstanceVO;
+import com.cloud.vm.dao.VMInstanceDao;
+import org.apache.cloudstack.api.BaremetalProvisionDoneNotificationCmd;
 import org.apache.log4j.Logger;
 
 import org.apache.cloudstack.api.AddBaremetalHostCmd;
@@ -45,6 +51,8 @@ public class BaremetalManagerImpl extends ManagerBase 
implements BaremetalManage
 
 @Inject
 protected HostDao _hostDao;
+@Inject
+protected VMInstanceDao vmDao;
 
 @Override
 public boolean configure(String name, Map params) throws 
ConfigurationException {
@@ -107,6 +115,40 @@ public class BaremetalManagerImpl e

[2/3] git commit: updated refs/heads/master to b11e3bc

2014-09-18 Thread frankzhang
CLOUDSTACK-6278
Baremetal Advanced Networking support


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

Branch: refs/heads/master
Commit: bc2ec23d09e28b30a9cc3cb4a7d6f52c8e718fcf
Parents: 8b89494
Author: Frank Zhang 
Authored: Wed Sep 17 13:01:22 2014 -0700
Committer: Frank Zhang 
Committed: Thu Sep 18 16:54:37 2014 -0700

--
 .../com/cloud/deploy/DeploymentPlanningManagerImpl.java  | 11 +--
 1 file changed, 9 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bc2ec23d/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
--
diff --git a/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java 
b/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
index 9eaef1e..146352e 100755
--- a/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
+++ b/server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java
@@ -403,6 +403,15 @@ StateListener 
{
 s_logger.debug("The last host of this VM is UP and 
has enough capacity");
 s_logger.debug("Now checking for suitable pools 
under zone: " + host.getDataCenterId()
 + ", pod: " + host.getPodId() + ", 
cluster: " + host.getClusterId());
+
+Pod pod = _podDao.findById(host.getPodId());
+Cluster cluster = 
_clusterDao.findById(host.getClusterId());
+if (vm.getHypervisorType() == 
HypervisorType.BareMetal) {
+DeployDestination dest = new 
DeployDestination(dc, pod, cluster, host, new HashMap());
+s_logger.debug("Returning Deployment 
Destination: " + dest);
+return dest;
+}
+
 // search for storage under the zone, pod, cluster
 // of
 // the last host.
@@ -422,8 +431,6 @@ StateListener {
 suitableHosts, 
suitableVolumeStoragePools, avoids,
 getPlannerUsage(planner, vmProfile, 
plan, avoids), readyAndReusedVolumes);
 if (potentialResources != null) {
-Pod pod = 
_podDao.findById(host.getPodId());
-Cluster cluster = 
_clusterDao.findById(host.getClusterId());
 Map storageVolMap = 
potentialResources.second();
 // remove the reused vol<->pool from
 // destination, since we don't have to



git commit: updated refs/heads/master to 7537c33

2014-09-18 Thread sangeethah
Repository: cloudstack
Updated Branches:
  refs/heads/master b11e3bc60 -> 7537c33bc


CLOUDSTACK-7585 -Automation - Fix test_acl_sharednetwork.py and 
test_acl_sharednetwork_deployVM-impersonation.py to pick 'Shared Network' 
network offering when creating networks


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

Branch: refs/heads/master
Commit: 7537c33bcdda65672fdd8f81509e6885aa536932
Parents: b11e3bc
Author: Sangeetha Hariharan 
Authored: Thu Sep 18 17:44:07 2014 -0700
Committer: Sangeetha Hariharan 
Committed: Thu Sep 18 19:53:28 2014 -0700

--
 test/integration/component/test_acl_sharednetwork.py| 3 ++-
 .../test_acl_sharednetwork_deployVM-impersonation.py| 9 -
 2 files changed, 10 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7537c33b/test/integration/component/test_acl_sharednetwork.py
--
diff --git a/test/integration/component/test_acl_sharednetwork.py 
b/test/integration/component/test_acl_sharednetwork.py
index 12a590e..5d57f30 100644
--- a/test/integration/component/test_acl_sharednetwork.py
+++ b/test/integration/component/test_acl_sharednetwork.py
@@ -261,7 +261,8 @@ class TestSharedNetwork(cloudstackTestCase):
 
 list_shared_network_offerings_response = NetworkOffering.list(
  cls.apiclient,
- 
name="DefaultSharedNetworkOffering"
+ 
name="DefaultSharedNetworkOffering",
+
displayText="Offering for Shared networks"
  )
 
cls.shared_network_offering_id = 
list_shared_network_offerings_response[0].id

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7537c33b/test/integration/component/test_acl_sharednetwork_deployVM-impersonation.py
--
diff --git 
a/test/integration/component/test_acl_sharednetwork_deployVM-impersonation.py 
b/test/integration/component/test_acl_sharednetwork_deployVM-impersonation.py
index fba3d33..a05a2d8 100644
--- 
a/test/integration/component/test_acl_sharednetwork_deployVM-impersonation.py
+++ 
b/test/integration/component/test_acl_sharednetwork_deployVM-impersonation.py
@@ -261,8 +261,15 @@ class TestSharedNetworkImpersonation(cloudstackTestCase):
 
 list_shared_network_offerings_response = NetworkOffering.list(
  cls.apiclient,
- 
name="DefaultSharedNetworkOffering"
+
name="DefaultSharedNetworkOffering",
+ 
displayText="Offering for Shared networks"
  )
+#Override name parameter so that there is no overlap with names 
being used in other shared network test suites
+
cls.acldata["network_all"]["name"]=cls.acldata["network_all"]["name"]+"-impersonation"
+
cls.acldata["network_domain_with_no_subdomain_access"]["name"]=cls.acldata["network_domain_with_no_subdomain_access"]["name"]+"-impersonation"
+
cls.acldata["network_domain_with_subdomain_access"]["name"]=cls.acldata["network_domain_with_subdomain_access"]["name"]+"-impersonation"
+
cls.acldata["network_account"]["name"]=cls.acldata["network_account"]["name"]+"-impersonation"
+
cls.shared_network_offering_id = 
list_shared_network_offerings_response[0].id
 cls.shared_network_all = Network.create(
  cls.apiclient,



git commit: updated refs/heads/master to 18e5aa1

2014-09-18 Thread mtutkowski
Repository: cloudstack
Updated Branches:
  refs/heads/master 7537c33bc -> 18e5aa116


Fixing an issue around VMware system templates


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

Branch: refs/heads/master
Commit: 18e5aa116e99906f24a292bf7546809e05c72ec2
Parents: 7537c33
Author: Mike Tutkowski 
Authored: Thu Sep 18 18:57:12 2014 -0600
Committer: Mike Tutkowski 
Committed: Thu Sep 18 19:38:59 2014 -0600

--
 .../hypervisor/vmware/resource/VmwareResource.java  | 16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/18e5aa11/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
--
diff --git 
a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
 
b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
index 7474d5c..489cf43 100755
--- 
a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
+++ 
b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
@@ -1549,7 +1549,7 @@ public class VmwareResource implements 
StoragePoolResource, ServerResource, Vmwa
 if (vol.getType() == Volume.Type.ISO)
 continue;
 
-VirtualMachineDiskInfo matchingExistingDisk = 
getMatchingExistingDisk(diskInfoBuilder, vol);
+VirtualMachineDiskInfo matchingExistingDisk = 
getMatchingExistingDisk(diskInfoBuilder, vol, hyperHost, context);
 controllerKey = getDiskController(matchingExistingDisk, vol, 
vmSpec, ideControllerKey, scsiControllerKey);
 
 if (!hasSnapshot) {
@@ -1682,7 +1682,7 @@ public class VmwareResource implements 
StoragePoolResource, ServerResource, Vmwa
 
 Map iqnToPath = new HashMap();
 
-postDiskConfigBeforeStart(vmMo, vmSpec, sortedDisks, 
ideControllerKey, scsiControllerKey, iqnToPath);
+postDiskConfigBeforeStart(vmMo, vmSpec, sortedDisks, 
ideControllerKey, scsiControllerKey, iqnToPath, hyperHost, context);
 
 //
 // Power-on VM
@@ -1996,10 +1996,14 @@ public class VmwareResource implements 
StoragePoolResource, ServerResource, Vmwa
 }
 }
 
-private VirtualMachineDiskInfo 
getMatchingExistingDisk(VirtualMachineDiskInfoBuilder diskInfoBuilder, DiskTO 
vol) {
+private VirtualMachineDiskInfo 
getMatchingExistingDisk(VirtualMachineDiskInfoBuilder diskInfoBuilder, DiskTO 
vol,
+VmwareHypervisorHost hyperHost, VmwareContext context) throws 
Exception {
 if (diskInfoBuilder != null) {
 VolumeObjectTO volume = (VolumeObjectTO)vol.getData();
-String dsName = volume.getDataStore().getUuid().replace("-", "");
+
+ManagedObjectReference morDs = 
HypervisorHostHelper.findDatastoreWithBackwardsCompatibility(hyperHost, 
volume.getDataStore().getUuid());
+DatastoreMO dsMo = new DatastoreMO(context, morDs);
+String dsName = dsMo.getName();
 
 Map details = vol.getDetails();
 boolean isManaged = details != null && 
Boolean.parseBoolean(details.get(DiskTO.MANAGED));
@@ -2079,7 +2083,7 @@ public class VmwareResource implements 
StoragePoolResource, ServerResource, Vmwa
 }
 
 private void postDiskConfigBeforeStart(VirtualMachineMO vmMo, 
VirtualMachineTO vmSpec, DiskTO[] sortedDisks, int ideControllerKey,
-int scsiControllerKey, Map iqnToPath) throws 
Exception {
+int scsiControllerKey, Map iqnToPath, 
VmwareHypervisorHost hyperHost, VmwareContext context) throws Exception {
 VirtualMachineDiskInfoBuilder diskInfoBuilder = 
vmMo.getDiskInfoBuilder();
 
 for (DiskTO vol : sortedDisks) {
@@ -2088,7 +2092,7 @@ public class VmwareResource implements 
StoragePoolResource, ServerResource, Vmwa
 
 VolumeObjectTO volumeTO = (VolumeObjectTO)vol.getData();
 
-VirtualMachineDiskInfo diskInfo = 
getMatchingExistingDisk(diskInfoBuilder, vol);
+VirtualMachineDiskInfo diskInfo = 
getMatchingExistingDisk(diskInfoBuilder, vol, hyperHost, context);
 assert (diskInfo != null);
 
 String[] diskChain = diskInfo.getDiskChain();



[2/2] git commit: updated refs/heads/master to d7f5a27

2014-09-18 Thread hugo
Merge branch 'bugfix/CID-1191682'


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

Branch: refs/heads/master
Commit: d7f5a2705e7ae0b8818585680fe4a8736bc15bb4
Parents: 18e5aa1 cf4ff03
Author: Hugo Trippaers 
Authored: Fri Sep 19 08:29:22 2014 +0200
Committer: Hugo Trippaers 
Committed: Fri Sep 19 08:29:22 2014 +0200

--
 .../cloud/api/dispatch/ParamProcessWorker.java  | 279 ++-
 1 file changed, 140 insertions(+), 139 deletions(-)
--




[1/2] git commit: updated refs/heads/master to d7f5a27

2014-09-18 Thread hugo
Repository: cloudstack
Updated Branches:
  refs/heads/master 18e5aa116 -> d7f5a2705


CID-1191682 Fix missing break statement


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

Branch: refs/heads/master
Commit: cf4ff03c9011862fb52e0cdab888d86a277ef35b
Parents: 18e5aa1
Author: Hugo Trippaers 
Authored: Fri Sep 19 08:28:42 2014 +0200
Committer: Hugo Trippaers 
Committed: Fri Sep 19 08:28:42 2014 +0200

--
 .../cloud/api/dispatch/ParamProcessWorker.java  | 279 ++-
 1 file changed, 140 insertions(+), 139 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/cf4ff03c/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
--
diff --git a/server/src/com/cloud/api/dispatch/ParamProcessWorker.java 
b/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
index ff6d666..6eb53e0 100644
--- a/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
+++ b/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
@@ -100,8 +100,8 @@ public class ParamProcessWorker implements DispatchWorker {
 if (paramObj == null) {
 if (parameterAnnotation.required()) {
 throw new ServerApiException(ApiErrorCode.PARAM_ERROR, 
"Unable to execute API command " +
-cmd.getCommandName().substring(0, 
cmd.getCommandName().length() - 8) +
-" due to missing parameter " + 
parameterAnnotation.name());
+cmd.getCommandName().substring(0, 
cmd.getCommandName().length() - 8) +
+" due to missing parameter " + 
parameterAnnotation.name());
 }
 continue;
 }
@@ -115,17 +115,17 @@ public class ParamProcessWorker implements DispatchWorker 
{
 parameterAnnotation.name());
 }
 throw new ServerApiException(ApiErrorCode.PARAM_ERROR, "Unable 
to execute API command " +
-cmd.getCommandName().substring(0, 
cmd.getCommandName().length() - 8) + " due to invalid value " + paramObj + " 
for parameter " +
-parameterAnnotation.name());
+cmd.getCommandName().substring(0, 
cmd.getCommandName().length() - 8) + " due to invalid value " + paramObj + " 
for parameter " +
+parameterAnnotation.name());
 } catch (final ParseException parseEx) {
 if (s_logger.isDebugEnabled()) {
 s_logger.debug("Invalid date parameter " + paramObj + " 
passed to command " + cmd.getCommandName().substring(0, 
cmd.getCommandName().length() - 8));
 }
 throw new ServerApiException(ApiErrorCode.PARAM_ERROR, "Unable 
to parse date " + paramObj + " for command " +
-cmd.getCommandName().substring(0, 
cmd.getCommandName().length() - 8) + ", please pass dates in the format 
mentioned in the api documentation");
+cmd.getCommandName().substring(0, 
cmd.getCommandName().length() - 8) + ", please pass dates in the format 
mentioned in the api documentation");
 } catch (final InvalidParameterValueException invEx) {
 throw new ServerApiException(ApiErrorCode.PARAM_ERROR, "Unable 
to execute API command " +
-cmd.getCommandName().substring(0, 
cmd.getCommandName().length() - 8) + " due to invalid value. " + 
invEx.getMessage());
+cmd.getCommandName().substring(0, 
cmd.getCommandName().length() - 8) + " due to invalid value. " + 
invEx.getMessage());
 } catch (final CloudRuntimeException cloudEx) {
 s_logger.error("CloudRuntimeException", cloudEx);
 // FIXME: Better error message? This only happens if the API 
command is not executable, which typically
@@ -133,7 +133,7 @@ public class ParamProcessWorker implements DispatchWorker {
 // there was
 // and IllegalAccessException setting one of the parameters.
 throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, 
"Internal error executing API command " +
-cmd.getCommandName().substring(0, 
cmd.getCommandName().length() - 8));
+cmd.getCommandName().substring(0, 
cmd.getCommandName().length() - 8));
 }
 
 //check access on the resource this field points to
@@ -157,46 +157,46 @@ public class ParamProcessWorker implements DispatchWorker 
{
 // Check if the parameter type is a single