diff --git a/build/build-cloud.xml b/build/build-cloud.xml
index 38f228807e2..5eabf8c3a5d 100755
--- a/build/build-cloud.xml
+++ b/build/build-cloud.xml
@@ -479,7 +479,7 @@
-
+
@@ -586,7 +586,7 @@
-
+
@@ -610,4 +610,10 @@
+
+
+
+
+
+
diff --git a/client/tomcatconf/components.xml.in b/client/tomcatconf/components.xml.in
index 861a622c58c..884e9545534 100755
--- a/client/tomcatconf/components.xml.in
+++ b/client/tomcatconf/components.xml.in
@@ -159,6 +159,7 @@
+
diff --git a/plugins/network-elements/f5/.classpath b/plugins/network-elements/f5/.classpath
new file mode 100644
index 00000000000..a3f5d12a4c8
--- /dev/null
+++ b/plugins/network-elements/f5/.classpath
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugins/network-elements/f5/.project b/plugins/network-elements/f5/.project
new file mode 100644
index 00000000000..d9cfdd7ade4
--- /dev/null
+++ b/plugins/network-elements/f5/.project
@@ -0,0 +1,17 @@
+
+
+ f5
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/plugins/network-elements/f5/build.xml b/plugins/network-elements/f5/build.xml
new file mode 100755
index 00000000000..47fcb1c6181
--- /dev/null
+++ b/plugins/network-elements/f5/build.xml
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+ Cloud Stack ant build file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/server/src/com/cloud/api/commands/AddExternalLoadBalancerCmd.java b/plugins/network-elements/f5/src/com/cloud/api/AddExternalLoadBalancerCmd.java
similarity index 100%
rename from server/src/com/cloud/api/commands/AddExternalLoadBalancerCmd.java
rename to plugins/network-elements/f5/src/com/cloud/api/AddExternalLoadBalancerCmd.java
diff --git a/server/src/com/cloud/api/commands/DeleteExternalLoadBalancerCmd.java b/plugins/network-elements/f5/src/com/cloud/api/DeleteExternalLoadBalancerCmd.java
similarity index 100%
rename from server/src/com/cloud/api/commands/DeleteExternalLoadBalancerCmd.java
rename to plugins/network-elements/f5/src/com/cloud/api/DeleteExternalLoadBalancerCmd.java
diff --git a/server/src/com/cloud/api/commands/ListExternalLoadBalancersCmd.java b/plugins/network-elements/f5/src/com/cloud/api/ListExternalLoadBalancersCmd.java
similarity index 100%
rename from server/src/com/cloud/api/commands/ListExternalLoadBalancersCmd.java
rename to plugins/network-elements/f5/src/com/cloud/api/ListExternalLoadBalancersCmd.java
diff --git a/server/src/com/cloud/api/commands/AddF5LoadBalancerCmd.java b/plugins/network-elements/f5/src/com/cloud/api/commands/AddF5LoadBalancerCmd.java
similarity index 100%
rename from server/src/com/cloud/api/commands/AddF5LoadBalancerCmd.java
rename to plugins/network-elements/f5/src/com/cloud/api/commands/AddF5LoadBalancerCmd.java
diff --git a/server/src/com/cloud/api/commands/ConfigureF5LoadBalancerCmd.java b/plugins/network-elements/f5/src/com/cloud/api/commands/ConfigureF5LoadBalancerCmd.java
similarity index 100%
rename from server/src/com/cloud/api/commands/ConfigureF5LoadBalancerCmd.java
rename to plugins/network-elements/f5/src/com/cloud/api/commands/ConfigureF5LoadBalancerCmd.java
diff --git a/server/src/com/cloud/api/commands/DeleteF5LoadBalancerCmd.java b/plugins/network-elements/f5/src/com/cloud/api/commands/DeleteF5LoadBalancerCmd.java
similarity index 100%
rename from server/src/com/cloud/api/commands/DeleteF5LoadBalancerCmd.java
rename to plugins/network-elements/f5/src/com/cloud/api/commands/DeleteF5LoadBalancerCmd.java
diff --git a/server/src/com/cloud/api/commands/ListF5LoadBalancerNetworksCmd.java b/plugins/network-elements/f5/src/com/cloud/api/commands/ListF5LoadBalancerNetworksCmd.java
similarity index 100%
rename from server/src/com/cloud/api/commands/ListF5LoadBalancerNetworksCmd.java
rename to plugins/network-elements/f5/src/com/cloud/api/commands/ListF5LoadBalancerNetworksCmd.java
diff --git a/server/src/com/cloud/api/commands/ListF5LoadBalancersCmd.java b/plugins/network-elements/f5/src/com/cloud/api/commands/ListF5LoadBalancersCmd.java
similarity index 100%
rename from server/src/com/cloud/api/commands/ListF5LoadBalancersCmd.java
rename to plugins/network-elements/f5/src/com/cloud/api/commands/ListF5LoadBalancersCmd.java
diff --git a/api/src/com/cloud/api/response/F5LoadBalancerResponse.java b/plugins/network-elements/f5/src/com/cloud/api/response/F5LoadBalancerResponse.java
similarity index 100%
rename from api/src/com/cloud/api/response/F5LoadBalancerResponse.java
rename to plugins/network-elements/f5/src/com/cloud/api/response/F5LoadBalancerResponse.java
diff --git a/server/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java b/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
similarity index 100%
rename from server/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
rename to plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
diff --git a/server/src/com/cloud/network/element/F5ExternalLoadBalancerElementService.java b/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElementService.java
similarity index 100%
rename from server/src/com/cloud/network/element/F5ExternalLoadBalancerElementService.java
rename to plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElementService.java
diff --git a/core/src/com/cloud/network/resource/F5BigIpResource.java b/plugins/network-elements/f5/src/com/cloud/network/resource/F5BigIpResource.java
similarity index 100%
rename from core/src/com/cloud/network/resource/F5BigIpResource.java
rename to plugins/network-elements/f5/src/com/cloud/network/resource/F5BigIpResource.java
diff --git a/plugins/network-elements/netscaler/.classpath b/plugins/network-elements/netscaler/.classpath
index 1c573a61400..a3f5d12a4c8 100644
--- a/plugins/network-elements/netscaler/.classpath
+++ b/plugins/network-elements/netscaler/.classpath
@@ -1,10 +1,11 @@
-
+
+
diff --git a/server/src/com/cloud/configuration/DefaultComponentLibrary.java b/server/src/com/cloud/configuration/DefaultComponentLibrary.java
index 2da961246b7..97cb6aa1410 100755
--- a/server/src/com/cloud/configuration/DefaultComponentLibrary.java
+++ b/server/src/com/cloud/configuration/DefaultComponentLibrary.java
@@ -96,8 +96,6 @@ import com.cloud.network.dao.VirtualRouterProviderDaoImpl;
import com.cloud.network.dao.VpnUserDaoImpl;
import com.cloud.network.element.CiscoNexusVSMElement;
import com.cloud.network.element.CiscoNexusVSMElementService;
-import com.cloud.network.element.F5ExternalLoadBalancerElement;
-import com.cloud.network.element.F5ExternalLoadBalancerElementService;
import com.cloud.network.element.JuniperSRXExternalFirewallElement;
import com.cloud.network.element.JuniperSRXFirewallElementService;
import com.cloud.network.element.VirtualRouterElement;
@@ -416,7 +414,6 @@ public class DefaultComponentLibrary extends ComponentLibraryBase implements Com
protected void populateServices() {
addService("VirtualRouterElementService", VirtualRouterElementService.class, VirtualRouterElement.class);
- addService("F5LoadBalancerElementService", F5ExternalLoadBalancerElementService.class, F5ExternalLoadBalancerElement.class);
addService("JuniperSRXFirewallElementService", JuniperSRXFirewallElementService.class, JuniperSRXExternalFirewallElement.class);
addService("CiscoNexusVSMElementService", CiscoNexusVSMElementService.class, CiscoNexusVSMElement.class);
}
diff --git a/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java b/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java
index f0f403ebc2f..640b216d9ad 100755
--- a/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java
+++ b/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java
@@ -54,9 +54,7 @@ import com.cloud.network.dao.NetworkExternalLoadBalancerDao;
import com.cloud.network.dao.PhysicalNetworkDao;
import com.cloud.network.dao.PhysicalNetworkServiceProviderDao;
import com.cloud.network.dao.VpnUserDao;
-import com.cloud.network.element.F5ExternalLoadBalancerElementService;
import com.cloud.network.element.JuniperSRXFirewallElementService;
-import com.cloud.network.resource.F5BigIpResource;
import com.cloud.network.resource.JuniperSrxResource;
import com.cloud.network.rules.dao.PortForwardingRulesDao;
import com.cloud.offerings.dao.NetworkOfferingDao;
@@ -104,7 +102,6 @@ public class ExternalNetworkDeviceManagerImpl implements ExternalNetworkDeviceMa
@Inject NetworkExternalLoadBalancerDao _networkExternalLBDao;
@Inject NetworkExternalFirewallDao _networkExternalFirewallDao;
- @PlugService F5ExternalLoadBalancerElementService _f5LbElementService;
@PlugService JuniperSRXFirewallElementService _srxElementService;
ScheduledExecutorService _executor;
@@ -184,19 +181,6 @@ public class ExternalNetworkDeviceManagerImpl implements ExternalNetworkDeviceMa
} else {
throw new CloudRuntimeException("Failed to add SRX firewall device due to internal error");
}
- } else if (cmd.getDeviceType().equalsIgnoreCase(NetworkDevice.F5BigIpLoadBalancer.getName())) {
- Long physicalNetworkId = (params.get(ApiConstants.PHYSICAL_NETWORK_ID)==null)?Long.parseLong((String)params.get(ApiConstants.PHYSICAL_NETWORK_ID)):null;
- String url = (String) params.get(ApiConstants.URL);
- String username = (String) params.get(ApiConstants.USERNAME);
- String password = (String) params.get(ApiConstants.PASSWORD);
- ExternalLoadBalancerDeviceManager lbDeviceMgr = (ExternalLoadBalancerDeviceManager) _f5LbElementService;
- ExternalLoadBalancerDeviceVO lbDeviceVO = lbDeviceMgr.addExternalLoadBalancer(physicalNetworkId, url, username, password,
- cmd.getDeviceType(), (ServerResource) new F5BigIpResource());
- if (lbDeviceVO != null) {
- return _hostDao.findById(lbDeviceVO.getHostId());
- } else {
- throw new CloudRuntimeException("Failed to add Netscaler load balancer device due to internal error");
- }
} else {
throw new CloudRuntimeException("Unsupported network device type:" + cmd.getDeviceType());
}
@@ -229,9 +213,6 @@ public class ExternalNetworkDeviceManagerImpl implements ExternalNetworkDeviceMa
} else {
throw new CloudRuntimeException("Unsupported PXE server type:" + pxeType);
}
- } else if (host.getType() == Host.Type.ExternalLoadBalancer) {
- ExternalLoadBalancerDeviceManager lbDeviceMgr = (ExternalLoadBalancerDeviceManager) _f5LbElementService;
- response = _f5LbElementService.createExternalLoadBalancerResponse(host);
} else if (host.getType() == Host.Type.ExternalFirewall) {
response = _srxElementService.createExternalFirewallResponse(host);
} else {
@@ -278,14 +259,6 @@ public class ExternalNetworkDeviceManagerImpl implements ExternalNetworkDeviceMa
Long zoneId = Long.parseLong((String) params.get(ApiConstants.ZONE_ID));
Long podId = Long.parseLong((String)params.get(ApiConstants.POD_ID));
res = listNetworkDevice(zoneId, null, podId, Host.Type.PxeServer);
- } else if (cmd.getDeviceType().equalsIgnoreCase(NetworkDevice.NetscalerMPXLoadBalancer.getName()) ||
- cmd.getDeviceType().equalsIgnoreCase(NetworkDevice.NetscalerVPXLoadBalancer.getName()) ||
- cmd.getDeviceType().equalsIgnoreCase(NetworkDevice.NetscalerSDXLoadBalancer.getName()) ||
- cmd.getDeviceType().equalsIgnoreCase(NetworkDevice.F5BigIpLoadBalancer.getName())) {
- Long zoneId = Long.parseLong((String) params.get(ApiConstants.ZONE_ID));
- Long physicalNetworkId = (params.get(ApiConstants.PHYSICAL_NETWORK_ID)==null)?Long.parseLong((String)params.get(ApiConstants.PHYSICAL_NETWORK_ID)):null;
- ExternalLoadBalancerDeviceManager lbDeviceMgr = (ExternalLoadBalancerDeviceManager) _f5LbElementService;
- return lbDeviceMgr.listExternalLoadBalancers(physicalNetworkId, cmd.getDeviceType());
} else if (NetworkDevice.JuniperSRXFirewall.getName().equalsIgnoreCase(cmd.getDeviceType())) {
Long zoneId = Long.parseLong((String) params.get(ApiConstants.ZONE_ID));
Long physicalNetworkId = (params.get(ApiConstants.PHYSICAL_NETWORK_ID)==null)?Long.parseLong((String)params.get(ApiConstants.PHYSICAL_NETWORK_ID)):null;
@@ -315,10 +288,7 @@ public class ExternalNetworkDeviceManagerImpl implements ExternalNetworkDeviceMa
@Override
public boolean deleteNetworkDevice(DeleteNetworkDeviceCmd cmd) {
HostVO device = _hostDao.findById(cmd.getId());
- if (device.getType() == Type.ExternalLoadBalancer) {
- ExternalLoadBalancerDeviceManager lbDeviceMgr = (ExternalLoadBalancerDeviceManager) _f5LbElementService;
- return lbDeviceMgr.deleteExternalLoadBalancer(cmd.getId());
- } else if (device.getType() == Type.ExternalLoadBalancer) {
+ if (device.getType() == Type.ExternalFirewall) {
ExternalFirewallDeviceManager fwDeviceManager = (ExternalFirewallDeviceManager) _srxElementService;
return fwDeviceManager.deleteExternalFirewall(cmd.getId());
}