git commit: updated refs/heads/pytest to 7c19ad3
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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