diff --git a/agent/src/com/cloud/agent/mockvm/MockVm.java b/agent/src/com/cloud/agent/mockvm/MockVm.java
index 56a39d76c7c..f3ef00bf6f6 100644
--- a/agent/src/com/cloud/agent/mockvm/MockVm.java
+++ b/agent/src/com/cloud/agent/mockvm/MockVm.java
@@ -1,8 +1,8 @@
/**
* Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
- *
+ *
* This software is licensed under the GNU General Public License v3 or later.
- *
+ *
* It is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or any later version.
@@ -10,10 +10,10 @@
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
- *
+ *
*/
package com.cloud.agent.mockvm;
diff --git a/agent/src/com/cloud/agent/mockvm/MockVmMgr.java b/agent/src/com/cloud/agent/mockvm/MockVmMgr.java
index 632e2eabaa9..a599f23bd45 100644
--- a/agent/src/com/cloud/agent/mockvm/MockVmMgr.java
+++ b/agent/src/com/cloud/agent/mockvm/MockVmMgr.java
@@ -1,8 +1,8 @@
/**
* Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
- *
+ *
* This software is licensed under the GNU General Public License v3 or later.
- *
+ *
* It is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or any later version.
@@ -10,10 +10,10 @@
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
- *
+ *
*/
package com.cloud.agent.mockvm;
@@ -37,7 +37,7 @@ public class MockVmMgr implements VmMgr {
private final Map vms = new HashMap();
private long vncPortMap = 0;
-
+
private Map _params = null;
public MockVmMgr() {
@@ -185,7 +185,7 @@ public class MockVmMgr implements VmMgr {
@Override
public int getHostCpuCount() {
-
+
return getConfiguredProperty("cpus", 4);
}
@@ -255,10 +255,10 @@ public class MockVmMgr implements VmMgr {
@Override
public MockVm createVmFromSpec(VirtualMachineTO vmSpec) {
String vmName = vmSpec.getName();
- long ramSize = vmSpec.getMinRam();
+ long ramSize = vmSpec.getMinRam();
int utilizationPercent = randSeed.nextInt() % 100;
MockVm vm = null;
-
+
synchronized(this) {
vm = vms.get(vmName);
if(vm == null) {
@@ -266,13 +266,13 @@ public class MockVmMgr implements VmMgr {
s_logger.debug("host is out of memory");
throw new CloudRuntimeException("Host is out of Memory");
}
-
+
int vncPort = allocVncPort();
if(vncPort < 0){
s_logger.debug("Unable to allocate VNC port");
throw new CloudRuntimeException("Unable to allocate vnc port");
}
-
+
vm = new MockVm(vmName, State.Running, ramSize, vmSpec.getCpus(), utilizationPercent, vncPort);
vms.put(vmName, vm);
}
@@ -283,33 +283,33 @@ public class MockVmMgr implements VmMgr {
@Override
public void createVbd(VirtualMachineTO vmSpec, String vmName, MockVm vm) {
// TODO Auto-generated method stub
-
+
}
@Override
public void createVif(VirtualMachineTO vmSpec, String vmName, MockVm vm) {
// TODO Auto-generated method stub
-
+
}
@Override
public void configure(Map params) {
_params = params;
}
-
+
protected Long getConfiguredProperty(String key, Long defaultValue) {
String val = (String)_params.get(key);
-
+
if (val != null) {
Long result = Long.parseLong(val);
return result;
}
return defaultValue;
}
-
+
protected Integer getConfiguredProperty(String key, Integer defaultValue) {
String val = (String)_params.get(key);
-
+
if (val != null) {
Integer result = Integer.parseInt(val);
return result;
diff --git a/agent/src/com/cloud/agent/mockvm/VmMgr.java b/agent/src/com/cloud/agent/mockvm/VmMgr.java
index 81597d7171f..a570372faf6 100644
--- a/agent/src/com/cloud/agent/mockvm/VmMgr.java
+++ b/agent/src/com/cloud/agent/mockvm/VmMgr.java
@@ -1,8 +1,8 @@
/**
* Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
- *
+ *
* This software is licensed under the GNU General Public License v3 or later.
- *
+ *
* It is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or any later version.
@@ -10,10 +10,10 @@
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
- *
+ *
*/
package com.cloud.agent.mockvm;
@@ -59,6 +59,6 @@ public interface VmMgr {
public void createVbd(VirtualMachineTO vmSpec, String vmName, MockVm vm);
public void createVif(VirtualMachineTO vmSpec, String vmName, MockVm vm);
-
+
public void configure(Map params);
}
diff --git a/agent/src/com/cloud/agent/resource/DummyResource.java b/agent/src/com/cloud/agent/resource/DummyResource.java
index 408517481a4..4f5d1cf0c0a 100755
--- a/agent/src/com/cloud/agent/resource/DummyResource.java
+++ b/agent/src/com/cloud/agent/resource/DummyResource.java
@@ -1,8 +1,8 @@
/**
* Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
- *
+ *
* This software is licensed under the GNU General Public License v3 or later.
- *
+ *
* It is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or any later version.
@@ -10,10 +10,10 @@
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
- *
+ *
*/
package com.cloud.agent.resource;
@@ -55,7 +55,7 @@ public class DummyResource implements ServerResource {
@Override
public void disconnected() {
}
-
+
@Override
public Answer executeRequest(Command cmd) {
if (cmd instanceof CheckNetworkCommand) {
@@ -76,15 +76,15 @@ public class DummyResource implements ServerResource {
public Type getType() {
return _type;
}
-
+
protected String getConfiguredProperty(String key, String defaultValue) {
String val = (String)_params.get(key);
return val==null?defaultValue:val;
}
-
+
protected Long getConfiguredProperty(String key, Long defaultValue) {
String val = (String)_params.get(key);
-
+
if (val != null) {
Long result = Long.parseLong(val);
return result;
@@ -105,55 +105,55 @@ public class DummyResource implements ServerResource {
info.add(speed);
info.add(ram);
info.add(cap);
- info.add(dom0ram);
+ info.add(dom0ram);
return info;
-
+
}
-
+
protected void fillNetworkInformation(final StartupCommand cmd) {
cmd.setPrivateIpAddress((String)getConfiguredProperty("private.ip.address", "127.0.0.1"));
cmd.setPrivateMacAddress((String)getConfiguredProperty("private.mac.address", "8A:D2:54:3F:7C:C3"));
cmd.setPrivateNetmask((String)getConfiguredProperty("private.ip.netmask", "255.255.255.0"));
-
+
cmd.setStorageIpAddress((String)getConfiguredProperty("private.ip.address", "127.0.0.1"));
cmd.setStorageMacAddress((String)getConfiguredProperty("private.mac.address", "8A:D2:54:3F:7C:C3"));
cmd.setStorageNetmask((String)getConfiguredProperty("private.ip.netmask", "255.255.255.0"));
cmd.setGatewayIpAddress((String)getConfiguredProperty("gateway.ip.address", "127.0.0.1"));
}
-
+
private Map getVersionStrings() {
Map result = new HashMap();
String hostOs = (String) _params.get("Host.OS");
String hostOsVer = (String) _params.get("Host.OS.Version");
String hostOsKernVer = (String) _params.get("Host.OS.Kernel.Version");
- result.put("Host.OS", hostOs==null?"Fedora":hostOs);
- result.put("Host.OS.Version", hostOsVer==null?"14":hostOsVer);
+ result.put("Host.OS", hostOs==null?"Fedora":hostOs);
+ result.put("Host.OS.Version", hostOsVer==null?"14":hostOsVer);
result.put("Host.OS.Kernel.Version", hostOsKernVer==null?"2.6.35.6-45.fc14.x86_64":hostOsKernVer);
return result;
}
-
+
protected StoragePoolInfo initializeLocalStorage() {
String hostIp = (String)getConfiguredProperty("private.ip.address", "127.0.0.1");
String localStoragePath = (String)getConfiguredProperty("local.storage.path", "/mnt");
String lh = hostIp + localStoragePath;
String uuid = UUID.nameUUIDFromBytes(lh.getBytes()).toString();
-
+
String capacity = (String)getConfiguredProperty("local.storage.capacity", "1000000000");
String available = (String)getConfiguredProperty("local.storage.avail", "10000000");
- return new StoragePoolInfo(uuid, hostIp, localStoragePath,
- localStoragePath, StoragePoolType.Filesystem,
+ return new StoragePoolInfo(uuid, hostIp, localStoragePath,
+ localStoragePath, StoragePoolType.Filesystem,
Long.parseLong(capacity), Long.parseLong(available));
}
-
+
@Override
public StartupCommand[] initialize() {
Map changes = null;
-
+
final List info = getHostInfo();
final StartupRoutingCommand cmd = new StartupRoutingCommand((Integer)info.get(0), (Long)info.get(1), (Long)info.get(2), (Long)info.get(4), (String)info.get(3), HypervisorType.KVM, RouterPrivateIpStrategy.HostLocal, changes);
@@ -173,16 +173,16 @@ public class DummyResource implements ServerResource {
@Override
public boolean configure(String name, Map params) {
_name = name;
-
+
String value = (String)params.get("type");
_type = Host.Type.valueOf(value);
-
+
value = (String)params.get("negative.reply");
_negative = Boolean.parseBoolean(value);
setParams(params);
return true;
}
-
+
public void setParams(Map _params) {
this._params = _params;
}
@@ -201,12 +201,12 @@ public class DummyResource implements ServerResource {
public boolean stop() {
return true;
}
-
+
@Override
public IAgentControl getAgentControl() {
return _agentControl;
}
-
+
@Override
public void setAgentControl(IAgentControl agentControl) {
_agentControl = agentControl;
diff --git a/agent/src/com/cloud/agent/resource/consoleproxy/ConsoleProxyResource.java b/agent/src/com/cloud/agent/resource/consoleproxy/ConsoleProxyResource.java
index 943a2020f38..c7b898565fb 100644
--- a/agent/src/com/cloud/agent/resource/consoleproxy/ConsoleProxyResource.java
+++ b/agent/src/com/cloud/agent/resource/consoleproxy/ConsoleProxyResource.java
@@ -1,8 +1,8 @@
/**
* Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
- *
+ *
* This software is licensed under the GNU General Public License v3 or later.
- *
+ *
* It is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or any later version.
@@ -10,10 +10,10 @@
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
- *
+ *
*/
package com.cloud.agent.resource.consoleproxy;
@@ -63,7 +63,7 @@ import com.cloud.utils.net.NetUtils;
import com.cloud.utils.script.Script;
/**
- *
+ *
* I don't want to introduce extra cross-cutting concerns into console proxy process, as it involves configurations like
* zone/pod, agent auto self-upgrade etc. I also don't want to introduce more module dependency issues into our build system,
* cross-communication between this resource and console proxy will be done through reflection. As a result, come out with
@@ -71,22 +71,22 @@ import com.cloud.utils.script.Script;
*
* We will deploy an agent shell inside console proxy VM, and this agent shell will launch current console proxy from within
* this special server resource, through it console proxy can build a communication channel with management server.
- *
+ *
*/
public class ConsoleProxyResource extends ServerResourceBase implements ServerResource {
static final Logger s_logger = Logger.getLogger(ConsoleProxyResource.class);
-
+
private final Properties _properties = new Properties();
private Thread _consoleProxyMain = null;
-
+
long _proxyVmId;
int _proxyPort;
-
+
String _localgw;
- String _eth1ip;
- String _eth1mask;
+ String _eth1ip;
+ String _eth1mask;
String _pubIp;
-
+
@Override
public Answer executeRequest(final Command cmd) {
if (cmd instanceof CheckConsoleProxyLoadCommand) {
@@ -98,7 +98,7 @@ public class ConsoleProxyResource extends ServerResourceBase implements ServerRe
return new ReadyAnswer((ReadyCommand)cmd);
} else if(cmd instanceof CheckHealthCommand) {
return new CheckHealthAnswer((CheckHealthCommand)cmd, true);
- } else if(cmd instanceof StartConsoleProxyAgentHttpHandlerCommand) {
+ } else if(cmd instanceof StartConsoleProxyAgentHttpHandlerCommand) {
return execute((StartConsoleProxyAgentHttpHandlerCommand)cmd);
} else {
return Answer.createUnsupportedCommandAnswer(cmd);
@@ -109,7 +109,7 @@ public class ConsoleProxyResource extends ServerResourceBase implements ServerRe
launchConsoleProxy(cmd.getKeystoreBits(), cmd.getKeystorePassword());
return new Answer(cmd);
}
-
+
private void disableRpFilter() {
try {
FileWriter fstream = new FileWriter("/proc/sys/net/ipv4/conf/eth2/rp_filter");
@@ -177,16 +177,16 @@ public class ConsoleProxyResource extends ServerResourceBase implements ServerRe
return new ConsoleProxyLoadAnswer(cmd, proxyVmId, proxyVmName, success, result);
}
-
+
@Override
protected String getDefaultScriptsDir() {
return null;
}
-
+
public Type getType() {
return Host.Type.ConsoleProxy;
}
-
+
@Override
public synchronized StartupCommand [] initialize() {
final StartupProxyCommand cmd = new StartupProxyCommand();
@@ -201,12 +201,12 @@ public class ConsoleProxyResource extends ServerResourceBase implements ServerRe
@Override
public void disconnected() {
}
-
+
@Override
public PingCommand getCurrentStatus(long id) {
return new PingCommand(Type.ConsoleProxy, id);
}
-
+
@Override
public boolean configure(String name, Map params) throws ConfigurationException {
_localgw = (String)params.get("localgw");
@@ -217,20 +217,20 @@ public class ConsoleProxyResource extends ServerResourceBase implements ServerRe
} else {
s_logger.warn("WARNING: eth1ip parameter is not found!");
}
-
+
String eth2ip = (String) params.get("eth2ip");
if (eth2ip != null) {
params.put("public.network.device", "eth2");
} else {
s_logger.warn("WARNING: eth2ip parameter is not found!");
}
-
+
super.configure(name, params);
-
+
for(Map.Entry entry : params.entrySet()) {
_properties.put(entry.getKey(), entry.getValue());
}
-
+
String value = (String)params.get("premium");
if(value != null && value.equals("premium"))
_proxyPort = 443;
@@ -238,7 +238,7 @@ public class ConsoleProxyResource extends ServerResourceBase implements ServerRe
value = (String)params.get("consoleproxy.httpListenPort");
_proxyPort = NumbersUtil.parseInt(value, 80);
}
-
+
value = (String)params.get("proxy_vm");
_proxyVmId = NumbersUtil.parseLong(value, 0);
@@ -258,20 +258,20 @@ public class ConsoleProxyResource extends ServerResourceBase implements ServerRe
addRouteToInternalIpOrCidr(_localgw, _eth1ip, _eth1mask, internalDns2);
}
}
-
+
_pubIp = (String)params.get("public.ip");
-
+
value = (String)params.get("disable_rp_filter");
if(value != null && value.equalsIgnoreCase("true")) {
disableRpFilter();
}
-
+
if(s_logger.isInfoEnabled())
s_logger.info("Receive proxyVmId in ConsoleProxyResource configuration as " + _proxyVmId);
-
+
return true;
}
-
+
private void addRouteToInternalIpOrCidr(String localgw, String eth1ip, String eth1mask, String destIpOrCidr) {
s_logger.debug("addRouteToInternalIp: localgw=" + localgw + ", eth1ip=" + eth1ip + ", eth1mask=" + eth1mask + ",destIp=" + destIpOrCidr);
if (destIpOrCidr == null) {
@@ -310,12 +310,12 @@ public class ConsoleProxyResource extends ServerResourceBase implements ServerRe
s_logger.debug("addRouteToInternalIp: added route to internal ip=" + destIpOrCidr + " via " + localgw);
}
}
-
+
@Override
public String getName() {
return _name;
}
-
+
private void launchConsoleProxy(final byte[] ksBits, final String ksPassword) {
final Object resource = this;
if(_consoleProxyMain == null) {
@@ -357,7 +357,7 @@ public class ConsoleProxyResource extends ServerResourceBase implements ServerRe
public boolean authenticateConsoleAccess(String host, String port, String vmId, String sid, String ticket) {
ConsoleAccessAuthenticationCommand cmd = new ConsoleAccessAuthenticationCommand(host, port, vmId, sid, ticket);
-
+
try {
AgentControlAnswer answer = getAgentControl().sendRequest(cmd, 10000);
if(answer != null) {
@@ -365,31 +365,31 @@ public class ConsoleProxyResource extends ServerResourceBase implements ServerRe
} else {
s_logger.error("Authentication failed for vm: " + vmId + " with sid: " + sid);
}
-
+
} catch (AgentControlChannelException e) {
s_logger.error("Unable to send out console access authentication request due to " + e.getMessage(), e);
}
-
+
return false;
}
-
+
public void reportLoadInfo(String gsonLoadInfo) {
ConsoleProxyLoadReportCommand cmd = new ConsoleProxyLoadReportCommand(_proxyVmId, gsonLoadInfo);
try {
getAgentControl().postRequest(cmd);
-
+
if(s_logger.isDebugEnabled())
s_logger.debug("Report proxy load info, proxy : " + _proxyVmId + ", load: " + gsonLoadInfo);
} catch (AgentControlChannelException e) {
s_logger.error("Unable to send out load info due to " + e.getMessage(), e);
}
}
-
+
public void ensureRoute(String address) {
if(_localgw != null) {
if(s_logger.isDebugEnabled())
s_logger.debug("Ensure route for " + address + " via " + _localgw);
-
+
// this method won't be called in high frequency, serialize access to script execution
synchronized(this) {
try {
diff --git a/agent/src/com/cloud/agent/storage/KVMPhysicalDisk.java b/agent/src/com/cloud/agent/storage/KVMPhysicalDisk.java
index a4cc44d04c8..9592e98c753 100644
--- a/agent/src/com/cloud/agent/storage/KVMPhysicalDisk.java
+++ b/agent/src/com/cloud/agent/storage/KVMPhysicalDisk.java
@@ -18,45 +18,45 @@ public class KVMPhysicalDisk {
private PhysicalDiskFormat format;
private long size;
private long virtualSize;
-
+
public KVMPhysicalDisk(String path, String name, KVMStoragePool pool) {
this.path = path;
this.name = name;
this.pool = pool;
}
-
+
public void setFormat(PhysicalDiskFormat format) {
this.format = format;
}
-
+
public PhysicalDiskFormat getFormat() {
return this.format;
}
-
+
public void setSize(long size) {
this.size = size;
}
-
+
public long getSize() {
return this.size;
}
-
+
public void setVirtualSize(long size) {
this.virtualSize = size;
}
-
+
public long getVirtualSize() {
return this.virtualSize;
}
-
+
public String getName() {
return this.name;
}
-
+
public String getPath() {
return this.path;
}
-
+
public KVMStoragePool getPool() {
return this.pool;
}
diff --git a/agent/src/com/cloud/agent/storage/KVMVirtualDisk.java b/agent/src/com/cloud/agent/storage/KVMVirtualDisk.java
index af79544fc0f..13a70f82729 100644
--- a/agent/src/com/cloud/agent/storage/KVMVirtualDisk.java
+++ b/agent/src/com/cloud/agent/storage/KVMVirtualDisk.java
@@ -1,6 +1,6 @@
package com.cloud.agent.storage;
public class KVMVirtualDisk {
-
+
}
diff --git a/agent/src/com/cloud/agent/storage/LibvirtStorageAdaptor.java b/agent/src/com/cloud/agent/storage/LibvirtStorageAdaptor.java
index 5d6bde44f74..e7ead90e4b4 100644
--- a/agent/src/com/cloud/agent/storage/LibvirtStorageAdaptor.java
+++ b/agent/src/com/cloud/agent/storage/LibvirtStorageAdaptor.java
@@ -1,8 +1,8 @@
/**
* Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
- *
+ *
* This software is licensed under the GNU General Public License v3 or later.
- *
+ *
* It is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or any later version.
@@ -10,10 +10,10 @@
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
- *
+ *
*/
package com.cloud.agent.storage;
@@ -53,13 +53,13 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
private StorageLayer _storageLayer;
private String _mountPoint = "/mnt";
private String _manageSnapshotPath;
-
+
public LibvirtStorageAdaptor(StorageLayer storage
) {
_storageLayer = storage;
_manageSnapshotPath = Script.findScript("scripts/storage/qcow2/", "managesnapshot.sh");
}
-
+
@Override
public boolean createFolder(String uuid, String path) {
String mountPoint = _mountPoint + File.separator + uuid;
@@ -69,14 +69,14 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
}
return true;
}
-
+
public StorageVol getVolume(StoragePool pool, String volName) {
StorageVol vol = null;
-
+
try {
vol = pool.storageVolLookupByName(volName);
} catch (LibvirtException e) {
-
+
}
if (vol == null) {
storagePoolRefresh(pool);
@@ -88,13 +88,13 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
}
return vol;
}
-
+
public StorageVol createVolume(Connect conn, StoragePool pool, String uuid, long size, volFormat format) throws LibvirtException {
LibvirtStorageVolumeDef volDef = new LibvirtStorageVolumeDef(UUID.randomUUID().toString(), size, format, null, null);
s_logger.debug(volDef.toString());
return pool.storageVolCreateXML(volDef.toString(), 0);
}
-
+
public StoragePool getStoragePoolbyURI(Connect conn, URI uri) throws LibvirtException {
String sourcePath;
String uuid;
@@ -112,8 +112,8 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
uuid = UUID.nameUUIDFromBytes(new String(sourceHost + sourcePath).getBytes()).toString();
protocal = "NFS";
}
-
-
+
+
String targetPath = _mountPoint + File.separator + uuid;
StoragePool sp = null;
try {
@@ -136,7 +136,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
spd = new LibvirtStoragePoolDef(poolType.DIR, uuid, uuid,
null, null, sourcePath);
}
-
+
synchronized (getStoragePool(uuid)) {
sp = conn.storagePoolDefineXML(spd.toString(), 0);
@@ -167,17 +167,17 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
return sp;
}
}
-
+
public void storagePoolRefresh(StoragePool pool) {
try {
synchronized (getStoragePool(pool.getUUIDString())) {
pool.refresh(0);
}
} catch (LibvirtException e) {
-
+
}
}
-
+
private StoragePool createNfsStoragePool(Connect conn, String uuid, String host, String path) {
String targetPath = _mountPoint + File.separator + uuid;
LibvirtStoragePoolDef spd = new LibvirtStoragePoolDef(poolType.NETFS, uuid, uuid,
@@ -202,7 +202,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
return null;
}
}
-
+
private StoragePool CreateSharedStoragePool(Connect conn, String uuid, String host, String path) {
String mountPoint = path;
if (!_storageLayer.exists(mountPoint)) {
@@ -215,7 +215,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
s_logger.debug(spd.toString());
sp = conn.storagePoolDefineXML(spd.toString(), 0);
sp.create(0);
-
+
return sp;
} catch (LibvirtException e) {
s_logger.debug(e.toString());
@@ -230,9 +230,9 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
return null;
}
}
-
+
private StoragePool createCLVMStoragePool(Connect conn, String uuid, String host, String path) {
-
+
String volgroupPath = "/dev/" + path;
LibvirtStoragePoolDef spd = new LibvirtStoragePoolDef(poolType.LOGICAL, uuid, uuid,
@@ -257,7 +257,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
}
}
-
+
public StorageVol copyVolume(StoragePool destPool, LibvirtStorageVolumeDef destVol, StorageVol srcVol, int timeout) throws LibvirtException {
StorageVol vol = destPool.storageVolCreateXML(destVol.toString(), 0);
String srcPath = srcVol.getKey();
@@ -265,7 +265,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
Script.runSimpleBashScript("cp " + srcPath + " " + destPath, timeout);
return vol;
}
-
+
public boolean copyVolume(String srcPath, String destPath, String volumeName, int timeout) throws InternalErrorException{
_storageLayer.mkdirs(destPath);
if (!_storageLayer.exists(srcPath)) {
@@ -278,19 +278,19 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
return true;
}
}
-
+
public LibvirtStoragePoolDef getStoragePoolDef(Connect conn, StoragePool pool) throws LibvirtException {
String poolDefXML = pool.getXMLDesc(0);
LibvirtStoragePoolXMLParser parser = new LibvirtStoragePoolXMLParser();
return parser.parseStoragePoolXML(poolDefXML);
}
-
+
public LibvirtStorageVolumeDef getStorageVolumeDef(Connect conn, StorageVol vol) throws LibvirtException {
String volDefXML = vol.getXMLDesc(0);
LibvirtStorageVolumeXMLParser parser = new LibvirtStorageVolumeXMLParser();
return parser.parseStorageVolumeXML(volDefXML);
}
-
+
public StorageVol getVolumeFromURI(Connect conn, String volPath) throws LibvirtException, URISyntaxException {
int index = volPath.lastIndexOf("/");
URI volDir = null;
@@ -315,25 +315,25 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
}
}
}
-
+
public StoragePool createFileBasedStoragePool(Connect conn, String localStoragePath, String uuid) {
if (!(_storageLayer.exists(localStoragePath) && _storageLayer.isDirectory(localStoragePath))) {
return null;
}
-
+
File path = new File(localStoragePath);
if (!(path.canWrite() && path.canRead() && path.canExecute())) {
return null;
}
-
+
StoragePool pool = null;
-
+
try {
pool = conn.storagePoolLookupByUUIDString(uuid);
} catch (LibvirtException e) {
-
+
}
-
+
if (pool == null) {
LibvirtStoragePoolDef spd = new LibvirtStoragePoolDef(poolType.DIR, uuid, uuid,
null, null, localStoragePath);
@@ -352,20 +352,20 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
throw new CloudRuntimeException(e.toString());
}
}
-
+
try {
StoragePoolInfo spi = pool.getInfo();
if (spi.state != StoragePoolState.VIR_STORAGE_POOL_RUNNING) {
pool.create(0);
}
-
+
} catch (LibvirtException e) {
throw new CloudRuntimeException(e.toString());
}
return pool;
}
-
+
private void getStats(LibvirtStoragePool pool) {
Script statsScript = new Script("/bin/bash", s_logger);
statsScript.add("-c");
@@ -383,14 +383,14 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
}
}
}
-
+
@Override
public KVMStoragePool getStoragePool(String uuid) {
StoragePool storage = null;
try {
Connect conn = LibvirtConnection.getConnection();
storage = conn.storagePoolLookupByUUIDString(uuid);
-
+
if (storage.getInfo().state != StoragePoolState.VIR_STORAGE_POOL_RUNNING) {
storage.create(0);
}
@@ -415,12 +415,12 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
throw new CloudRuntimeException(e.toString());
}
}
-
+
@Override
public KVMPhysicalDisk getPhysicalDisk(
String volumeUuid, KVMStoragePool pool) {
LibvirtStoragePool libvirtPool = (LibvirtStoragePool)pool;
-
+
try {
StorageVol vol = this.getVolume(libvirtPool.getPool(), volumeUuid);
KVMPhysicalDisk disk;
@@ -439,9 +439,9 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
} catch (LibvirtException e) {
throw new CloudRuntimeException(e.toString());
}
-
+
}
-
+
@Override
public KVMStoragePool createStoragePool(String name, String host, String path, StoragePoolType type) {
StoragePool sp = null;
@@ -451,7 +451,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
} catch (LibvirtException e) {
throw new CloudRuntimeException(e.toString());
}
-
+
try {
sp = conn.storagePoolLookupByUUIDString(name);
} catch (LibvirtException e) {
@@ -473,7 +473,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
if (spi.state != StoragePoolState.VIR_STORAGE_POOL_RUNNING) {
sp.create(0);
}
-
+
LibvirtStoragePoolDef spd = getStoragePoolDef(conn, sp);
LibvirtStoragePool pool = new LibvirtStoragePool(name, sp.getName(), type, this, sp);
pool.setLocalPath(spd.getTargetPath());
@@ -488,7 +488,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
} catch (LibvirtException e) {
throw new CloudRuntimeException(e.toString());
}
-
+
}
@Override
public boolean deleteStoragePool(String uuid) {
@@ -516,7 +516,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
throw new CloudRuntimeException(e.toString());
}
}
-
+
@Override
public KVMPhysicalDisk createPhysicalDisk(String name,
KVMStoragePool pool, PhysicalDiskFormat format, long size) {
@@ -598,20 +598,20 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
String sourcePath = disk.getPath();
String destPath = newDisk.getPath();
- Script.runSimpleBashScript("qemu-img convert -f " + disk.getFormat() + " -O " + newDisk.getFormat() + " " + sourcePath + " " + destPath);
+ Script.runSimpleBashScript("qemu-img convert -f " + disk.getFormat() + " -O " + newDisk.getFormat() + " " + sourcePath + " " + destPath);
return newDisk;
}
@Override
public KVMStoragePool getStoragePoolByUri(String uri) {
URI storageUri = null;
-
+
try {
storageUri = new URI(uri);
} catch (URISyntaxException e) {
throw new CloudRuntimeException(e.toString());
}
-
+
String sourcePath = null;
String uuid = null;
String sourceHost = "";
@@ -623,7 +623,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
uuid = UUID.randomUUID().toString();
protocal = StoragePoolType.NetworkFilesystem;
}
-
+
return createStoragePool(uuid, sourceHost, sourcePath, protocal);
}
@@ -638,7 +638,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
String snapshotName, String name, KVMStoragePool destPool) {
return null;
}
-
+
@Override
public boolean refresh(KVMStoragePool pool) {
LibvirtStoragePool libvirtPool = (LibvirtStoragePool)pool;
@@ -663,10 +663,10 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
} catch (LibvirtException e) {
return false;
}
-
+
return true;
}
-
-
+
+
}
diff --git a/agent/src/com/cloud/agent/storage/LibvirtStoragePool.java b/agent/src/com/cloud/agent/storage/LibvirtStoragePool.java
index 7c9cb302959..f68b82bee91 100644
--- a/agent/src/com/cloud/agent/storage/LibvirtStoragePool.java
+++ b/agent/src/com/cloud/agent/storage/LibvirtStoragePool.java
@@ -18,7 +18,7 @@ public class LibvirtStoragePool implements KVMStoragePool {
protected StoragePoolType type;
protected StorageAdaptor _storageAdaptor;
protected StoragePool _pool;
-
+
public LibvirtStoragePool(String uuid, String name, StoragePoolType type, StorageAdaptor adaptor, StoragePool pool) {
this.uuid = uuid;
this.name = name;
@@ -27,43 +27,43 @@ public class LibvirtStoragePool implements KVMStoragePool {
this.capacity = 0;
this.used = 0;
this._pool = pool;
-
+
}
-
+
public void setCapacity(long capacity) {
this.capacity = capacity;
}
-
+
@Override
public long getCapacity() {
return this.capacity;
}
-
+
public void setUsed(long used) {
this.used = used;
}
-
+
@Override
public long getUsed() {
return this.used;
}
-
+
public StoragePoolType getStoragePoolType() {
return this.type;
}
-
+
public String getName() {
return this.name;
}
-
+
public String getUuid() {
return this.uuid;
}
-
+
public String uri() {
return this.uri;
}
-
+
@Override
public PhysicalDiskFormat getDefaultFormat() {
if (getStoragePoolType() == StoragePoolType.CLVM) {
@@ -72,27 +72,27 @@ public class LibvirtStoragePool implements KVMStoragePool {
return PhysicalDiskFormat.QCOW2;
}
}
-
+
@Override
public KVMPhysicalDisk createPhysicalDisk(String name, PhysicalDiskFormat format, long size) {
return this._storageAdaptor.createPhysicalDisk(name, this, format, size);
}
-
+
@Override
public KVMPhysicalDisk createPhysicalDisk(String name, long size) {
return this._storageAdaptor.createPhysicalDisk(name, this, this.getDefaultFormat(), size);
}
-
+
@Override
public KVMPhysicalDisk getPhysicalDisk(String volumeUuid) {
return this._storageAdaptor.getPhysicalDisk(volumeUuid, this);
}
-
+
@Override
public boolean deletePhysicalDisk(String uuid) {
return this._storageAdaptor.deletePhysicalDisk(uuid, this);
}
-
+
@Override
public List listPhysicalDisks() {
return this._storageAdaptor.listPhysicalDisks(this.uuid, this);
@@ -108,7 +108,7 @@ public class LibvirtStoragePool implements KVMStoragePool {
if (this.type == StoragePoolType.Filesystem) {
return false;
}
-
+
return true;
}
@@ -116,7 +116,7 @@ public class LibvirtStoragePool implements KVMStoragePool {
public String getLocalPath() {
return this.localPath;
}
-
+
public void setLocalPath(String localPath) {
this.localPath = localPath;
}
@@ -125,7 +125,7 @@ public class LibvirtStoragePool implements KVMStoragePool {
public StoragePoolType getType() {
return this.type;
}
-
+
public StoragePool getPool() {
return this._pool;
}
@@ -134,7 +134,7 @@ public class LibvirtStoragePool implements KVMStoragePool {
public boolean delete() {
return this._storageAdaptor.deleteStoragePool(this);
}
-
+
@Override
public boolean createFolder(String path) {
return this._storageAdaptor.createFolder(this.uuid, path);
diff --git a/agent/src/com/cloud/agent/storage/StorageAdaptor.java b/agent/src/com/cloud/agent/storage/StorageAdaptor.java
index f99717a6480..c22ae48f294 100644
--- a/agent/src/com/cloud/agent/storage/StorageAdaptor.java
+++ b/agent/src/com/cloud/agent/storage/StorageAdaptor.java
@@ -8,7 +8,7 @@ import com.cloud.agent.storage.KVMPhysicalDisk.PhysicalDiskFormat;
import com.cloud.storage.Storage.StoragePoolType;
public interface StorageAdaptor {
-
+
public KVMStoragePool getStoragePool(String uuid);
public KVMPhysicalDisk getPhysicalDisk(String volumeUuid, KVMStoragePool pool);
public KVMStoragePool createStoragePool(String name, String host, String path, StoragePoolType type);
diff --git a/agent/src/com/cloud/agent/vmdata/JettyVmDataServer.java b/agent/src/com/cloud/agent/vmdata/JettyVmDataServer.java
index d7584ab3910..541f792da6f 100644
--- a/agent/src/com/cloud/agent/vmdata/JettyVmDataServer.java
+++ b/agent/src/com/cloud/agent/vmdata/JettyVmDataServer.java
@@ -1,7 +1,7 @@
/**
* Copyright (C) 2011 Cloud.com. All rights reserved.
*
- * This software is licensed under the GNU General Public License v3 or later.
+ * This software is licensed under the GNU General Public License v3 or later.
*
* It is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -69,7 +69,7 @@ import com.cloud.utils.script.Script;
@Local (value={VmDataServer.class})
public class JettyVmDataServer implements VmDataServer {
private static final Logger s_logger = Logger.getLogger(JettyVmDataServer.class);
-
+
public static final String USER_DATA = "user-data";
public static final String META_DATA = "meta-data";
protected String _vmDataDir;
@@ -77,20 +77,20 @@ public class JettyVmDataServer implements VmDataServer {
protected String _hostIp;
protected Map _ipVmMap = new HashMap();
protected StorageLayer _fs = new JavaStorageLayer();
-
+
public class VmDataServlet extends HttpServlet {
private static final long serialVersionUID = -1640031398971742349L;
-
+
JettyVmDataServer _vmDataServer;
String _dataType; //userdata or meta-data
-
-
+
+
public VmDataServlet(JettyVmDataServer dataServer, String dataType) {
this._vmDataServer = dataServer;
this._dataType = dataType;
}
-
+
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
@@ -105,8 +105,8 @@ public class JettyVmDataServer implements VmDataServer {
handleMetaData(req, resp);
}
}
-
- protected void handleUserData(HttpServletRequest req, HttpServletResponse resp)
+
+ protected void handleUserData(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String metadataItem = req.getPathInfo();
String requester = req.getRemoteAddr();
@@ -119,20 +119,20 @@ public class JettyVmDataServer implements VmDataServer {
metadataItem = path[1];
}
}
-
+
if (metadataItem != null)
data = _vmDataServer.getVmDataItem(requester, metadataItem);
-
+
if (data != null){
resp.getWriter().print(data);
} else {
resp.setStatus(HttpServletResponse.SC_NOT_FOUND);
resp.sendError(HttpServletResponse.SC_NOT_FOUND, "Request not found");
}
-
+
}
-
- protected void handleMetaData(HttpServletRequest req, HttpServletResponse resp)
+
+ protected void handleMetaData(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String metadataItem = req.getPathInfo();
String requester = req.getRemoteAddr();
@@ -145,9 +145,9 @@ public class JettyVmDataServer implements VmDataServer {
resp.sendError(HttpServletResponse.SC_NOT_FOUND, "Request not found");
}
}
-
+
}
-
+
@Override
public boolean configure(String name, Map params)
throws ConfigurationException {
@@ -165,7 +165,7 @@ public class JettyVmDataServer implements VmDataServer {
fileservingPort = Integer.parseInt(port);
}
_hostIp = (String) params.get("host.ip");
-
+
if (_vmDataDir == null) {
_vmDataDir = "/var/www/html";
}
@@ -180,7 +180,7 @@ public class JettyVmDataServer implements VmDataServer {
}
return success;
}
-
+
protected boolean buildIpVmMap() {
String[] dirs = _fs.listFiles(_vmDataDir);
for (String dir: dirs) {
@@ -194,7 +194,7 @@ public class JettyVmDataServer implements VmDataServer {
if (ipv4file.equalsIgnoreCase("local-ipv4")){
try {
BufferedReader input = new BufferedReader(new FileReader(dfile));
- String line = null;
+ String line = null;
while (( line = input.readLine()) != null){
if (NetUtils.isValidIp(line)) {
_ipVmMap.put(line, vm);
@@ -208,7 +208,7 @@ public class JettyVmDataServer implements VmDataServer {
} catch (IOException e) {
s_logger.warn("Failed to get ip address of " + vm);
}
-
+
}
}
}
@@ -225,7 +225,7 @@ public class JettyVmDataServer implements VmDataServer {
try {
BufferedReader input = new BufferedReader(new FileReader(vmDataFile));
StringBuilder result = new StringBuilder();
- String line = null;
+ String line = null;
while ((line = input.readLine()) != null) {
result.append(line);
}
@@ -237,39 +237,39 @@ public class JettyVmDataServer implements VmDataServer {
} catch (IOException e) {
s_logger.warn("Failed to read requested file " + vmDataFile);
return null;
- }
+ }
}
private void setupJetty(int vmDataPort, int fileservingPort) throws Exception {
_jetty = new Server();
-
+
SelectChannelConnector connector0 = new SelectChannelConnector();
connector0.setHost(_hostIp);
connector0.setPort(fileservingPort);
connector0.setMaxIdleTime(30000);
connector0.setRequestBufferSize(8192);
-
+
SelectChannelConnector connector1 = new SelectChannelConnector();
connector1.setHost(_hostIp);
connector1.setPort(vmDataPort);
connector1.setThreadPool(new QueuedThreadPool(5));
connector1.setMaxIdleTime(30000);
connector1.setRequestBufferSize(8192);
-
+
_jetty.setConnectors(new Connector[]{ connector0, connector1});
-
+
Context root = new Context(_jetty,"/latest",Context.SESSIONS);
root.setResourceBase(_vmDataDir);
root.addServlet(new ServletHolder(new VmDataServlet(this, USER_DATA)), "/*");
-
-
- ResourceHandler resource_handler = new ResourceHandler();
+
+
+ ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setResourceBase("/var/lib/images/");
-
+
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { root, resource_handler, new DefaultHandler() });
_jetty.setHandler(handlers);
-
+
_jetty.start();
//_jetty.join();
}
@@ -298,7 +298,7 @@ public class JettyVmDataServer implements VmDataServer {
Script.runSimpleBashScript("rm -rf " + vmDataDir);
_fs.mkdirs(vmDataDir);
-
+
for (String [] item : cmd.getVmData()) {
try {
_fs.create(vmDataDir, item[1]);
@@ -330,7 +330,7 @@ public class JettyVmDataServer implements VmDataServer {
public void handleVmStarted(VirtualMachineTO vm) {
for (NicTO nic: vm.getNics()) {
if (nic.getType() == TrafficType.Guest) {
- if (nic.getIp() != null) {
+ if (nic.getIp() != null) {
String ipv4File = _vmDataDir + File.separator + vm.getName() + File.separator + "local-ipv4";
try {
_fs.create(_vmDataDir + File.separator + vm.getName(), "local-ipv4");
@@ -342,9 +342,9 @@ public class JettyVmDataServer implements VmDataServer {
s_logger.warn("Failed to create or write to local-ipv4 file " + ipv4File,e);
}
-
+
}
-
+
}
}
}
diff --git a/agent/src/com/cloud/agent/vmdata/VmDataServer.java b/agent/src/com/cloud/agent/vmdata/VmDataServer.java
index ec70bd707d7..eef714caff9 100644
--- a/agent/src/com/cloud/agent/vmdata/VmDataServer.java
+++ b/agent/src/com/cloud/agent/vmdata/VmDataServer.java
@@ -1,7 +1,7 @@
/**
* Copyright (C) 2011 Cloud.com. All rights reserved.
*
- * This software is licensed under the GNU General Public License v3 or later.
+ * This software is licensed under the GNU General Public License v3 or later.
*
* It is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -29,10 +29,10 @@ import com.cloud.utils.component.Manager;
*
*/
public interface VmDataServer extends Manager {
-
+
public Answer handleVmDataCommand(VmDataCommand cmd);
-
+
public void handleVmStarted(VirtualMachineTO vm);
-
+
public void handleVmStopped(String vmName);
}