You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ah...@apache.org on 2013/01/11 00:29:22 UTC
[7/7] git commit: more files changed
Updated Branches:
refs/heads/javelin f922c6fc0 -> fac227024
more files changed
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/fac22702
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/fac22702
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/fac22702
Branch: refs/heads/javelin
Commit: fac227024047fd128e7f34b5c6a619afea35191f
Parents: f922c6f
Author: Alex Huang <al...@citrix.com>
Authored: Thu Jan 10 15:29:14 2013 -0800
Committer: Alex Huang <al...@citrix.com>
Committed: Thu Jan 10 15:29:14 2013 -0800
----------------------------------------------------------------------
.../cloud/agent/manager/MockAgentManagerImpl.java | 759 +++---
.../agent/manager/MockStorageManagerImpl.java | 2304 ++++++++-------
.../com/cloud/agent/manager/MockVmManagerImpl.java | 501 ++--
.../cloud/agent/manager/SimulatorManagerImpl.java | 160 +-
.../com/cloud/api/commands/ConfigureSimulator.java | 13 +-
.../src/com/cloud/resource/AgentResourceBase.java | 427 ++--
.../com/cloud/resource/SimulatorDiscoverer.java | 379 ++--
.../resource/SimulatorSecondaryDiscoverer.java | 143 +-
.../src/com/cloud/simulator/SimulatorGuru.java | 12 +-
.../src/com/cloud/simulator/dao/MockVMDaoImpl.java | 2 +-
.../server/auth/SHA256SaltedUserAuthenticator.java | 152 +-
.../com/cloud/resource/ResourceManagerImpl.java | 42 +-
.../src/com/cloud/servlet/ConsoleProxyServlet.java | 12 +-
.../com/cloud/servlet/RegisterCompleteServlet.java | 177 +-
.../src/com/cloud/storage/StorageManagerImpl.java | 348 ++--
.../cloud/storage/StorageMigrationCleanupMaid.java | 121 -
.../GarbageCollectingStoragePoolAllocator.java | 70 +-
.../cloud/storage/listener/StoragePoolMonitor.java | 103 +-
.../resource/DummySecondaryStorageResource.java | 134 +-
server/src/com/cloud/test/DatabaseConfig.java | 1016 ++++----
server/src/com/cloud/test/IPRangeConfig.java | 898 +++---
server/src/com/cloud/test/PodZoneConfig.java | 696 +++---
server/src/com/cloud/vm/SystemVmLoadScanner.java | 100 +-
server/src/com/cloud/vm/UserVmManagerImpl.java | 5 +-
.../com/cloud/vm/VirtualMachineManagerImpl.java | 160 +-
server/test/com/cloud/async/TestAsync.java | 224 +-
26 files changed, 4443 insertions(+), 4515 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/fac22702/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java
index 506fbe0..0a9f93f 100755
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java
@@ -29,6 +29,7 @@ import java.util.concurrent.TimeUnit;
import java.util.regex.PatternSyntaxException;
import javax.ejb.Local;
+import javax.inject.Inject;
import javax.naming.ConfigurationException;
import org.apache.log4j.Logger;
@@ -43,9 +44,6 @@ import com.cloud.agent.api.GetHostStatsCommand;
import com.cloud.agent.api.HostStatsEntry;
import com.cloud.agent.api.MaintainAnswer;
import com.cloud.agent.api.PingTestCommand;
-import com.cloud.agent.api.PrepareForMigrationAnswer;
-import com.cloud.agent.api.PrepareForMigrationCommand;
-import com.cloud.agent.api.to.VirtualMachineTO;
import com.cloud.dc.dao.HostPodDao;
import com.cloud.host.Host;
import com.cloud.resource.AgentResourceBase;
@@ -58,7 +56,6 @@ import com.cloud.simulator.MockVMVO;
import com.cloud.simulator.dao.MockHostDao;
import com.cloud.simulator.dao.MockVMDao;
import com.cloud.utils.Pair;
-
import com.cloud.utils.concurrency.NamedThreadFactory;
import com.cloud.utils.db.DB;
import com.cloud.utils.db.Transaction;
@@ -67,393 +64,393 @@ import com.cloud.utils.net.NetUtils;
@Local(value = { MockAgentManager.class })
public class MockAgentManagerImpl implements MockAgentManager {
- private static final Logger s_logger = Logger.getLogger(MockAgentManagerImpl.class);
- @Inject
- HostPodDao _podDao = null;
- @Inject
- MockHostDao _mockHostDao = null;
- @Inject
- MockVMDao _mockVmDao = null;
- @Inject
- SimulatorManager _simulatorMgr = null;
- @Inject
- AgentManager _agentMgr = null;
- @Inject
- MockStorageManager _storageMgr = null;
- @Inject
- ResourceManager _resourceMgr;
- private SecureRandom random;
- private Map<String, AgentResourceBase> _resources = new ConcurrentHashMap<String, AgentResourceBase>();
- private ThreadPoolExecutor _executor;
-
- private Pair<String, Long> getPodCidr(long podId, long dcId) {
- try {
-
- HashMap<Long, List<Object>> podMap = _podDao.getCurrentPodCidrSubnets(dcId, 0);
- List<Object> cidrPair = podMap.get(podId);
- String cidrAddress = (String) cidrPair.get(0);
- Long cidrSize = (Long) cidrPair.get(1);
- return new Pair<String, Long>(cidrAddress, cidrSize);
- } catch (PatternSyntaxException e) {
- s_logger.error("Exception while splitting pod cidr");
- return null;
- } catch (IndexOutOfBoundsException e) {
- s_logger.error("Invalid pod cidr. Please check");
- return null;
- }
- }
-
- private String getIpAddress(long instanceId, long dcId, long podId) {
- Pair<String, Long> cidr = this.getPodCidr(podId, dcId);
- return NetUtils.long2Ip(NetUtils.ip2Long(cidr.first()) + instanceId);
- }
-
- private String getMacAddress(long dcId, long podId, long clusterId, int instanceId) {
- return NetUtils.long2Mac((dcId << 40 + podId << 32 + clusterId << 24 + instanceId));
- }
-
- public synchronized int getNextAgentId(long cidrSize) {
- return random.nextInt((int) cidrSize);
- }
-
- @Override
- @DB
- public Map<AgentResourceBase, Map<String, String>> createServerResources(Map<String, Object> params) {
-
- Map<String, String> args = new HashMap<String, String>();
- Map<AgentResourceBase, Map<String, String>> newResources = new HashMap<AgentResourceBase, Map<String, String>>();
- AgentResourceBase agentResource;
- long cpuCore = Long.parseLong((String) params.get("cpucore"));
- long cpuSpeed = Long.parseLong((String) params.get("cpuspeed"));
- long memory = Long.parseLong((String) params.get("memory"));
- long localStorageSize = Long.parseLong((String) params.get("localstorage"));
- synchronized (this) {
- long dataCenterId = Long.parseLong((String) params.get("zone"));
- long podId = Long.parseLong((String) params.get("pod"));
- long clusterId = Long.parseLong((String) params.get("cluster"));
- long cidrSize = getPodCidr(podId, dataCenterId).second();
-
- int agentId = getNextAgentId(cidrSize);
- String ipAddress = getIpAddress(agentId, dataCenterId, podId);
- String macAddress = getMacAddress(dataCenterId, podId, clusterId, agentId);
- MockHostVO mockHost = new MockHostVO();
- mockHost.setDataCenterId(dataCenterId);
- mockHost.setPodId(podId);
- mockHost.setClusterId(clusterId);
- mockHost.setCapabilities("hvm");
- mockHost.setCpuCount(cpuCore);
- mockHost.setCpuSpeed(cpuSpeed);
- mockHost.setMemorySize(memory);
- String guid = UUID.randomUUID().toString();
- mockHost.setGuid(guid);
- mockHost.setName("SimulatedAgent." + guid);
- mockHost.setPrivateIpAddress(ipAddress);
- mockHost.setPublicIpAddress(ipAddress);
- mockHost.setStorageIpAddress(ipAddress);
- mockHost.setPrivateMacAddress(macAddress);
- mockHost.setPublicMacAddress(macAddress);
- mockHost.setStorageMacAddress(macAddress);
- mockHost.setVersion(this.getClass().getPackage().getImplementationVersion());
- mockHost.setResource("com.cloud.agent.AgentRoutingResource");
-
- Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
- try {
- txn.start();
- mockHost = _mockHostDao.persist(mockHost);
- txn.commit();
- } catch (Exception ex) {
- txn.rollback();
- s_logger.error("Error while configuring mock agent " + ex.getMessage());
- throw new CloudRuntimeException("Error configuring agent", ex);
- } finally {
- txn.close();
+ private static final Logger s_logger = Logger.getLogger(MockAgentManagerImpl.class);
+ @Inject
+ HostPodDao _podDao = null;
+ @Inject
+ MockHostDao _mockHostDao = null;
+ @Inject
+ MockVMDao _mockVmDao = null;
+ @Inject
+ SimulatorManager _simulatorMgr = null;
+ @Inject
+ AgentManager _agentMgr = null;
+ @Inject
+ MockStorageManager _storageMgr = null;
+ @Inject
+ ResourceManager _resourceMgr;
+ private SecureRandom random;
+ private final Map<String, AgentResourceBase> _resources = new ConcurrentHashMap<String, AgentResourceBase>();
+ private ThreadPoolExecutor _executor;
+
+ private Pair<String, Long> getPodCidr(long podId, long dcId) {
+ try {
+
+ HashMap<Long, List<Object>> podMap = _podDao.getCurrentPodCidrSubnets(dcId, 0);
+ List<Object> cidrPair = podMap.get(podId);
+ String cidrAddress = (String) cidrPair.get(0);
+ Long cidrSize = (Long) cidrPair.get(1);
+ return new Pair<String, Long>(cidrAddress, cidrSize);
+ } catch (PatternSyntaxException e) {
+ s_logger.error("Exception while splitting pod cidr");
+ return null;
+ } catch (IndexOutOfBoundsException e) {
+ s_logger.error("Invalid pod cidr. Please check");
+ return null;
+ }
+ }
+
+ private String getIpAddress(long instanceId, long dcId, long podId) {
+ Pair<String, Long> cidr = this.getPodCidr(podId, dcId);
+ return NetUtils.long2Ip(NetUtils.ip2Long(cidr.first()) + instanceId);
+ }
+
+ private String getMacAddress(long dcId, long podId, long clusterId, int instanceId) {
+ return NetUtils.long2Mac((dcId << 40 + podId << 32 + clusterId << 24 + instanceId));
+ }
+
+ public synchronized int getNextAgentId(long cidrSize) {
+ return random.nextInt((int) cidrSize);
+ }
+
+ @Override
+ @DB
+ public Map<AgentResourceBase, Map<String, String>> createServerResources(Map<String, Object> params) {
+
+ Map<String, String> args = new HashMap<String, String>();
+ Map<AgentResourceBase, Map<String, String>> newResources = new HashMap<AgentResourceBase, Map<String, String>>();
+ AgentResourceBase agentResource;
+ long cpuCore = Long.parseLong((String) params.get("cpucore"));
+ long cpuSpeed = Long.parseLong((String) params.get("cpuspeed"));
+ long memory = Long.parseLong((String) params.get("memory"));
+ long localStorageSize = Long.parseLong((String) params.get("localstorage"));
+ synchronized (this) {
+ long dataCenterId = Long.parseLong((String) params.get("zone"));
+ long podId = Long.parseLong((String) params.get("pod"));
+ long clusterId = Long.parseLong((String) params.get("cluster"));
+ long cidrSize = getPodCidr(podId, dataCenterId).second();
+
+ int agentId = getNextAgentId(cidrSize);
+ String ipAddress = getIpAddress(agentId, dataCenterId, podId);
+ String macAddress = getMacAddress(dataCenterId, podId, clusterId, agentId);
+ MockHostVO mockHost = new MockHostVO();
+ mockHost.setDataCenterId(dataCenterId);
+ mockHost.setPodId(podId);
+ mockHost.setClusterId(clusterId);
+ mockHost.setCapabilities("hvm");
+ mockHost.setCpuCount(cpuCore);
+ mockHost.setCpuSpeed(cpuSpeed);
+ mockHost.setMemorySize(memory);
+ String guid = UUID.randomUUID().toString();
+ mockHost.setGuid(guid);
+ mockHost.setName("SimulatedAgent." + guid);
+ mockHost.setPrivateIpAddress(ipAddress);
+ mockHost.setPublicIpAddress(ipAddress);
+ mockHost.setStorageIpAddress(ipAddress);
+ mockHost.setPrivateMacAddress(macAddress);
+ mockHost.setPublicMacAddress(macAddress);
+ mockHost.setStorageMacAddress(macAddress);
+ mockHost.setVersion(this.getClass().getPackage().getImplementationVersion());
+ mockHost.setResource("com.cloud.agent.AgentRoutingResource");
+
+ Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
+ try {
+ txn.start();
+ mockHost = _mockHostDao.persist(mockHost);
+ txn.commit();
+ } catch (Exception ex) {
+ txn.rollback();
+ s_logger.error("Error while configuring mock agent " + ex.getMessage());
+ throw new CloudRuntimeException("Error configuring agent", ex);
+ } finally {
+ txn.close();
txn = Transaction.open(Transaction.CLOUD_DB);
txn.close();
- }
-
- _storageMgr.getLocalStorage(guid, localStorageSize);
-
- agentResource = new AgentRoutingResource();
- if (agentResource != null) {
- try {
- params.put("guid", mockHost.getGuid());
- agentResource.start();
- agentResource.configure(mockHost.getName(), params);
-
- newResources.put(agentResource, args);
- } catch (ConfigurationException e) {
- s_logger.error("error while configuring server resource" + e.getMessage());
- }
- }
- }
- return newResources;
- }
-
- @Override
- public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
- try {
- random = SecureRandom.getInstance("SHA1PRNG");
- _executor = new ThreadPoolExecutor(1, 5, 1, TimeUnit.DAYS, new LinkedBlockingQueue<Runnable>(),
- new NamedThreadFactory("Simulator-Agent-Mgr"));
- // ComponentLocator locator = ComponentLocator.getCurrentLocator();
- // _simulatorMgr = (SimulatorManager)
- // locator.getComponent(SimulatorManager.Name);
- } catch (NoSuchAlgorithmException e) {
- s_logger.debug("Failed to initialize random:" + e.toString());
- return false;
- }
- return true;
- }
-
- @Override
- public boolean handleSystemVMStart(long vmId, String privateIpAddress, String privateMacAddress,
- String privateNetMask, long dcId, long podId, String name, String vmType, String url) {
- _executor.execute(new SystemVMHandler(vmId, privateIpAddress, privateMacAddress, privateNetMask, dcId, podId,
- name, vmType, _simulatorMgr, url));
- return true;
- }
-
- @Override
- public boolean handleSystemVMStop(long vmId) {
- _executor.execute(new SystemVMHandler(vmId));
- return true;
- }
-
- private class SystemVMHandler implements Runnable {
- private long vmId;
- private String privateIpAddress;
- private String privateMacAddress;
- private String privateNetMask;
- private long dcId;
- private long podId;
- private String guid;
- private String name;
- private String vmType;
- private SimulatorManager mgr;
- private String mode;
- private String url;
-
- public SystemVMHandler(long vmId, String privateIpAddress, String privateMacAddress, String privateNetMask,
- long dcId, long podId, String name, String vmType, SimulatorManager mgr, String url) {
- this.vmId = vmId;
- this.privateIpAddress = privateIpAddress;
- this.privateMacAddress = privateMacAddress;
- this.privateNetMask = privateNetMask;
- this.dcId = dcId;
- this.guid = "SystemVM-" + UUID.randomUUID().toString();
- this.name = name;
- this.vmType = vmType;
- this.mgr = mgr;
- this.mode = "Start";
- this.url = url;
- this.podId = podId;
- }
-
- public SystemVMHandler(long vmId) {
- this.vmId = vmId;
- this.mode = "Stop";
- }
-
- @Override
- @DB
- public void run() {
-
- Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
- try {
- if (this.mode.equalsIgnoreCase("Stop")) {
- txn.start();
- MockHost host = _mockHostDao.findByVmId(this.vmId);
- if (host != null) {
- String guid = host.getGuid();
- if (guid != null) {
- AgentResourceBase res = _resources.get(guid);
- if (res != null) {
- res.stop();
- _resources.remove(guid);
- }
- }
- }
- txn.commit();
- return;
- }
- } catch (Exception ex) {
- txn.rollback();
- throw new CloudRuntimeException("Unable to get host " + guid + " due to " + ex.getMessage(), ex);
- } finally {
- txn.close();
+ }
+
+ _storageMgr.getLocalStorage(guid, localStorageSize);
+
+ agentResource = new AgentRoutingResource();
+ if (agentResource != null) {
+ try {
+ params.put("guid", mockHost.getGuid());
+ agentResource.start();
+ agentResource.configure(mockHost.getName(), params);
+
+ newResources.put(agentResource, args);
+ } catch (ConfigurationException e) {
+ s_logger.error("error while configuring server resource" + e.getMessage());
+ }
+ }
+ }
+ return newResources;
+ }
+
+ @Override
+ public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
+ try {
+ random = SecureRandom.getInstance("SHA1PRNG");
+ _executor = new ThreadPoolExecutor(1, 5, 1, TimeUnit.DAYS, new LinkedBlockingQueue<Runnable>(),
+ new NamedThreadFactory("Simulator-Agent-Mgr"));
+ // ComponentLocator locator = ComponentLocator.getCurrentLocator();
+ // _simulatorMgr = (SimulatorManager)
+ // locator.getComponent(SimulatorManager.Name);
+ } catch (NoSuchAlgorithmException e) {
+ s_logger.debug("Failed to initialize random:" + e.toString());
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public boolean handleSystemVMStart(long vmId, String privateIpAddress, String privateMacAddress,
+ String privateNetMask, long dcId, long podId, String name, String vmType, String url) {
+ _executor.execute(new SystemVMHandler(vmId, privateIpAddress, privateMacAddress, privateNetMask, dcId, podId,
+ name, vmType, _simulatorMgr, url));
+ return true;
+ }
+
+ @Override
+ public boolean handleSystemVMStop(long vmId) {
+ _executor.execute(new SystemVMHandler(vmId));
+ return true;
+ }
+
+ private class SystemVMHandler implements Runnable {
+ private final long vmId;
+ private String privateIpAddress;
+ private String privateMacAddress;
+ private String privateNetMask;
+ private long dcId;
+ private long podId;
+ private String guid;
+ private String name;
+ private String vmType;
+ private SimulatorManager mgr;
+ private final String mode;
+ private String url;
+
+ public SystemVMHandler(long vmId, String privateIpAddress, String privateMacAddress, String privateNetMask,
+ long dcId, long podId, String name, String vmType, SimulatorManager mgr, String url) {
+ this.vmId = vmId;
+ this.privateIpAddress = privateIpAddress;
+ this.privateMacAddress = privateMacAddress;
+ this.privateNetMask = privateNetMask;
+ this.dcId = dcId;
+ this.guid = "SystemVM-" + UUID.randomUUID().toString();
+ this.name = name;
+ this.vmType = vmType;
+ this.mgr = mgr;
+ this.mode = "Start";
+ this.url = url;
+ this.podId = podId;
+ }
+
+ public SystemVMHandler(long vmId) {
+ this.vmId = vmId;
+ this.mode = "Stop";
+ }
+
+ @Override
+ @DB
+ public void run() {
+
+ Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
+ try {
+ if (this.mode.equalsIgnoreCase("Stop")) {
+ txn.start();
+ MockHost host = _mockHostDao.findByVmId(this.vmId);
+ if (host != null) {
+ String guid = host.getGuid();
+ if (guid != null) {
+ AgentResourceBase res = _resources.get(guid);
+ if (res != null) {
+ res.stop();
+ _resources.remove(guid);
+ }
+ }
+ }
+ txn.commit();
+ return;
+ }
+ } catch (Exception ex) {
+ txn.rollback();
+ throw new CloudRuntimeException("Unable to get host " + guid + " due to " + ex.getMessage(), ex);
+ } finally {
+ txn.close();
txn = Transaction.open(Transaction.CLOUD_DB);
txn.close();
- }
-
- String resource = null;
- if (vmType.equalsIgnoreCase("secstorage")) {
- resource = "com.cloud.agent.AgentStorageResource";
- }
- MockHostVO mockHost = new MockHostVO();
- mockHost.setDataCenterId(this.dcId);
- mockHost.setPodId(this.podId);
- mockHost.setCpuCount(DEFAULT_HOST_CPU_CORES);
- mockHost.setCpuSpeed(DEFAULT_HOST_SPEED_MHZ);
- mockHost.setMemorySize(DEFAULT_HOST_MEM_SIZE);
- mockHost.setGuid(this.guid);
- mockHost.setName(name);
- mockHost.setPrivateIpAddress(this.privateIpAddress);
- mockHost.setPublicIpAddress(this.privateIpAddress);
- mockHost.setStorageIpAddress(this.privateIpAddress);
- mockHost.setPrivateMacAddress(this.privateMacAddress);
- mockHost.setPublicMacAddress(this.privateMacAddress);
- mockHost.setStorageMacAddress(this.privateMacAddress);
- mockHost.setVersion(this.getClass().getPackage().getImplementationVersion());
- mockHost.setResource(resource);
- mockHost.setVmId(vmId);
- Transaction simtxn = Transaction.open(Transaction.SIMULATOR_DB);
- try {
- simtxn.start();
- mockHost = _mockHostDao.persist(mockHost);
- simtxn.commit();
- } catch (Exception ex) {
- simtxn.rollback();
- throw new CloudRuntimeException("Unable to persist host " + mockHost.getGuid() + " due to "
- + ex.getMessage(), ex);
- } finally {
- simtxn.close();
+ }
+
+ String resource = null;
+ if (vmType.equalsIgnoreCase("secstorage")) {
+ resource = "com.cloud.agent.AgentStorageResource";
+ }
+ MockHostVO mockHost = new MockHostVO();
+ mockHost.setDataCenterId(this.dcId);
+ mockHost.setPodId(this.podId);
+ mockHost.setCpuCount(DEFAULT_HOST_CPU_CORES);
+ mockHost.setCpuSpeed(DEFAULT_HOST_SPEED_MHZ);
+ mockHost.setMemorySize(DEFAULT_HOST_MEM_SIZE);
+ mockHost.setGuid(this.guid);
+ mockHost.setName(name);
+ mockHost.setPrivateIpAddress(this.privateIpAddress);
+ mockHost.setPublicIpAddress(this.privateIpAddress);
+ mockHost.setStorageIpAddress(this.privateIpAddress);
+ mockHost.setPrivateMacAddress(this.privateMacAddress);
+ mockHost.setPublicMacAddress(this.privateMacAddress);
+ mockHost.setStorageMacAddress(this.privateMacAddress);
+ mockHost.setVersion(this.getClass().getPackage().getImplementationVersion());
+ mockHost.setResource(resource);
+ mockHost.setVmId(vmId);
+ Transaction simtxn = Transaction.open(Transaction.SIMULATOR_DB);
+ try {
+ simtxn.start();
+ mockHost = _mockHostDao.persist(mockHost);
+ simtxn.commit();
+ } catch (Exception ex) {
+ simtxn.rollback();
+ throw new CloudRuntimeException("Unable to persist host " + mockHost.getGuid() + " due to "
+ + ex.getMessage(), ex);
+ } finally {
+ simtxn.close();
simtxn = Transaction.open(Transaction.CLOUD_DB);
simtxn.close();
- }
-
- if (vmType.equalsIgnoreCase("secstorage")) {
- AgentStorageResource storageResource = new AgentStorageResource();
- try {
- Map<String, Object> params = new HashMap<String, Object>();
- Map<String, String> details = new HashMap<String, String>();
- params.put("guid", this.guid);
- details.put("guid", this.guid);
- storageResource.configure("secondaryStorage", params);
- storageResource.start();
- // on the simulator the ssvm is as good as a direct
- // agent
- _resourceMgr.addHost(mockHost.getDataCenterId(), storageResource, Host.Type.SecondaryStorageVM,
- details);
- _resources.put(this.guid, storageResource);
- } catch (ConfigurationException e) {
- s_logger.debug("Failed to load secondary storage resource: " + e.toString());
- return;
- }
- }
- }
- }
-
- @Override
- public MockHost getHost(String guid) {
- Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
- try {
- txn.start();
- MockHost _host = _mockHostDao.findByGuid(guid);
- txn.commit();
- if (_host != null) {
- return _host;
- } else {
- s_logger.error("Host with guid " + guid + " was not found");
- return null;
- }
- } catch (Exception ex) {
- txn.rollback();
- throw new CloudRuntimeException("Unable to get host " + guid + " due to " + ex.getMessage(), ex);
- } finally {
- txn.close();
+ }
+
+ if (vmType.equalsIgnoreCase("secstorage")) {
+ AgentStorageResource storageResource = new AgentStorageResource();
+ try {
+ Map<String, Object> params = new HashMap<String, Object>();
+ Map<String, String> details = new HashMap<String, String>();
+ params.put("guid", this.guid);
+ details.put("guid", this.guid);
+ storageResource.configure("secondaryStorage", params);
+ storageResource.start();
+ // on the simulator the ssvm is as good as a direct
+ // agent
+ _resourceMgr.addHost(mockHost.getDataCenterId(), storageResource, Host.Type.SecondaryStorageVM,
+ details);
+ _resources.put(this.guid, storageResource);
+ } catch (ConfigurationException e) {
+ s_logger.debug("Failed to load secondary storage resource: " + e.toString());
+ return;
+ }
+ }
+ }
+ }
+
+ @Override
+ public MockHost getHost(String guid) {
+ Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
+ try {
+ txn.start();
+ MockHost _host = _mockHostDao.findByGuid(guid);
+ txn.commit();
+ if (_host != null) {
+ return _host;
+ } else {
+ s_logger.error("Host with guid " + guid + " was not found");
+ return null;
+ }
+ } catch (Exception ex) {
+ txn.rollback();
+ throw new CloudRuntimeException("Unable to get host " + guid + " due to " + ex.getMessage(), ex);
+ } finally {
+ txn.close();
txn = Transaction.open(Transaction.CLOUD_DB);
txn.close();
- }
- }
-
- @Override
- public GetHostStatsAnswer getHostStatistic(GetHostStatsCommand cmd) {
- String hostGuid = cmd.getHostGuid();
- MockHost host = null;
- Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
- try {
- txn.start();
- host = _mockHostDao.findByGuid(hostGuid);
- txn.commit();
- if (host == null) {
- return null;
- }
- } catch (Exception ex) {
- txn.rollback();
- throw new CloudRuntimeException("Unable to get host " + hostGuid + " due to " + ex.getMessage(), ex);
- } finally {
- txn.close();
+ }
+ }
+
+ @Override
+ public GetHostStatsAnswer getHostStatistic(GetHostStatsCommand cmd) {
+ String hostGuid = cmd.getHostGuid();
+ MockHost host = null;
+ Transaction txn = Transaction.open(Transaction.SIMULATOR_DB);
+ try {
+ txn.start();
+ host = _mockHostDao.findByGuid(hostGuid);
+ txn.commit();
+ if (host == null) {
+ return null;
+ }
+ } catch (Exception ex) {
+ txn.rollback();
+ throw new CloudRuntimeException("Unable to get host " + hostGuid + " due to " + ex.getMessage(), ex);
+ } finally {
+ txn.close();
txn = Transaction.open(Transaction.CLOUD_DB);
txn.close();
- }
-
- Transaction vmtxn = Transaction.open(Transaction.SIMULATOR_DB);
- try {
- vmtxn.start();
- List<MockVMVO> vms = _mockVmDao.findByHostId(host.getId());
- vmtxn.commit();
- double usedMem = 0.0;
- double usedCpu = 0.0;
- for (MockVMVO vm : vms) {
- usedMem += vm.getMemory();
- usedCpu += vm.getCpu();
- }
-
- HostStatsEntry hostStats = new HostStatsEntry();
- hostStats.setTotalMemoryKBs(host.getMemorySize());
- hostStats.setFreeMemoryKBs(host.getMemorySize() - usedMem);
- hostStats.setNetworkReadKBs(32768);
- hostStats.setNetworkWriteKBs(16384);
- hostStats.setCpuUtilization(usedCpu / (host.getCpuCount() * host.getCpuSpeed()));
- hostStats.setEntityType("simulator-host");
- hostStats.setHostId(cmd.getHostId());
- return new GetHostStatsAnswer(cmd, hostStats);
- } catch (Exception ex) {
- vmtxn.rollback();
- throw new CloudRuntimeException("Unable to get Vms on host " + host.getGuid() + " due to "
- + ex.getMessage(), ex);
- } finally {
- vmtxn.close();
+ }
+
+ Transaction vmtxn = Transaction.open(Transaction.SIMULATOR_DB);
+ try {
+ vmtxn.start();
+ List<MockVMVO> vms = _mockVmDao.findByHostId(host.getId());
+ vmtxn.commit();
+ double usedMem = 0.0;
+ double usedCpu = 0.0;
+ for (MockVMVO vm : vms) {
+ usedMem += vm.getMemory();
+ usedCpu += vm.getCpu();
+ }
+
+ HostStatsEntry hostStats = new HostStatsEntry();
+ hostStats.setTotalMemoryKBs(host.getMemorySize());
+ hostStats.setFreeMemoryKBs(host.getMemorySize() - usedMem);
+ hostStats.setNetworkReadKBs(32768);
+ hostStats.setNetworkWriteKBs(16384);
+ hostStats.setCpuUtilization(usedCpu / (host.getCpuCount() * host.getCpuSpeed()));
+ hostStats.setEntityType("simulator-host");
+ hostStats.setHostId(cmd.getHostId());
+ return new GetHostStatsAnswer(cmd, hostStats);
+ } catch (Exception ex) {
+ vmtxn.rollback();
+ throw new CloudRuntimeException("Unable to get Vms on host " + host.getGuid() + " due to "
+ + ex.getMessage(), ex);
+ } finally {
+ vmtxn.close();
vmtxn = Transaction.open(Transaction.CLOUD_DB);
vmtxn.close();
- }
- }
-
- @Override
- public Answer checkHealth(CheckHealthCommand cmd) {
- return new Answer(cmd);
- }
-
- @Override
- public Answer pingTest(PingTestCommand cmd) {
- return new Answer(cmd);
- }
-
- @Override
- public boolean start() {
- return true;
- }
-
- @Override
- public boolean stop() {
- return true;
- }
-
- @Override
- public String getName() {
- return this.getClass().getSimpleName();
- }
-
- @Override
- public MaintainAnswer maintain(com.cloud.agent.api.MaintainCommand cmd) {
- return new MaintainAnswer(cmd);
- }
-
- @Override
- public Answer checkNetworkCommand(CheckNetworkCommand cmd) {
- if (s_logger.isDebugEnabled()) {
- s_logger.debug("Checking if network name setup is done on the resource");
- }
- return new CheckNetworkAnswer(cmd, true, "Network Setup check by names is done");
- }
+ }
+ }
+
+ @Override
+ public Answer checkHealth(CheckHealthCommand cmd) {
+ return new Answer(cmd);
+ }
+
+ @Override
+ public Answer pingTest(PingTestCommand cmd) {
+ return new Answer(cmd);
+ }
+
+ @Override
+ public boolean start() {
+ return true;
+ }
+
+ @Override
+ public boolean stop() {
+ return true;
+ }
+
+ @Override
+ public String getName() {
+ return this.getClass().getSimpleName();
+ }
+
+ @Override
+ public MaintainAnswer maintain(com.cloud.agent.api.MaintainCommand cmd) {
+ return new MaintainAnswer(cmd);
+ }
+
+ @Override
+ public Answer checkNetworkCommand(CheckNetworkCommand cmd) {
+ if (s_logger.isDebugEnabled()) {
+ s_logger.debug("Checking if network name setup is done on the resource");
+ }
+ return new CheckNetworkAnswer(cmd, true, "Network Setup check by names is done");
+ }
}