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/19 01:00:12 UTC
[38/51] [abbrv] All merge conflicts resolved
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
----------------------------------------------------------------------
diff --cc plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
index b30ef23,065d3be..f224d7d
--- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
+++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
@@@ -183,7 -182,8 +183,8 @@@ import com.cloud.agent.api.storage.Crea
import com.cloud.agent.api.storage.DestroyCommand;
import com.cloud.agent.api.storage.PrimaryStorageDownloadAnswer;
import com.cloud.agent.api.storage.PrimaryStorageDownloadCommand;
- import com.cloud.agent.api.storage.StorageCommand;
-import com.cloud.agent.api.storage.ResizeVolumeCommand;
+ import com.cloud.agent.api.storage.ResizeVolumeAnswer;
++import com.cloud.agent.api.storage.ResizeVolumeCommand;
import com.cloud.agent.api.to.IpAddressTO;
import com.cloud.agent.api.to.NicTO;
import com.cloud.agent.api.to.PortForwardingRuleTO;
@@@ -596,7 -592,7 +599,7 @@@ public abstract class CitrixResourceBas
return new XsLocalNetwork(Network.getByUuid(conn, _host.privateNetwork), null, PIF.getByUuid(conn, _host.privatePif), null);
} else if (type == TrafficType.Public) {
return new XsLocalNetwork(Network.getByUuid(conn, _host.publicNetwork), null, PIF.getByUuid(conn, _host.publicPif), null);
-- } else if (type == TrafficType.Storage) {
++ } else if (type == TrafficType.Storage) {
/* TrafficType.Storage is for secondary storage, while storageNetwork1 is for primary storage, we need better name here */
return new XsLocalNetwork(Network.getByUuid(conn, _host.storageNetwork1), null, PIF.getByUuid(conn, _host.storagePif1), null);
}
@@@ -623,28 -619,28 +626,28 @@@
// Create a VIF unless there's not already another VIF
Set<VIF> dom0Vifs = dom0.getVIFs(conn);
for (VIF vif:dom0Vifs) {
-- vif.getRecord(conn);
-- if (vif.getNetwork(conn).getUuid(conn) == nw.getUuid(conn)) {
-- dom0vif = vif;
-- s_logger.debug("A VIF for dom0 has already been found - No need to create one");
-- }
++ vif.getRecord(conn);
++ if (vif.getNetwork(conn).getUuid(conn) == nw.getUuid(conn)) {
++ dom0vif = vif;
++ s_logger.debug("A VIF for dom0 has already been found - No need to create one");
++ }
}
if (dom0vif == null) {
-- s_logger.debug("Create a vif on dom0 for " + networkDesc);
-- VIF.Record vifr = new VIF.Record();
-- vifr.VM = dom0;
-- vifr.device = getLowestAvailableVIFDeviceNum(conn, dom0);
-- if (vifr.device == null) {
-- s_logger.debug("Failed to create " + networkDesc + ", no vif available");
-- return;
-- }
-- Map<String, String> config = new HashMap<String, String>();
-- config.put("nameLabel", vifNameLabel);
-- vifr.otherConfig = config;
-- vifr.MAC = "FE:FF:FF:FF:FF:FF";
-- vifr.network = nw;
--
-- dom0vif = VIF.create(conn, vifr);
++ s_logger.debug("Create a vif on dom0 for " + networkDesc);
++ VIF.Record vifr = new VIF.Record();
++ vifr.VM = dom0;
++ vifr.device = getLowestAvailableVIFDeviceNum(conn, dom0);
++ if (vifr.device == null) {
++ s_logger.debug("Failed to create " + networkDesc + ", no vif available");
++ return;
++ }
++ Map<String, String> config = new HashMap<String, String>();
++ config.put("nameLabel", vifNameLabel);
++ vifr.otherConfig = config;
++ vifr.MAC = "FE:FF:FF:FF:FF:FF";
++ vifr.network = nw;
++
++ dom0vif = VIF.create(conn, vifr);
}
// At this stage we surely have a VIF
dom0vif.plug(conn);
@@@ -718,64 -714,64 +721,64 @@@
* This method creates a XenServer network and configures it for being used as a L2-in-L3 tunneled network
*/
private synchronized Network configureTunnelNetwork(Connection conn, long networkId, long hostId, int key) {
-- try {
-- Network nw = findOrCreateTunnelNetwork(conn, key);
-- String nwName = "OVSTunnel" + key;
-- //Invoke plugin to setup the bridge which will be used by this network
-- String bridge = nw.getBridge(conn);
-- Map<String,String> nwOtherConfig = nw.getOtherConfig(conn);
-- String configuredHosts = nwOtherConfig.get("ovs-host-setup");
-- boolean configured = false;
-- if (configuredHosts!=null) {
-- String hostIdsStr[] = configuredHosts.split(",");
-- for (String hostIdStr:hostIdsStr) {
-- if (hostIdStr.equals(((Long)hostId).toString())) {
-- configured = true;
-- break;
-- }
-- }
-- }
-- if (!configured) {
-- // Plug dom0 vif only if not done before for network and host
-- enableXenServerNetwork(conn, nw, nwName, "tunnel network for account " + key);
-- String result = callHostPlugin(conn, "ovstunnel", "setup_ovs_bridge", "bridge", bridge,
-- "key", String.valueOf(key),
-- "xs_nw_uuid", nw.getUuid(conn),
-- "cs_host_id", ((Long)hostId).toString());
-- //Note down the fact that the ovs bridge has been setup
-- String[] res = result.split(":");
-- if (res.length != 2 || !res[0].equalsIgnoreCase("SUCCESS")) {
-- //TODO: Should make this error not fatal?
-- throw new CloudRuntimeException("Unable to pre-configure OVS bridge " + bridge + " for network ID:" + networkId +
-- " - " + res);
-- }
-- }
-- return nw;
++ try {
++ Network nw = findOrCreateTunnelNetwork(conn, key);
++ String nwName = "OVSTunnel" + key;
++ //Invoke plugin to setup the bridge which will be used by this network
++ String bridge = nw.getBridge(conn);
++ Map<String,String> nwOtherConfig = nw.getOtherConfig(conn);
++ String configuredHosts = nwOtherConfig.get("ovs-host-setup");
++ boolean configured = false;
++ if (configuredHosts!=null) {
++ String hostIdsStr[] = configuredHosts.split(",");
++ for (String hostIdStr:hostIdsStr) {
++ if (hostIdStr.equals(((Long)hostId).toString())) {
++ configured = true;
++ break;
++ }
++ }
++ }
++ if (!configured) {
++ // Plug dom0 vif only if not done before for network and host
++ enableXenServerNetwork(conn, nw, nwName, "tunnel network for account " + key);
++ String result = callHostPlugin(conn, "ovstunnel", "setup_ovs_bridge", "bridge", bridge,
++ "key", String.valueOf(key),
++ "xs_nw_uuid", nw.getUuid(conn),
++ "cs_host_id", ((Long)hostId).toString());
++ //Note down the fact that the ovs bridge has been setup
++ String[] res = result.split(":");
++ if (res.length != 2 || !res[0].equalsIgnoreCase("SUCCESS")) {
++ //TODO: Should make this error not fatal?
++ throw new CloudRuntimeException("Unable to pre-configure OVS bridge " + bridge + " for network ID:" + networkId +
++ " - " + res);
++ }
++ }
++ return nw;
} catch (Exception e) {
s_logger.warn("createandConfigureTunnelNetwork failed", e);
return null;
}
}
--
++
private synchronized void destroyTunnelNetwork(Connection conn, int key) {
-- try {
-- Network nw = findOrCreateTunnelNetwork(conn, key);
++ try {
++ Network nw = findOrCreateTunnelNetwork(conn, key);
String bridge = nw.getBridge(conn);
String result = callHostPlugin(conn, "ovstunnel", "destroy_ovs_bridge", "bridge", bridge);
String[] res = result.split(":");
if (res.length != 2 || !res[0].equalsIgnoreCase("SUCCESS")) {
-- //TODO: Should make this error not fatal?
-- //Can Concurrent VM shutdown/migration/reboot events can cause this method
-- //to be executed on a bridge which has already been removed?
-- throw new CloudRuntimeException("Unable to remove OVS bridge " + bridge + ":" + res);
++ //TODO: Should make this error not fatal?
++ //Can Concurrent VM shutdown/migration/reboot events can cause this method
++ //to be executed on a bridge which has already been removed?
++ throw new CloudRuntimeException("Unable to remove OVS bridge " + bridge + ":" + res);
}
return;
-- } catch (Exception e) {
++ } catch (Exception e) {
s_logger.warn("destroyTunnelNetwork failed:", e);
return;
-- }
++ }
}
--
++
protected Network getNetwork(Connection conn, NicTO nic) throws XenAPIException, XmlRpcException {
String name = nic.getName();
XsLocalNetwork network = getNativeNetworkForTraffic(conn, nic.getType(), name);
@@@ -803,13 -799,13 +806,13 @@@
return findOrCreateTunnelNetwork(conn, vnetId);
}
} else if (nic.getBroadcastType() == BroadcastDomainType.Storage) {
-- URI broadcastUri = nic.getBroadcastUri();
-- if (broadcastUri == null) {
-- return network.getNetwork();
-- } else {
-- long vlan = Long.parseLong(broadcastUri.getHost());
-- return enableVlanNetwork(conn, vlan, network);
-- }
++ URI broadcastUri = nic.getBroadcastUri();
++ if (broadcastUri == null) {
++ return network.getNetwork();
++ } else {
++ long vlan = Long.parseLong(broadcastUri.getHost());
++ return enableVlanNetwork(conn, vlan, network);
++ }
} else if (nic.getBroadcastType() == BroadcastDomainType.Lswitch) {
// Nicira Logical Switch
return network.getNetwork();
@@@ -889,26 -885,26 +892,26 @@@
protected VDI mount(Connection conn, String vmName, VolumeTO volume) throws XmlRpcException, XenAPIException {
if (volume.getType() == Volume.Type.ISO) {
-- String isopath = volume.getPath();
-- if (isopath == null) {
-- return null;
-- }
-- if (isopath.startsWith("xs-tools")) {
-- try {
-- Set<VDI> vdis = VDI.getByNameLabel(conn, isopath);
-- if (vdis.isEmpty()) {
-- throw new CloudRuntimeException("Could not find ISO with URL: " + isopath);
-- }
-- return vdis.iterator().next();
--
-- } catch (XenAPIException e) {
-- throw new CloudRuntimeException("Unable to get pv iso: " + isopath + " due to " + e.toString());
-- } catch (Exception e) {
-- throw new CloudRuntimeException("Unable to get pv iso: " + isopath + " due to " + e.toString());
-- }
-- }
--
--
++ String isopath = volume.getPath();
++ if (isopath == null) {
++ return null;
++ }
++ if (isopath.startsWith("xs-tools")) {
++ try {
++ Set<VDI> vdis = VDI.getByNameLabel(conn, isopath);
++ if (vdis.isEmpty()) {
++ throw new CloudRuntimeException("Could not find ISO with URL: " + isopath);
++ }
++ return vdis.iterator().next();
++
++ } catch (XenAPIException e) {
++ throw new CloudRuntimeException("Unable to get pv iso: " + isopath + " due to " + e.toString());
++ } catch (Exception e) {
++ throw new CloudRuntimeException("Unable to get pv iso: " + isopath + " due to " + e.toString());
++ }
++ }
++
++
int index = isopath.lastIndexOf("/");
String mountpoint = isopath.substring(0, index);
@@@ -1180,11 -1176,11 +1183,11 @@@
for ( VM vm : vms ) {
Set<VBD> vbds = vm.getVBDs(conn);
for( VBD vbd : vbds ) {
-- if (vbd.getType(conn) == Types.VbdType.CD ) {
-- vbd.eject(conn);
-- vbd.destroy(conn);
-- break;
-- }
++ if (vbd.getType(conn) == Types.VbdType.CD ) {
++ vbd.eject(conn);
++ vbd.destroy(conn);
++ break;
++ }
}
}
} catch (Exception e) {
@@@ -1287,7 -1283,7 +1290,7 @@@
}
}
synchronized (_cluster.intern()) {
-- s_vms.put(_cluster, _name, vmName, State.Starting);
++ s_vms.put(_cluster, _name, vmName, State.Starting);
}
s_logger.debug("1. The VM " + vmName + " is in Starting state.");
@@@ -1309,7 -1305,7 +1312,7 @@@
startVM(conn, host, vm, vmName);
if (_isOvs) {
-- // TODO(Salvatore-orlando): This code should go
++ // TODO(Salvatore-orlando): This code should go
for (NicTO nic : vmSpec.getNics()) {
if (nic.getBroadcastType() == Networks.BroadcastDomainType.Vswitch) {
HashMap<String, String> args = parseDefaultOvsRuleComamnd(nic.getBroadcastUri().toString().substring(Networks.BroadcastDomainType.Vswitch.scheme().length() + "://".length()));
@@@ -1332,7 -1328,8 +1335,8 @@@
NicTO[] nics = vmSpec.getNics();
boolean secGrpEnabled = false;
for (NicTO nic : nics) {
- if (nic.getIsolationUri() != null && nic.getIsolationUri().getScheme().equalsIgnoreCase(IsolationType.Ec2.toString())) {
+ if (nic.isSecurityGroupEnabled() || (nic.getIsolationUri() != null
- && nic.getIsolationUri().getScheme().equalsIgnoreCase(IsolationType.Ec2.toString()))) {
++ && nic.getIsolationUri().getScheme().equalsIgnoreCase(IsolationType.Ec2.toString()))) {
secGrpEnabled = true;
break;
}
@@@ -1350,7 -1347,8 +1354,8 @@@
//For user vm, program the rules for each nic if the isolation uri scheme is ec2
NicTO[] nics = vmSpec.getNics();
for (NicTO nic : nics) {
- if (nic.getIsolationUri() != null && nic.getIsolationUri().getScheme().equalsIgnoreCase(IsolationType.Ec2.toString())) {
+ if ( nic.isSecurityGroupEnabled() || nic.getIsolationUri() != null
- && nic.getIsolationUri().getScheme().equalsIgnoreCase(IsolationType.Ec2.toString())) {
++ && nic.getIsolationUri().getScheme().equalsIgnoreCase(IsolationType.Ec2.toString())) {
result = callHostPlugin(conn, "vmops", "default_network_rules", "vmName", vmName, "vmIP", nic.getIp(), "vmMAC", nic.getMac(), "vmID", Long.toString(vmSpec.getId()));
if (result == null || result.isEmpty() || !Boolean.parseBoolean(result)) {
@@@ -1373,10 -1371,10 +1378,10 @@@
synchronized (_cluster.intern()) {
if (state != State.Stopped) {
s_vms.put(_cluster, _name, vmName, state);
-- s_logger.debug("2. The VM " + vmName + " is in " + state + " state.");
++ s_logger.debug("2. The VM " + vmName + " is in " + state + " state.");
} else {
s_vms.remove(_cluster, _name, vmName);
-- s_logger.debug("The VM is in stopped state, detected problem during startup : " + vmName);
++ s_logger.debug("The VM is in stopped state, detected problem during startup : " + vmName);
}
}
}
@@@ -1761,11 -1759,11 +1766,11 @@@
if (cmd.getStaticRoutes() != null) {
args += " -s " + cmd.getStaticRoutes();
}
--
++
if (cmd.getDefaultDns() != null) {
-- args += " -N " + cmd.getDefaultDns();
++ args += " -N " + cmd.getDefaultDns();
}
--
++
String result = callHostPlugin(conn, "vmops", "saveDhcpEntry", "args", args);
if (result == null || result.isEmpty()) {
return new Answer(cmd, false, "DhcpEntry failed");
@@@ -1941,10 -1939,10 +1946,10 @@@
args += " -c ";
args += "eth" + correctVif.getDevice(conn);
--
++
args += " -g ";
args += vlanGateway;
--
++
String result = callHostPlugin(conn, "vmops", "routerProxy", "args", args);
if (result == null || result.isEmpty()) {
@@@ -1980,7 -1978,7 +1985,7 @@@
try {
VM router = getVM(conn, vmName);
--
++
VIF correctVif = getVifByMac(conn, router, ip.getVifMacAddress());
if (correctVif == null) {
if (ip.isAdd()) {
@@@ -1990,7 -1988,7 +1995,7 @@@
return;
}
}
--
++
String args = "vpc_ipassoc.sh " + routerIp;
if (ip.isAdd()) {
@@@ -2004,14 -2002,14 +2009,14 @@@
args += " -c ";
args += "eth" + correctVif.getDevice(conn);
--
++
args += " -g ";
args += ip.getVlanGateway();
--
++
args += " -m ";
args += Long.toString(NetUtils.getCidrSize(ip.getVlanNetmask()));
--
--
++
++
args += " -n ";
args += NetUtils.getSubNet(ip.getPublicIp(), ip.getVlanNetmask());
@@@ -2025,7 -2023,7 +2030,7 @@@
throw new Exception(msg);
}
}
--
++
protected String networkUsage(Connection conn, final String privateIpAddress, final String option, final String vif) {
if (option.equals("get")) {
@@@ -2062,9 -2060,9 +2067,9 @@@
try {
Set<VM> vms = VM.getByNameLabel(conn, cmd.getName());
if(vms.size() == 1) {
-- int vncport = getVncPort(conn, vms.iterator().next());
-- String consoleurl;
-- consoleurl = "consoleurl=" +getVncUrl(conn, vms.iterator().next()) + "&" +"sessionref="+ conn.getSessionReference();
++ int vncport = getVncPort(conn, vms.iterator().next());
++ String consoleurl;
++ consoleurl = "consoleurl=" +getVncUrl(conn, vms.iterator().next()) + "&" +"sessionref="+ conn.getSessionReference();
return new GetVncPortAnswer(cmd, consoleurl, vncport);
} else {
return new GetVncPortAnswer(cmd, "There are " + vms.size() + " VMs named " + cmd.getName());
@@@ -2540,7 -2538,7 +2545,7 @@@
synchronized (_cluster.intern()) {
s_vms.put(_cluster, _name, vmName, State.Running);
}
-- s_logger.debug("3. The VM " + vmName + " is in Running state");
++ s_logger.debug("3. The VM " + vmName + " is in Running state");
}
return new CheckVirtualMachineAnswer(cmd, state, vncPort);
@@@ -2562,7 -2560,7 +2567,7 @@@
getNetwork(conn, nic);
}
synchronized (_cluster.intern()) {
-- s_vms.put(_cluster, _name, vm.getName(), State.Migrating);
++ s_vms.put(_cluster, _name, vm.getName(), State.Migrating);
}
s_logger.debug("4. The VM " + vm.getName() + " is in Migrating state");
@@@ -2634,7 -2632,7 +2639,7 @@@
s_logger.warn(errMsg);
throw new CloudRuntimeException(errMsg);
}
--
++
boolean killCopyProcess(Connection conn, String nameLabel) {
String results = callHostPluginAsync(conn, "vmops", "kill_copy_process",
60, "namelabel", nameLabel);
@@@ -2827,9 -2825,9 +2832,9 @@@
State state = null;
state = s_vms.getState(_cluster, vmName);
--
++
synchronized (_cluster.intern()) {
-- s_vms.put(_cluster, _name, vmName, State.Stopping);
++ s_vms.put(_cluster, _name, vmName, State.Stopping);
}
s_logger.debug("5. The VM " + vmName + " is in Stopping state");
try {
@@@ -2869,10 -2867,10 +2874,10 @@@
s_logger.warn(msg, e);
return new MigrateAnswer(cmd, false, msg, null);
} finally {
-- synchronized (_cluster.intern()) {
-- s_vms.put(_cluster, _name, vmName, state);
-- }
-- s_logger.debug("6. The VM " + vmName + " is in " + state + " state");
++ synchronized (_cluster.intern()) {
++ s_vms.put(_cluster, _name, vmName, state);
++ }
++ s_logger.debug("6. The VM " + vmName + " is in " + state + " state");
}
}
@@@ -2971,8 -2969,8 +2976,8 @@@
record = vm.getRecord(conn);
Set<Console> consoles = record.consoles;
if (consoles.isEmpty()) {
-- s_logger.warn("There are no Consoles available to the vm : " + record.nameDescription);
-- return -1;
++ s_logger.warn("There are no Consoles available to the vm : " + record.nameDescription);
++ return -1;
}
Iterator<Console> i = consoles.iterator();
} catch (XenAPIException e) {
@@@ -2997,23 -2995,23 +3002,23 @@@
vncport = vncport.replace("\n", "");
return NumbersUtil.parseInt(vncport, -1);
}
--
++
protected String getVncUrl(Connection conn, VM vm) {
VM.Record record;
Console c;
try {
record = vm.getRecord(conn);
Set<Console> consoles = record.consoles;
--
++
if (consoles.isEmpty()) {
-- s_logger.warn("There are no Consoles available to the vm : " + record.nameDescription);
-- return null;
++ s_logger.warn("There are no Consoles available to the vm : " + record.nameDescription);
++ return null;
}
Iterator<Console> i = consoles.iterator();
while(i.hasNext()) {
-- c = i.next();
-- if(c.getProtocol(conn) == ConsoleProtocol.RFB)
-- return c.getLocation(conn);
++ c = i.next();
++ if(c.getProtocol(conn) == ConsoleProtocol.RFB)
++ return c.getLocation(conn);
}
} catch (XenAPIException e) {
String msg = "Unable to get console url due to " + e.toString();
@@@ -3024,14 -3022,14 +3029,14 @@@
s_logger.warn(msg, e);
return null;
}
-- return null;
++ return null;
}
@Override
public RebootAnswer execute(RebootCommand cmd) {
Connection conn = getConnection();
synchronized (_cluster.intern()) {
-- s_vms.put(_cluster, _name, cmd.getVmName(), State.Starting);
++ s_vms.put(_cluster, _name, cmd.getVmName(), State.Starting);
}
s_logger.debug("7. The VM " + cmd.getVmName() + " is in Starting state");
try {
@@@ -3056,9 -3054,9 +3061,9 @@@
}
return new RebootAnswer(cmd, "reboot succeeded", true);
} finally {
-- synchronized (_cluster.intern()) {
-- s_vms.put(_cluster, _name, cmd.getVmName(), State.Running);
-- }
++ synchronized (_cluster.intern()) {
++ s_vms.put(_cluster, _name, cmd.getVmName(), State.Running);
++ }
s_logger.debug("8. The VM " + cmd.getVmName() + " is in Running state");
}
}
@@@ -3520,10 -3518,10 +3525,10 @@@
}
if (vms.size() == 0) {
-- synchronized (_cluster.intern()) {
-- s_logger.info("VM does not exist on XenServer" + _host.uuid);
-- s_vms.remove(_cluster, _name, vmName);
-- }
++ synchronized (_cluster.intern()) {
++ s_logger.info("VM does not exist on XenServer" + _host.uuid);
++ s_vms.remove(_cluster, _name, vmName);
++ }
return new StopAnswer(cmd, "VM does not exist", 0 , true);
}
for (VM vm : vms) {
@@@ -3542,9 -3540,9 +3547,9 @@@
}
State state = s_vms.getState(_cluster, vmName);
--
++
synchronized (_cluster.intern()) {
-- s_vms.put(_cluster, _name, vmName, State.Stopping);
++ s_vms.put(_cluster, _name, vmName, State.Stopping);
}
s_logger.debug("9. The VM " + vmName + " is in Stopping state");
@@@ -3605,10 -3603,10 +3610,10 @@@
String msg = "VM destroy failed in Stop " + vmName + " Command due to " + e.getMessage();
s_logger.warn(msg, e);
} finally {
-- synchronized (_cluster.intern()) {
-- s_vms.put(_cluster, _name, vmName, state);
-- }
-- s_logger.debug("10. The VM " + vmName + " is in " + state + " state");
++ synchronized (_cluster.intern()) {
++ s_vms.put(_cluster, _name, vmName, state);
++ }
++ s_logger.debug("10. The VM " + vmName + " is in " + state + " state");
}
}
}
@@@ -3829,7 -3827,7 +3834,7 @@@
return null;
}
--
++
protected VIF getCorrectVif(Connection conn, VM router, IpAddressTO ip) throws XmlRpcException, XenAPIException {
NicTO nic = new NicTO();
nic.setType(ip.getTrafficType());
@@@ -3852,7 -3850,7 +3857,7 @@@
}
return null;
}
--
++
protected VIF getVifByMac(Connection conn, VM router, String mac) throws XmlRpcException, XenAPIException {
Set<VIF> routerVIFs = router.getVIFs(conn);
mac = mac.trim();
@@@ -4235,7 -4233,7 +4240,7 @@@
}
Connection conn = getConnection();
if (!_canBridgeFirewall && !_isOvs) {
-- return new PingRoutingCommand(getType(), id, null);
++ return new PingRoutingCommand(getType(), id, null);
} else if (_isOvs) {
List<Pair<String, Long>>ovsStates = ovsFullSyncStates();
return new PingRoutingWithOvsCommand(getType(), id, null, ovsStates);
@@@ -4484,7 -4482,7 +4489,7 @@@
cmd.setHypervisorType(HypervisorType.XenServer);
cmd.setCluster(_cluster);
cmd.setPoolSync(false);
--
++
Pool pool;
try {
pool = Pool.getByUuid(conn, _host.pool);
@@@ -4492,8 -4490,8 +4497,8 @@@
Host.Record hostr = poolr.master.getRecord(conn);
if (_host.uuid.equals(hostr.uuid)) {
-- HashMap<String, Pair<String, State>> allStates=fullClusterSync(conn);
-- cmd.setClusterVMStateChanges(allStates);
++ HashMap<String, Pair<String, State>> allStates=fullClusterSync(conn);
++ cmd.setClusterVMStateChanges(allStates);
}
} catch (Throwable e) {
s_logger.warn("Check for master failed, failing the FULL Cluster sync command");
@@@ -5103,28 -5101,28 +5108,28 @@@
return Boolean.valueOf(callHostPlugin(conn, "vmops", "can_bridge_firewall", "host_uuid", _host.uuid, "instance", _instance));
}
--
++
private Answer execute(OvsSetupBridgeCommand cmd) {
Connection conn = getConnection();
findOrCreateTunnelNetwork(conn, cmd.getKey());
configureTunnelNetwork(conn, cmd.getNetworkId(), cmd.getHostId(), cmd.getKey());
s_logger.debug("OVS Bridge configured");
-- return new Answer(cmd, true, null);
++ return new Answer(cmd, true, null);
}
private Answer execute(OvsDestroyBridgeCommand cmd) {
Connection conn = getConnection();
destroyTunnelNetwork(conn, cmd.getKey());
s_logger.debug("OVS Bridge destroyed");
-- return new Answer(cmd, true, null);
++ return new Answer(cmd, true, null);
}
--
++
private Answer execute(OvsDestroyTunnelCommand cmd) {
Connection conn = getConnection();
try {
-- Network nw = findOrCreateTunnelNetwork(conn, cmd.getNetworkId());
++ Network nw = findOrCreateTunnelNetwork(conn, cmd.getNetworkId());
if (nw == null) {
-- s_logger.warn("Unable to find tunnel network for GRE key:" + cmd.getKey());
++ s_logger.warn("Unable to find tunnel network for GRE key:" + cmd.getKey());
return new Answer(cmd, false, "No network found");
}
@@@ -5151,16 -5149,16 +5156,16 @@@
Connection conn = getConnection();
String bridge = "unknown";
try {
-- Network nw = findOrCreateTunnelNetwork(conn, cmd.getKey());
++ Network nw = findOrCreateTunnelNetwork(conn, cmd.getKey());
if (nw == null) {
-- s_logger.debug("Error during bridge setup");
++ s_logger.debug("Error during bridge setup");
return new OvsCreateTunnelAnswer(cmd, false, "Cannot create network", bridge);
}
--
++
configureTunnelNetwork(conn, cmd.getNetworkId(), cmd.getFrom(), cmd.getKey());
bridge = nw.getBridge(conn);
String result = callHostPlugin(conn, "ovstunnel", "create_tunnel", "bridge", bridge, "remote_ip", cmd.getRemoteIp(),
-- "key", cmd.getKey().toString(), "from", cmd.getFrom().toString(), "to", cmd.getTo().toString());
++ "key", cmd.getKey().toString(), "from", cmd.getFrom().toString(), "to", cmd.getTo().toString());
String[] res = result.split(":");
if (res.length == 2 && res[0].equalsIgnoreCase("SUCCESS")) {
return new OvsCreateTunnelAnswer(cmd, true, result, res[1], bridge);
@@@ -5168,8 -5166,8 +5173,8 @@@
return new OvsCreateTunnelAnswer(cmd, false, result, bridge);
}
} catch (Exception e) {
-- s_logger.debug("Error during tunnel setup");
-- s_logger.warn("Caught execption when creating ovs tunnel", e);
++ s_logger.debug("Error during tunnel setup");
++ s_logger.warn("Caught execption when creating ovs tunnel", e);
return new OvsCreateTunnelAnswer(cmd, false, e.getMessage(), bridge);
}
}
@@@ -5255,9 -5253,9 +5260,9 @@@
private OvsFetchInterfaceAnswer execute(OvsFetchInterfaceCommand cmd) {
--
-- String label = cmd.getLabel();
-- s_logger.debug("Will look for network with name-label:" + label + " on host " + _host.ip);
++
++ String label = cmd.getLabel();
++ s_logger.debug("Will look for network with name-label:" + label + " on host " + _host.ip);
Connection conn = getConnection();
try {
XsLocalNetwork nw = this.getNetworkByName(conn, label);
@@@ -5266,17 -5264,17 +5271,17 @@@
Record pifRec = pif.getRecord(conn);
s_logger.debug("PIF object:" + pifRec.uuid + "(" + pifRec.device + ")");
return new OvsFetchInterfaceAnswer(cmd, true, "Interface " + pifRec.device + " retrieved successfully",
-- pifRec.IP, pifRec.netmask, pifRec.MAC);
++ pifRec.IP, pifRec.netmask, pifRec.MAC);
} catch (Exception e) {
e.printStackTrace();
s_logger.error("An error occurred while fetching the interface for " +
-- label + " on host " + _host.ip + ":" + e.toString() +
-- "(" + e.getClass() + ")");
++ label + " on host " + _host.ip + ":" + e.toString() +
++ "(" + e.getClass() + ")");
return new OvsFetchInterfaceAnswer(cmd, false, "EXCEPTION:" + e.getMessage());
}
}
--
++
private OvsCreateGreTunnelAnswer execute(OvsCreateGreTunnelCommand cmd) {
_isOvs = true;
@@@ -5299,9 -5297,9 +5304,9 @@@
} catch (Exception e) {
e.printStackTrace();
s_logger.error("An error occurred while creating a GRE tunnel to " +
-- cmd.getRemoteIp() + " on host " + _host.ip + ":" + e.getMessage() +
-- "(" + e.getClass() + ")");
--
++ cmd.getRemoteIp() + " on host " + _host.ip + ":" + e.getMessage() +
++ "(" + e.getClass() + ")");
++
}
return new OvsCreateGreTunnelAnswer(cmd, false, "EXCEPTION", _host.ip, bridge);
@@@ -5316,10 -5314,10 +5321,10 @@@
if (!_canBridgeFirewall) {
s_logger.warn("Host " + _host.ip + " cannot do bridge firewalling");
return new SecurityGroupRuleAnswer(cmd, false,
-- "Host " + _host.ip + " cannot do bridge firewalling",
-- SecurityGroupRuleAnswer.FailureReason.CANNOT_BRIDGE_FIREWALL);
++ "Host " + _host.ip + " cannot do bridge firewalling",
++ SecurityGroupRuleAnswer.FailureReason.CANNOT_BRIDGE_FIREWALL);
}
--
++
String result = callHostPlugin(conn, "vmops", "network_rules",
"vmName", cmd.getVmName(),
"vmIP", cmd.getGuestIp(),
@@@ -5338,7 -5336,7 +5343,7 @@@
return new SecurityGroupRuleAnswer(cmd);
}
}
--
++
protected Answer execute(DeleteStoragePoolCommand cmd) {
Connection conn = getConnection();
StorageFilerTO poolTO = cmd.getPool();
@@@ -5381,7 -5379,7 +5386,7 @@@
if( hr.softwareVersion.get("product_version_text_short") != null ) {
details.put("product_version_text_short", hr.softwareVersion.get("product_version_text_short"));
cmd.setHypervisorVersion(hr.softwareVersion.get("product_version_text_short"));
--
++
cmd.setHypervisorVersion(_host.product_version);
}
if (_privateNetworkName != null) {
@@@ -5546,16 -5544,10 +5551,16 @@@
}
CheckXenHostInfo();
-
++
+ this.storageResource = getStorageResource();
return true;
}
-
+
+ protected XenServerStorageResource getStorageResource() {
+ return new XenServerStorageResource(this);
+ }
+
private void CheckXenHostInfo() throws ConfigurationException {
Connection conn = _connPool.slaveConnect(_host.ip, _username, _password);
if( conn == null ) {
@@@ -5600,10 -5592,10 +5605,10 @@@
DiskProfile dskch = cmd.getDiskCharacteristics();
VDI vdi = null;
try {
- SR poolSr = getStorageRepository(conn, pool);
+ SR poolSr = getStorageRepository(conn, pool.getUuid());
if (cmd.getTemplateUrl() != null) {
VDI tmpltvdi = null;
--
++
tmpltvdi = getVDIbyUuid(conn, cmd.getTemplateUrl());
vdi = tmpltvdi.createClone(conn, new HashMap<String, String>());
vdi.setNameLabel(conn, dskch.getName());
@@@ -7262,12 -7271,12 +7284,12 @@@
synchronized (_cluster.intern()) {
-- HashMap<String, Pair<String, State>> newStates = getAllVms(conn);
-- if (newStates == null) {
-- s_logger.warn("Unable to get the vm states so no state sync at this point.");
-- return null;
-- }
-- HashMap<String, Pair<String, State>> oldStates = new HashMap<String, Pair<String, State>>(s_vms.size(_cluster));
++ HashMap<String, Pair<String, State>> newStates = getAllVms(conn);
++ if (newStates == null) {
++ s_logger.warn("Unable to get the vm states so no state sync at this point.");
++ return null;
++ }
++ HashMap<String, Pair<String, State>> oldStates = new HashMap<String, Pair<String, State>>(s_vms.size(_cluster));
oldStates.putAll(s_vms.getClusterVmState(_cluster));
for (final Map.Entry<String, Pair<String, State>> entry : newStates.entrySet()) {
@@@ -7282,7 -7291,7 +7304,7 @@@
if (!host_uuid.equals(oldState.first()) && newState != State.Stopped && newState != State.Stopping){
s_logger.warn("Detecting a change in host for " + vm);
changes.put(vm, new Pair<String, State>(host_uuid, newState));
--
++
s_logger.debug("11. The VM " + vm + " is in " + newState + " state");
s_vms.put(_cluster, host_uuid, vm, newState);
continue;
@@@ -7292,7 -7301,7 +7314,7 @@@
if (newState == State.Stopped && oldState != null && oldState.second() != State.Stopping && oldState.second() != State.Stopped) {
newState = getRealPowerState(conn, vm);
}
--
++
if (s_logger.isTraceEnabled()) {
s_logger.trace("VM " + vm + ": xen has state " + newState + " and we have state " + (oldState != null ? oldState.toString() : "null"));
}
@@@ -7307,7 -7316,7 +7329,7 @@@
changes.put(vm, new Pair<String, State>(host_uuid, newState));
} else if (oldState.second() == State.Starting) {
if (newState == State.Running) {
-- s_logger.debug("12. The VM " + vm + " is in " + State.Running + " state");
++ s_logger.debug("12. The VM " + vm + " is in " + State.Running + " state");
s_vms.put(_cluster, host_uuid, vm, newState);
} else if (newState == State.Stopped) {
s_logger.warn("Ignoring vm " + vm + " because of a lag in starting the vm.");
@@@ -7319,13 -7328,13 +7341,13 @@@
}
} else if (oldState.second() == State.Stopping) {
if (newState == State.Stopped) {
-- s_logger.debug("13. The VM " + vm + " is in " + State.Stopped + " state");
++ s_logger.debug("13. The VM " + vm + " is in " + State.Stopped + " state");
s_vms.put(_cluster, host_uuid, vm, newState);
} else if (newState == State.Running) {
s_logger.warn("Ignoring vm " + vm + " because of a lag in stopping the vm. ");
}
} else if (oldState.second() != newState) {
-- s_logger.debug("14. The VM " + vm + " is in " + newState + " state was " + oldState.second());
++ s_logger.debug("14. The VM " + vm + " is in " + newState + " state was " + oldState.second());
s_vms.put(_cluster, host_uuid, vm, newState);
if (newState == State.Stopped) {
/*
@@@ -7341,7 -7350,7 +7363,7 @@@
final String vm = entry.getKey();
final State oldState = entry.getValue().second();
String host_uuid = entry.getValue().first();
--
++
if (s_logger.isTraceEnabled()) {
s_logger.trace("VM " + vm + " is now missing from xen so reporting stopped");
}
@@@ -7352,7 -7361,7 +7374,7 @@@
} else if (oldState == State.Starting) {
s_logger.warn("Ignoring VM " + vm + " in transition state starting.");
} else if (oldState == State.Stopped) {
-- s_logger.debug("VM missing " + vm + " old state stopped so removing.");
++ s_logger.debug("VM missing " + vm + " old state stopped so removing.");
s_vms.remove(_cluster, host_uuid, vm);
} else if (oldState == State.Migrating) {
s_logger.warn("Ignoring VM " + vm + " in migrating state.");
@@@ -7526,31 -7535,31 +7548,31 @@@
if (cmd.isCreate()) {
args += " -A";
args += " -l ";
-- args += cmd.getLocalPublicIp();
++ args += cmd.getLocalPublicIp();
args += " -n ";
-- args += cmd.getLocalGuestCidr();
++ args += cmd.getLocalGuestCidr();
args += " -g ";
-- args += cmd.getLocalPublicGateway();
++ args += cmd.getLocalPublicGateway();
args += " -r ";
-- args += cmd.getPeerGatewayIp();
++ args += cmd.getPeerGatewayIp();
args += " -N ";
-- args += cmd.getPeerGuestCidrList();
++ args += cmd.getPeerGuestCidrList();
args += " -e ";
-- args += "\"" + cmd.getEspPolicy() + "\"";
++ args += "\"" + cmd.getEspPolicy() + "\"";
args += " -i ";
-- args += "\"" + cmd.getIkePolicy() + "\"";
++ args += "\"" + cmd.getIkePolicy() + "\"";
args += " -t ";
-- args += Long.toString(cmd.getIkeLifetime());
++ args += Long.toString(cmd.getIkeLifetime());
args += " -T ";
-- args += Long.toString(cmd.getEspLifetime());
++ args += Long.toString(cmd.getEspLifetime());
args += " -s ";
-- args += "\"" + cmd.getIpsecPsk() + "\"";
-- args += " -d ";
-- if (cmd.getDpd()) {
-- args += "1";
-- } else {
-- args += "0";
-- }
++ args += "\"" + cmd.getIpsecPsk() + "\"";
++ args += " -d ";
++ if (cmd.getDpd()) {
++ args += "1";
++ } else {
++ args += "0";
++ }
} else {
args += " -D";
args += " -r ";
@@@ -7576,7 -7585,7 +7598,7 @@@
VM router = getVM(conn, routerName);
VIF correctVif = getCorrectVif(conn, router, pubIp);
--
++
String args = "vpc_snat.sh " + routerIp;
args += " -A ";
@@@ -7585,7 -7594,7 +7607,7 @@@
args += " -c ";
args += "eth" + correctVif.getDevice(conn);
--
++
String result = callHostPlugin(conn, "vmops", "routerProxy", "args", args);
if (result == null || result.isEmpty()) {
throw new InternalErrorException("Xen plugin \"vpc_snat\" failed.");
@@@ -7609,11 -7618,11 +7631,11 @@@
String [][] rules = cmd.generateFwRules();
StringBuilder sb = new StringBuilder();
String[] aclRules = rules[0];
--
++
for (int i = 0; i < aclRules.length; i++) {
sb.append(aclRules[i]).append(',');
}
--
++
NicTO nic = cmd.getNic();
VIF vif = getVifByMac(conn, router, nic.getMac());
String args = "vpc_acl.sh " + routerIp;
@@@ -7665,8 -7674,8 +7687,8 @@@
}
return new SetPortForwardingRulesAnswer(cmd, results, endResult);
}
--
--
++
++
private SetStaticRouteAnswer execute(SetStaticRouteCommand cmd) {
String callResult;
Connection conn = getConnection();
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/element/ElasticLoadBalancerElement.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
----------------------------------------------------------------------
diff --cc plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
index e6dc1e8,82c6120..e0a211a
--- a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
+++ b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
@@@ -495,9 -496,9 +498,9 @@@ ElasticLoadBalancerManager, Manager, V
if (s_logger.isDebugEnabled()) {
s_logger.debug("Creating the ELB vm " + id);
}
-
+
- List<NetworkOfferingVO> offerings = _networkMgr.getSystemAccountNetworkOfferings(NetworkOfferingVO.SystemControlNetwork);
- NetworkOfferingVO controlOffering = offerings.get(0);
+ List<? extends NetworkOffering> offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork);
+ NetworkOffering controlOffering = offerings.get(0);
NetworkVO controlConfig = _networkMgr.setupNetwork(_systemAcct, controlOffering, plan, null, null, false).get(0);
List<Pair<NetworkVO, NicProfile>> networks = new ArrayList<Pair<NetworkVO, NicProfile>>(2);
@@@ -589,16 -590,16 +592,16 @@@
sc.setParameters("publicPort", publicPort);
}
List<LoadBalancerVO> lbs = _lbDao.search(sc, null);
-
+
return lbs == null || lbs.size()==0 ? null: lbs;
}
-
+
@DB
public PublicIp allocDirectIp(Account account, long guestNetworkId) throws InsufficientAddressCapacityException {
- Network frontEndNetwork = _networkMgr.getNetwork(guestNetworkId);
+ Network frontEndNetwork = _networkModel.getNetwork(guestNetworkId);
Transaction txn = Transaction.currentTxn();
txn.start();
-
+
PublicIp ip = _networkMgr.assignPublicIpAddress(frontEndNetwork.getDataCenterId(), null, account, VlanType.DirectAttached, frontEndNetwork.getId(), null, true);
IPAddressVO ipvo = _ipAddressDao.findById(ip.getId());
ipvo.setAssociatedWithNetworkId(frontEndNetwork.getId());
@@@ -622,11 -623,11 +625,11 @@@
@DB
public LoadBalancer handleCreateLoadBalancerRule(CreateLoadBalancerRuleCmd lb, Account account, long networkId) throws InsufficientAddressCapacityException, NetworkRuleConflictException {
//this part of code is executed when the LB provider is Elastic Load Balancer vm
- if (!_networkMgr.isProviderSupportServiceInNetwork(lb.getNetworkId(), Service.Lb, Provider.ElasticLoadBalancerVm)) {
+ if (!_networkModel.isProviderSupportServiceInNetwork(lb.getNetworkId(), Service.Lb, Provider.ElasticLoadBalancerVm)) {
- return null;
- }
-
- Long ipId = lb.getSourceIpAddressId();
+ return null;
+ }
+
+ Long ipId = lb.getSourceIpAddressId();
if (ipId != null) {
return null;
}
@@@ -661,9 -662,9 +664,9 @@@
throw new NetworkRuleConflictException("ELB: Found existing load balancers matching requested new LB");
}
- Network network = _networkMgr.getNetwork(networkId);
+ Network network = _networkModel.getNetwork(networkId);
IPAddressVO ipAddr = _ipAddressDao.findById(ipId);
-
+
LoadBalancer result = null;
try {
lb.setSourceIpAddressId(ipId);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/f5/src/com/cloud/api/commands/AddExternalLoadBalancerCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/f5/src/com/cloud/api/commands/AddF5LoadBalancerCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/f5/src/com/cloud/api/commands/ConfigureF5LoadBalancerCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/f5/src/com/cloud/api/commands/DeleteExternalLoadBalancerCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/f5/src/com/cloud/api/commands/DeleteF5LoadBalancerCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/f5/src/com/cloud/api/commands/ListF5LoadBalancerNetworksCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/f5/src/com/cloud/api/commands/ListF5LoadBalancersCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
----------------------------------------------------------------------
diff --cc plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
index 1773026,2e6f6e7..36f0dad
--- a/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
+++ b/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
@@@ -16,7 -16,8 +16,6 @@@
// under the License.
package com.cloud.network.element;
- import java.lang.String;
-import java.lang.Class;
-import java.lang.String;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@@ -24,11 -25,9 +23,11 @@@ import java.util.Map
import java.util.Set;
import javax.ejb.Local;
+import javax.inject.Inject;
--import com.cloud.utils.PropertiesUtil;
++import org.apache.cloudstack.api.response.ExternalLoadBalancerResponse;
++import org.apache.cloudstack.network.ExternalNetworkDeviceManager.NetworkDevice;
import org.apache.log4j.Logger;
- import org.springframework.stereotype.Component;
import com.cloud.api.ApiDBUtils;
import com.cloud.api.commands.AddExternalLoadBalancerCmd;
@@@ -60,7 -59,7 +59,6 @@@ import com.cloud.network.ExternalLoadBa
import com.cloud.network.ExternalLoadBalancerDeviceManagerImpl;
import com.cloud.network.ExternalLoadBalancerDeviceVO;
import com.cloud.network.ExternalLoadBalancerDeviceVO.LBDeviceState;
--import org.apache.cloudstack.network.ExternalNetworkDeviceManager.NetworkDevice;
import com.cloud.network.Network;
import com.cloud.network.Network.Capability;
import com.cloud.network.Network.Provider;
@@@ -83,9 -82,10 +81,7 @@@ import com.cloud.network.resource.F5Big
import com.cloud.network.rules.LbStickinessMethod;
import com.cloud.network.rules.LbStickinessMethod.StickinessMethodType;
import com.cloud.offering.NetworkOffering;
--import com.cloud.resource.ServerResource;
--import org.apache.cloudstack.api.response.ExternalLoadBalancerResponse;
import com.cloud.utils.NumbersUtil;
-import com.cloud.utils.component.Inject;
import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.vm.NicProfile;
import com.cloud.vm.ReservationContext;
@@@ -93,8 -93,8 +89,7 @@@ import com.cloud.vm.VirtualMachine
import com.cloud.vm.VirtualMachineProfile;
import com.google.gson.Gson;
- @Component
- @Local(value = NetworkElement.class)
-@Local(value = {NetworkElement.class, LoadBalancingServiceProvider.class,
- IpDeployer.class})
++@Local(value = {NetworkElement.class, LoadBalancingServiceProvider.class, IpDeployer.class})
public class F5ExternalLoadBalancerElement extends ExternalLoadBalancerDeviceManagerImpl implements LoadBalancingServiceProvider, IpDeployer, F5ExternalLoadBalancerElementService, ExternalLoadBalancerDeviceManager {
private static final Logger s_logger = Logger.getLogger(F5ExternalLoadBalancerElement.class);
@@@ -133,7 -133,7 +128,7 @@@
@Override
public boolean implement(Network guestConfig, NetworkOffering offering, DeployDestination dest, ReservationContext context) throws ResourceUnavailableException, ConcurrentOperationException,
-- InsufficientNetworkCapacityException {
++ InsufficientNetworkCapacityException {
if (!canHandle(guestConfig)) {
return false;
@@@ -148,7 -148,7 +143,7 @@@
@Override
public boolean prepare(Network config, NicProfile nic, VirtualMachineProfile<? extends VirtualMachine> vm, DeployDestination dest, ReservationContext context) throws ConcurrentOperationException,
-- InsufficientNetworkCapacityException, ResourceUnavailableException {
++ InsufficientNetworkCapacityException, ResourceUnavailableException {
return true;
}
@@@ -213,8 -213,8 +208,8 @@@
// Specifies that load balancing rules can only be made with public IPs that aren't source NAT IPs
lbCapabilities.put(Capability.LoadBalancingSupportedIps, "additional");
-- // Support inline mode with firewall
-- lbCapabilities.put(Capability.InlineMode, "true");
++ // Support inline mode with firewall
++ lbCapabilities.put(Capability.InlineMode, "true");
LbStickinessMethod method;
List<LbStickinessMethod> methodList = new ArrayList<LbStickinessMethod>();
@@@ -253,7 -253,7 +248,7 @@@
@Override
public boolean shutdownProviderInstances(PhysicalNetworkServiceProvider provider, ReservationContext context) throws ConcurrentOperationException,
-- ResourceUnavailableException {
++ ResourceUnavailableException {
// TODO Auto-generated method stub
return true;
}
@@@ -291,7 -299,7 +294,7 @@@
pNetwork = physicalNetworks.get(0);
String deviceType = NetworkDevice.F5BigIpLoadBalancer.getName();
-- lbDeviceVO = addExternalLoadBalancer(pNetwork.getId(), cmd.getUrl(), cmd.getUsername(), cmd.getPassword(), deviceType, (ServerResource) new F5BigIpResource());
++ lbDeviceVO = addExternalLoadBalancer(pNetwork.getId(), cmd.getUrl(), cmd.getUsername(), cmd.getPassword(), deviceType, new F5BigIpResource());
if (lbDeviceVO != null) {
lbHost = _hostDao.findById(lbDeviceVO.getHostId());
@@@ -344,7 -352,7 +347,7 @@@
throw new InvalidParameterValueException("Invalid F5 load balancer device type");
}
-- return addExternalLoadBalancer(cmd.getPhysicalNetworkId(), cmd.getUrl(), cmd.getUsername(), cmd.getPassword(), deviceName, (ServerResource) new F5BigIpResource());
++ return addExternalLoadBalancer(cmd.getPhysicalNetworkId(), cmd.getUrl(), cmd.getUsername(), cmd.getPassword(), deviceName, new F5BigIpResource());
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/AddExternalFirewallCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/AddSrxFirewallCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/ConfigureSrxFirewallCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/DeleteExternalFirewallCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/DeleteSrxFirewallCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/ListSrxFirewallNetworksCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/juniper-srx/src/com/cloud/api/commands/ListSrxFirewallsCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java
----------------------------------------------------------------------
diff --cc plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java
index 63781bb,5038cc8..d13b95d
--- a/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java
+++ b/plugins/network-elements/juniper-srx/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java
@@@ -16,7 -16,7 +16,6 @@@
// under the License.
package com.cloud.network.element;
--import java.lang.String;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@@ -24,11 -24,9 +23,12 @@@ import java.util.Map
import java.util.Set;
import javax.ejb.Local;
+import javax.inject.Inject;
--import com.cloud.utils.PropertiesUtil;
++import org.apache.cloudstack.api.response.ExternalFirewallResponse;
++import org.apache.cloudstack.network.ExternalNetworkDeviceManager.NetworkDevice;
import org.apache.log4j.Logger;
+import org.springframework.stereotype.Component;
import com.cloud.api.ApiDBUtils;
import com.cloud.api.commands.AddExternalFirewallCmd;
@@@ -60,7 -58,7 +60,6 @@@ import com.cloud.host.dao.HostDetailsDa
import com.cloud.network.ExternalFirewallDeviceManagerImpl;
import com.cloud.network.ExternalFirewallDeviceVO;
import com.cloud.network.ExternalFirewallDeviceVO.FirewallDeviceState;
--import org.apache.cloudstack.network.ExternalNetworkDeviceManager.NetworkDevice;
import com.cloud.network.Network;
import com.cloud.network.Network.Capability;
import com.cloud.network.Network.Provider;
@@@ -85,19 -83,21 +84,19 @@@ import com.cloud.network.rules.PortForw
import com.cloud.network.rules.StaticNat;
import com.cloud.offering.NetworkOffering;
import com.cloud.offerings.dao.NetworkOfferingDao;
--import com.cloud.resource.ServerResource;
--import org.apache.cloudstack.api.response.ExternalFirewallResponse;
import com.cloud.utils.NumbersUtil;
-import com.cloud.utils.component.Inject;
import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.vm.NicProfile;
import com.cloud.vm.ReservationContext;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachineProfile;
+@Component
- @Local(value = NetworkElement.class)
+ @Local(value = {NetworkElement.class, FirewallServiceProvider.class,
- PortForwardingServiceProvider.class, IpDeployer.class,
- SourceNatServiceProvider.class, RemoteAccessVPNServiceProvider.class})
++ PortForwardingServiceProvider.class, IpDeployer.class,
++ SourceNatServiceProvider.class, RemoteAccessVPNServiceProvider.class})
public class JuniperSRXExternalFirewallElement extends ExternalFirewallDeviceManagerImpl implements SourceNatServiceProvider, FirewallServiceProvider,
-- PortForwardingServiceProvider, RemoteAccessVPNServiceProvider, IpDeployer, JuniperSRXFirewallElementService, StaticNatServiceProvider {
++PortForwardingServiceProvider, RemoteAccessVPNServiceProvider, IpDeployer, JuniperSRXFirewallElementService, StaticNatServiceProvider {
private static final Logger s_logger = Logger.getLogger(JuniperSRXExternalFirewallElement.class);
@@@ -155,7 -154,7 +153,7 @@@
@Override
public boolean implement(Network network, NetworkOffering offering, DeployDestination dest, ReservationContext context) throws ResourceUnavailableException, ConcurrentOperationException,
-- InsufficientNetworkCapacityException {
++ InsufficientNetworkCapacityException {
DataCenter zone = _configMgr.getZone(network.getDataCenterId());
// don't have to implement network is Basic zone
@@@ -180,7 -179,7 +178,7 @@@
@Override
public boolean prepare(Network config, NicProfile nic, VirtualMachineProfile<? extends VirtualMachine> vm, DeployDestination dest, ReservationContext context) throws ConcurrentOperationException,
-- InsufficientNetworkCapacityException, ResourceUnavailableException {
++ InsufficientNetworkCapacityException, ResourceUnavailableException {
return true;
}
@@@ -329,7 -328,7 +327,7 @@@
@Override
public boolean shutdownProviderInstances(PhysicalNetworkServiceProvider provider, ReservationContext context) throws ConcurrentOperationException,
-- ResourceUnavailableException {
++ ResourceUnavailableException {
// TODO Auto-generated method stub
return true;
}
@@@ -361,7 -360,7 +359,7 @@@
pNetwork = physicalNetworks.get(0);
String deviceType = NetworkDevice.JuniperSRXFirewall.getName();
-- ExternalFirewallDeviceVO fwDeviceVO = addExternalFirewall(pNetwork.getId(), cmd.getUrl(), cmd.getUsername(), cmd.getPassword(), deviceType, (ServerResource) new JuniperSrxResource());
++ ExternalFirewallDeviceVO fwDeviceVO = addExternalFirewall(pNetwork.getId(), cmd.getUrl(), cmd.getUsername(), cmd.getPassword(), deviceType, new JuniperSrxResource());
if (fwDeviceVO != null) {
fwHost = _hostDao.findById(fwDeviceVO.getHostId());
}
@@@ -401,6 -400,6 +399,7 @@@
return firewallHosts;
}
++ @Override
public ExternalFirewallResponse createExternalFirewallResponse(Host externalFirewall) {
return super.createExternalFirewallResponse(externalFirewall);
}
@@@ -418,7 -425,7 +425,7 @@@
throw new InvalidParameterValueException("Invalid SRX firewall device type");
}
return addExternalFirewall(cmd.getPhysicalNetworkId(), cmd.getUrl(), cmd.getUsername(), cmd.getPassword(), deviceName,
-- (ServerResource) new JuniperSrxResource());
++ new JuniperSrxResource());
}
@Override
@@@ -563,8 -570,8 +570,8 @@@
return true;
}
-- @Override
-- public boolean applyStaticNats(Network config, List<? extends StaticNat> rules) throws ResourceUnavailableException {
++ @Override
++ public boolean applyStaticNats(Network config, List<? extends StaticNat> rules) throws ResourceUnavailableException {
if (!canHandle(config, Service.StaticNat)) {
return false;
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/midokura-midonet/src/com/cloud/network/element/MidokuraMidonetElement.java
----------------------------------------------------------------------
diff --cc plugins/network-elements/midokura-midonet/src/com/cloud/network/element/MidokuraMidonetElement.java
index 9954e80,a45c5c0..48833b3
--- a/plugins/network-elements/midokura-midonet/src/com/cloud/network/element/MidokuraMidonetElement.java
+++ b/plugins/network-elements/midokura-midonet/src/com/cloud/network/element/MidokuraMidonetElement.java
@@@ -36,19 -36,12 +36,15 @@@ import com.cloud.vm.ReservationContext
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachineProfile;
import org.apache.log4j.Logger;
+import org.springframework.stereotype.Component;
import javax.ejb.Local;
+ import java.lang.Class;
import java.util.Map;
import java.util.Set;
- /**
- * User: tomoe
- * Date: 8/8/12
- * Time: 1:38 PM
- */
+
+@Component
@Local(value = NetworkElement.class)
public class MidokuraMidonetElement extends AdapterBase implements ConnectivityProvider, PluggableService {
private static final Logger s_logger = Logger.getLogger(MidokuraMidonetElement.class);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/netscaler/src/com/cloud/api/commands/AddNetscalerLoadBalancerCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/netscaler/src/com/cloud/api/commands/ConfigureNetscalerLoadBalancerCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/netscaler/src/com/cloud/api/commands/DeleteNetscalerLoadBalancerCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/netscaler/src/com/cloud/api/commands/ListNetscalerLoadBalancerNetworksCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/netscaler/src/com/cloud/api/commands/ListNetscalerLoadBalancersCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
----------------------------------------------------------------------
diff --cc plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
index faff153,c2dc1e0..868c56a
--- a/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
+++ b/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
@@@ -25,11 -26,9 +25,12 @@@ import java.util.Map
import java.util.Set;
import javax.ejb.Local;
+import javax.inject.Inject;
--import com.cloud.utils.PropertiesUtil;
++import org.apache.cloudstack.api.ApiConstants;
++import org.apache.cloudstack.network.ExternalNetworkDeviceManager.NetworkDevice;
import org.apache.log4j.Logger;
+import org.springframework.stereotype.Component;
import com.cloud.agent.AgentManager;
import com.cloud.agent.api.Answer;
@@@ -38,8 -37,8 +39,6 @@@ import com.cloud.agent.api.routing.SetS
import com.cloud.agent.api.routing.SetStaticNatRulesCommand;
import com.cloud.agent.api.to.LoadBalancerTO;
import com.cloud.agent.api.to.StaticNatRuleTO;
--import org.apache.cloudstack.api.ApiConstants;
--
import com.cloud.api.ApiDBUtils;
import com.cloud.api.commands.AddNetscalerLoadBalancerCmd;
import com.cloud.api.commands.ConfigureNetscalerLoadBalancerCmd;
@@@ -70,7 -69,7 +69,6 @@@ import com.cloud.network.ExternalLoadBa
import com.cloud.network.ExternalLoadBalancerDeviceManagerImpl;
import com.cloud.network.ExternalLoadBalancerDeviceVO;
import com.cloud.network.ExternalLoadBalancerDeviceVO.LBDeviceState;
--import org.apache.cloudstack.network.ExternalNetworkDeviceManager.NetworkDevice;
import com.cloud.network.IpAddress;
import com.cloud.network.NetScalerPodVO;
import com.cloud.network.Network;
@@@ -113,8 -113,7 +111,8 @@@ import com.cloud.vm.VirtualMachine
import com.cloud.vm.VirtualMachineProfile;
import com.google.gson.Gson;
+@Component
- @Local(value = NetworkElement.class)
+ @Local(value = {NetworkElement.class, StaticNatServiceProvider.class, LoadBalancingServiceProvider.class})
public class NetscalerElement extends ExternalLoadBalancerDeviceManagerImpl implements LoadBalancingServiceProvider, NetscalerLoadBalancerElementService, ExternalLoadBalancerDeviceManager, IpDeployer,
StaticNatServiceProvider {
@@@ -614,13 -617,13 +616,13 @@@
// NetScaler can only act as Lb and Static Nat service provider
if (services != null && !services.isEmpty() && !netscalerServices.containsAll(services)) {
s_logger.warn("NetScaler network element can only support LB and Static NAT services and service combination "
-- + services + " is not supported.");
++ + services + " is not supported.");
String servicesList = "";
for (Service service : services) {
servicesList += service.getName() + " ";
}
- s_logger.warn("NetScaler network element can only support LB and Static NAT services and service combination "
- + servicesList + " is not supported.");
+ s_logger.warn("NetScaler network element can only support LB and Static NAT services and service combination "
- + servicesList + " is not supported.");
++ + servicesList + " is not supported.");
s_logger.warn("NetScaler network element can only support LB and Static NAT services and service combination "
+ services + " is not supported.");
return false;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/nicira-nvp/src/com/cloud/api/commands/AddNiciraNvpDeviceCmd.java
----------------------------------------------------------------------
diff --cc plugins/network-elements/nicira-nvp/src/com/cloud/api/commands/AddNiciraNvpDeviceCmd.java
index 8457b44,3bd39b8..5b2dacf
--- a/plugins/network-elements/nicira-nvp/src/com/cloud/api/commands/AddNiciraNvpDeviceCmd.java
+++ b/plugins/network-elements/nicira-nvp/src/com/cloud/api/commands/AddNiciraNvpDeviceCmd.java
@@@ -106,15 -104,15 +106,15 @@@ public class AddNiciraNvpDeviceCmd exte
response.setResponseName(getCommandName());
this.setResponseObject(response);
} else {
- throw new ServerApiException(BaseAsyncCmd.INTERNAL_ERROR, "Failed to add Nicira NVP device due to internal error.");
+ throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to add Nicira NVP device due to internal error.");
}
} catch (InvalidParameterValueException invalidParamExcp) {
- throw new ServerApiException(BaseCmd.PARAM_ERROR, invalidParamExcp.getMessage());
+ throw new ServerApiException(ApiErrorCode.PARAM_ERROR, invalidParamExcp.getMessage());
} catch (CloudRuntimeException runtimeExcp) {
- throw new ServerApiException(BaseCmd.INTERNAL_ERROR, runtimeExcp.getMessage());
+ throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, runtimeExcp.getMessage());
}
}
-
+
@Override
public String getCommandName() {
return s_name;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/nicira-nvp/src/com/cloud/api/commands/DeleteNiciraNvpDeviceCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/nicira-nvp/src/com/cloud/api/commands/ListNiciraNvpDeviceNetworksCmd.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/10d9c019/plugins/network-elements/nicira-nvp/src/com/cloud/api/commands/ListNiciraNvpDevicesCmd.java
----------------------------------------------------------------------
diff --cc plugins/network-elements/nicira-nvp/src/com/cloud/api/commands/ListNiciraNvpDevicesCmd.java
index 32080fd,0d2ca5a..81cbb23
--- a/plugins/network-elements/nicira-nvp/src/com/cloud/api/commands/ListNiciraNvpDevicesCmd.java
+++ b/plugins/network-elements/nicira-nvp/src/com/cloud/api/commands/ListNiciraNvpDevicesCmd.java
@@@ -19,9 -19,8 +19,10 @@@ package com.cloud.api.commands
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+
import org.apache.cloudstack.api.ApiConstants;
+ import org.apache.cloudstack.api.ApiErrorCode;
import org.apache.cloudstack.api.BaseCmd;
import org.apache.cloudstack.api.BaseListCmd;
import org.apache.cloudstack.api.Parameter;