diff --git a/api/src/com/cloud/api/response/AsyncJobResponse.java b/api/src/com/cloud/api/response/AsyncJobResponse.java index b2176793cb6..bcdce390a2a 100644 --- a/api/src/com/cloud/api/response/AsyncJobResponse.java +++ b/api/src/com/cloud/api/response/AsyncJobResponse.java @@ -126,7 +126,7 @@ public class AsyncJobResponse extends BaseResponse { this.jobInstanceId.setTableName("account"); } else if (jobInstanceType.equalsIgnoreCase(AsyncJob.Type.User.toString())) { this.jobInstanceId.setTableName("user"); - }else if (jobInstanceType.equalsIgnoreCase(AsyncJob.Type.Counter.toString())) { + } else if (jobInstanceType.equalsIgnoreCase(AsyncJob.Type.Counter.toString())) { this.jobInstanceId.setTableName("counter"); } else if (jobInstanceType.equalsIgnoreCase(AsyncJob.Type.Condition.toString())) { this.jobInstanceId.setTableName("conditions"); diff --git a/api/src/com/cloud/network/element/NetworkElement.java b/api/src/com/cloud/network/element/NetworkElement.java index c6845d3d346..e93962a0ebc 100644 --- a/api/src/com/cloud/network/element/NetworkElement.java +++ b/api/src/com/cloud/network/element/NetworkElement.java @@ -14,6 +14,7 @@ package com.cloud.network.element; import java.util.List; import java.util.Map; +import java.util.Set; import com.cloud.deploy.DeployDestination; import com.cloud.exception.ConcurrentOperationException; @@ -133,5 +134,5 @@ public interface NetworkElement extends Adapter { * @param services * @return true/false */ - boolean verifyServicesCombination(List services); + boolean verifyServicesCombination(Set services); } diff --git a/api/src/com/cloud/network/vpc/VpcService.java b/api/src/com/cloud/network/vpc/VpcService.java index 88a7fd88ed2..dcb005225ac 100644 --- a/api/src/com/cloud/network/vpc/VpcService.java +++ b/api/src/com/cloud/network/vpc/VpcService.java @@ -77,7 +77,8 @@ public interface VpcService { * @return * @throws ResourceAllocationException TODO */ - public Vpc createVpc(long zoneId, long vpcOffId, long vpcOwnerId, String vpcName, String displayText, String cidr, String networkDomain) throws ResourceAllocationException; + public Vpc createVpc(long zoneId, long vpcOffId, long vpcOwnerId, String vpcName, String displayText, String cidr, + String networkDomain) throws ResourceAllocationException; /** * @param vpcId diff --git a/client/WEB-INF/classes/resources/messages.properties b/client/WEB-INF/classes/resources/messages.properties index f836e601c60..01088acec92 100644 --- a/client/WEB-INF/classes/resources/messages.properties +++ b/client/WEB-INF/classes/resources/messages.properties @@ -1,4 +1,6 @@ #new labels (begin) ********************************************************************************************** +label.tier.details=Tier details +label.edit.tags=Edit tags label.network.rate.megabytes=Network Rate (MB/s) label.action.enable.physical.network=Enable physical network label.action.disable.physical.network=Disable physical network diff --git a/console-proxy/src/com/cloud/consoleproxy/AjaxFIFOImageCache.java b/console-proxy/src/com/cloud/consoleproxy/AjaxFIFOImageCache.java index 49f528a7e30..bbf45cfefaf 100644 --- a/console-proxy/src/com/cloud/consoleproxy/AjaxFIFOImageCache.java +++ b/console-proxy/src/com/cloud/consoleproxy/AjaxFIFOImageCache.java @@ -40,9 +40,8 @@ public class AjaxFIFOImageCache { public synchronized int putImage(byte[] image) { while(cache.size() >= cacheSize) { - Integer keyToRemove = fifoQueue.remove(0); + Integer keyToRemove = fifoQueue.remove(0); cache.remove(keyToRemove); - if(s_logger.isTraceEnabled()) s_logger.trace("Remove image from cache, key: " + keyToRemove); } @@ -51,26 +50,30 @@ public class AjaxFIFOImageCache { if(s_logger.isTraceEnabled()) s_logger.trace("Add image to cache, key: " + key); - - cache.put(key, image); + + cache.put(key, image); fifoQueue.add(key); return key; } - public synchronized byte[] getImage(int key) { + public synchronized byte[] getImage(int key) { + if(cache.containsKey(key)) { if(s_logger.isTraceEnabled()) - s_logger.trace("Retrieve image from cache, key: " + key); - + s_logger.trace("Retrieve image from cache, key: " + key); + return cache.get(key); } - - if(s_logger.isTraceEnabled()) + s_logger.trace("Image is no long in cache, key: " + key); return null; } public synchronized int getNextKey() { return nextKey++; + } + + public synchronized int getKey() { + return nextKey; } } diff --git a/console-proxy/src/com/cloud/consoleproxy/ConsoleProxyAjaxImageHandler.java b/console-proxy/src/com/cloud/consoleproxy/ConsoleProxyAjaxImageHandler.java index bc01ed72474..a2736fb3df1 100644 --- a/console-proxy/src/com/cloud/consoleproxy/ConsoleProxyAjaxImageHandler.java +++ b/console-proxy/src/com/cloud/consoleproxy/ConsoleProxyAjaxImageHandler.java @@ -61,6 +61,9 @@ public class ConsoleProxyAjaxImageHandler implements HttpHandler { String tag = queryMap.get("tag"); String ticket = queryMap.get("ticket"); String keyStr = queryMap.get("key"); + String console_url = queryMap.get("consoleurl"); + String console_host_session = queryMap.get("sessionref"); + int key = 0; if(tag == null) @@ -90,8 +93,14 @@ public class ConsoleProxyAjaxImageHandler implements HttpHandler { param.setClientHostPassword(sid); param.setClientTag(tag); param.setTicket(ticket); - ConsoleProxyClient viewer = ConsoleProxy.getVncViewer(param); - byte[] img = viewer.getAjaxImageCache().getImage(key); + param.setClientTunnelUrl(console_url); + param.setClientTunnelSession(console_host_session); + + ConsoleProxyClient viewer = ConsoleProxy.getVncViewer(param); + AjaxFIFOImageCache imageCache =viewer.getAjaxImageCache(); + + byte[] img = imageCache.getImage(imageCache.getKey() - 1); + if(img != null) { Headers hds = t.getResponseHeaders(); hds.set("Content-Type", "image/jpeg"); diff --git a/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java b/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java index 936608c8b9e..252d80da81c 100755 --- a/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java +++ b/core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java @@ -607,6 +607,8 @@ public class VirtualRoutingResource implements Manager { args = "-D"; args += " -r "; args += cmd.getPeerGatewayIp(); + args += " -n "; + args += cmd.getLocalGuestCidr(); args += " -N "; args += cmd.getPeerGuestCidrList(); } diff --git a/core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java b/core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java index 47de7d51e48..2cc9492b465 100755 --- a/core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java +++ b/core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java @@ -1274,6 +1274,8 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa args += " -D"; args += " -r "; args += cmd.getPeerGatewayIp(); + args += " -n "; + args += cmd.getLocalGuestCidr(); args += " -N "; args += cmd.getPeerGuestCidrList(); } diff --git a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java index 9ba5081981a..db50d1ee1ae 100644 --- a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java +++ b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java @@ -7406,6 +7406,8 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe args += " -D"; args += " -r "; args += cmd.getPeerGatewayIp(); + args += " -n "; + args += cmd.getLocalGuestCidr(); args += " -N "; args += cmd.getPeerGuestCidrList(); } diff --git a/patches/systemvm/debian/config/opt/cloud/bin/ipsectunnel.sh b/patches/systemvm/debian/config/opt/cloud/bin/ipsectunnel.sh index 1ff4b133e43..196221295dc 100755 --- a/patches/systemvm/debian/config/opt/cloud/bin/ipsectunnel.sh +++ b/patches/systemvm/debian/config/opt/cloud/bin/ipsectunnel.sh @@ -21,6 +21,7 @@ fi vpnconfdir="/etc/ipsec.d" vpnoutmark="0x525" +vpninmark="0x524" usage() { printf "Usage: %s: (-A|-D) -l -n -g -r -N -e -i -t -T -s -d \n" $(basename $0) >&2 @@ -55,6 +56,8 @@ enable_iptables_subnets() { do sudo iptables -A FORWARD -t mangle -s $leftnet -d $net -j MARK --set-mark $vpnoutmark sudo iptables -A OUTPUT -t mangle -s $leftnet -d $net -j MARK --set-mark $vpnoutmark + sudo iptables -A FORWARD -t mangle -s $net -d $leftnet -j MARK --set-mark $vpninmark + sudo iptables -A INPUT -t mangle -s $net -d $leftnet -j MARK --set-mark $vpninmark done return 0 } @@ -64,6 +67,7 @@ check_and_enable_iptables() { if [ $? -ne 0 ] then sudo iptables -A INPUT -i $outIf -p udp -m udp --dport 500 -j ACCEPT + sudo iptables -A INPUT -i $outIf -p udp -m udp --dport 4500 -j ACCEPT # Prevent NAT on "marked" VPN traffic, so need to be the first one on POSTROUTING chain sudo iptables -t nat -I POSTROUTING -t nat -o $outIf -m mark --mark $vpnoutmark -j ACCEPT fi @@ -75,6 +79,8 @@ disable_iptables_subnets() { do sudo iptables -D FORWARD -t mangle -s $leftnet -d $net -j MARK --set-mark $vpnoutmark sudo iptables -D OUTPUT -t mangle -s $leftnet -d $net -j MARK --set-mark $vpnoutmark + sudo iptables -D FORWARD -t mangle -s $net -d $leftnet -j MARK --set-mark $vpninmark + sudo iptables -D INPUT -t mangle -s $net -d $leftnet -j MARK --set-mark $vpninmark done return 0 } @@ -85,6 +91,7 @@ check_and_disable_iptables() { then #Nobody else use s2s vpn now, so delete the iptables rules sudo iptables -D INPUT -i $outIf -p udp -m udp --dport 500 -j ACCEPT + sudo iptables -D INPUT -i $outIf -p udp -m udp --dport 4500 -j ACCEPT sudo iptables -t nat -D POSTROUTING -t nat -o $outIf -m mark --mark $vpnoutmark -j ACCEPT fi return 0 diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index 73e120e83eb..5fdc3dd2be1 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -1124,24 +1124,6 @@ public class ApiResponseHelper implements ResponseGenerator { populateOwner(volResponse, volume); - String storageType; - try { - if (volume.getPoolId() == null) { - if (volume.getState() == Volume.State.Allocated || volume.getState() == Volume.State.UploadOp) { - /* set it as shared, so the UI can attach it to VM */ - storageType = "shared"; - } else { - storageType = "unknown"; - } - } else { - storageType = ApiDBUtils.volumeIsOnSharedStorage(volume.getId()) ? ServiceOffering.StorageType.shared.toString() : ServiceOffering.StorageType.local.toString(); - } - } catch (InvalidParameterValueException e) { - s_logger.error(e.getMessage(), e); - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Volume " + volume.getName() + " does not have a valid ID"); - } - - volResponse.setStorageType(storageType); if (volume.getVolumeType().equals(Volume.Type.ROOT)) { volResponse.setServiceOfferingId(volume.getDiskOfferingId()); } else { @@ -1156,6 +1138,7 @@ public class ApiResponseHelper implements ResponseGenerator { volResponse.setDiskOfferingName(diskOffering.getName()); volResponse.setDiskOfferingDisplayText(diskOffering.getDisplayText()); } + volResponse.setStorageType(diskOffering.getUseLocalStorage() ? ServiceOffering.StorageType.local.toString() : ServiceOffering.StorageType.shared.toString()); Long poolId = volume.getPoolId(); String poolName = (poolId == null) ? "none" : ApiDBUtils.findStoragePoolById(poolId).getName(); diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 02745b7abc5..9d072b1f39c 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -4331,27 +4331,25 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag @Override public boolean networkIsConfiguredForExternalNetworking(long zoneId, long networkId) { - boolean netscalerInNetwork = isProviderForNetwork(Network.Provider.Netscaler, networkId); - boolean juniperInNetwork = isProviderForNetwork(Network.Provider.JuniperSRX, networkId); - boolean f5InNetwork = isProviderForNetwork(Network.Provider.F5BigIp, networkId); - - if (netscalerInNetwork || juniperInNetwork || f5InNetwork) { - return true; - } else { - return false; + List networkProviders = getNetworkProviders(networkId); + for(Provider provider : networkProviders){ + if(provider.isExternal()){ + return true; + } } + return false; } + public boolean networkOfferingIsConfiguredForExternalNetworking(long networkOfferingId) { - boolean netscalerInNetworkOffering = isProviderForNetworkOffering(Network.Provider.Netscaler, networkOfferingId); - boolean juniperInNetworkOffering = isProviderForNetworkOffering(Network.Provider.JuniperSRX, networkOfferingId); - boolean f5InNetworkOffering = isProviderForNetworkOffering(Network.Provider.F5BigIp, networkOfferingId); - - if (netscalerInNetworkOffering || juniperInNetworkOffering || f5InNetworkOffering) { - return true; - } else { - return false; + List networkOffProviders = getNtwkOffDistinctProviders(networkOfferingId); + for(Provider provider : networkOffProviders){ + if(provider.isExternal()){ + return true; + } } + return false; + } @Override @@ -6748,14 +6746,6 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag l.add(service); } - for (String provider : providerSvcs.keySet()) { - NetworkElement element = getElementImplementingProvider(provider); - List services = providerSvcs.get(provider); - if (!element.verifyServicesCombination(services)) { - throw new UnsupportedServiceException("Provider " + provider + " doesn't support services combination: " + services); - } - } - return svcProviders; } @@ -6780,12 +6770,14 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag private List getNetworkProviders(long networkId) { List providerNames = _ntwkSrvcDao.getDistinctProviders(networkId); - List providers = new ArrayList(); + Map providers = new HashMap(); for (String providerName : providerNames) { - providers.add(Network.Provider.getProvider(providerName)); + if(!providers.containsKey(providerName)){ + providers.put(providerName, Network.Provider.getProvider(providerName)); + } } - return providers; + return new ArrayList(providers.values()); } @Override @@ -6852,11 +6844,16 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag + provider.getName(), null); } } + List serviceList = new ArrayList(); for (Service service : enabledServices) { // check if the service is provided by this Provider if (!element.getCapabilities().containsKey(service)) { throw new UnsupportedServiceException(provider.getName() + " Provider cannot provide service " + service.getName()); } + serviceList.add(service.getName()); + } + if (!element.verifyServicesCombination(enabledServices)) { + throw new UnsupportedServiceException("Provider " + provider.getName() + " doesn't support services combination: " + serviceList); } } } @@ -7128,12 +7125,14 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag @Override public List getNtwkOffDistinctProviders(long networkId) { List providerNames = _ntwkOfferingSrvcDao.getDistinctProviders(networkId); - List providers = new ArrayList(); + Map providers = new HashMap(); for (String providerName : providerNames) { - providers.add(Network.Provider.getProvider(providerName)); + if(!providers.containsKey(providerName)){ + providers.put(providerName, Network.Provider.getProvider(providerName)); + } } - return providers; + return new ArrayList(providers.values()); } @Override diff --git a/server/src/com/cloud/network/NetworkVO.java b/server/src/com/cloud/network/NetworkVO.java index b1f1c0a8b41..90e2617323f 100644 --- a/server/src/com/cloud/network/NetworkVO.java +++ b/server/src/com/cloud/network/NetworkVO.java @@ -454,7 +454,7 @@ public class NetworkVO implements Network, Identity { @Override public String toString() { StringBuilder buf = new StringBuilder("Ntwk["); - buf.append(id).append("|").append(trafficType.toString()).append("|").append(networkOfferingId).append("]"); + buf.append(id).append("|").append(trafficType).append("|").append(networkOfferingId).append("]"); return buf.toString(); } diff --git a/server/src/com/cloud/network/element/BareMetalElement.java b/server/src/com/cloud/network/element/BareMetalElement.java index 1e56003d1f0..143af710e6b 100644 --- a/server/src/com/cloud/network/element/BareMetalElement.java +++ b/server/src/com/cloud/network/element/BareMetalElement.java @@ -14,6 +14,7 @@ package com.cloud.network.element; import java.util.List; import java.util.Map; +import java.util.Set; import javax.ejb.Local; @@ -118,7 +119,7 @@ public class BareMetalElement extends AdapterBase implements NetworkElement { } @Override - public boolean verifyServicesCombination(List services) { + public boolean verifyServicesCombination(Set services) { return true; } } diff --git a/server/src/com/cloud/network/element/CiscoNexusVSMElement.java b/server/src/com/cloud/network/element/CiscoNexusVSMElement.java index c57b6644fe1..557d6f3f0c0 100644 --- a/server/src/com/cloud/network/element/CiscoNexusVSMElement.java +++ b/server/src/com/cloud/network/element/CiscoNexusVSMElement.java @@ -15,6 +15,7 @@ package com.cloud.network.element; import java.util.List; import java.util.Map; import java.util.ArrayList; +import java.util.Set; import javax.ejb.Local; @@ -127,7 +128,7 @@ public class CiscoNexusVSMElement extends CiscoNexusVSMDeviceManagerImpl impleme } @Override - public boolean verifyServicesCombination(List services) { + public boolean verifyServicesCombination(Set services) { return true; } diff --git a/server/src/com/cloud/network/element/CloudZonesNetworkElement.java b/server/src/com/cloud/network/element/CloudZonesNetworkElement.java index ba886f3e789..a6ffa8d9ba8 100644 --- a/server/src/com/cloud/network/element/CloudZonesNetworkElement.java +++ b/server/src/com/cloud/network/element/CloudZonesNetworkElement.java @@ -15,6 +15,7 @@ package com.cloud.network.element; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; import javax.ejb.Local; @@ -233,7 +234,7 @@ public class CloudZonesNetworkElement extends AdapterBase implements NetworkElem } @Override - public boolean verifyServicesCombination(List services) { + public boolean verifyServicesCombination(Set services) { return true; } diff --git a/server/src/com/cloud/network/element/ElasticLoadBalancerElement.java b/server/src/com/cloud/network/element/ElasticLoadBalancerElement.java index a7ed40df194..55dfe7d33a5 100644 --- a/server/src/com/cloud/network/element/ElasticLoadBalancerElement.java +++ b/server/src/com/cloud/network/element/ElasticLoadBalancerElement.java @@ -178,7 +178,7 @@ public class ElasticLoadBalancerElement extends AdapterBase implements LoadBalan } @Override - public boolean verifyServicesCombination(List services) { + public boolean verifyServicesCombination(Set services) { return true; } diff --git a/server/src/com/cloud/network/element/ExternalDhcpElement.java b/server/src/com/cloud/network/element/ExternalDhcpElement.java index 262aa8b02c4..89cfbc06b9c 100755 --- a/server/src/com/cloud/network/element/ExternalDhcpElement.java +++ b/server/src/com/cloud/network/element/ExternalDhcpElement.java @@ -15,6 +15,7 @@ package com.cloud.network.element; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; import javax.ejb.Local; @@ -142,7 +143,7 @@ public class ExternalDhcpElement extends AdapterBase implements NetworkElement, } @Override - public boolean verifyServicesCombination(List services) { + public boolean verifyServicesCombination(Set services) { return true; } } diff --git a/server/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java b/server/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java index f8824d951a5..348053ca7f5 100644 --- a/server/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java +++ b/server/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java @@ -458,7 +458,7 @@ public class F5ExternalLoadBalancerElement extends ExternalLoadBalancerDeviceMan } @Override - public boolean verifyServicesCombination(List services) { + public boolean verifyServicesCombination(Set services) { return true; } diff --git a/server/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java b/server/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java index 73577d6a3ea..a7c4a01e3ea 100644 --- a/server/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java +++ b/server/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java @@ -535,7 +535,7 @@ PortForwardingServiceProvider, RemoteAccessVPNServiceProvider, IpDeployer, Junip } @Override - public boolean verifyServicesCombination(List services) { + public boolean verifyServicesCombination(Set services) { return true; } diff --git a/server/src/com/cloud/network/element/NetscalerElement.java b/server/src/com/cloud/network/element/NetscalerElement.java index 63d9b654189..6f6f17c6c46 100644 --- a/server/src/com/cloud/network/element/NetscalerElement.java +++ b/server/src/com/cloud/network/element/NetscalerElement.java @@ -15,6 +15,7 @@ package com.cloud.network.element; import java.net.URI; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -543,15 +544,19 @@ StaticNatServiceProvider { } @Override - public boolean verifyServicesCombination(List services) { - List netscalerServices = new ArrayList(); - netscalerServices.add(Service.Lb.getName()); - netscalerServices.add(Service.StaticNat.getName()); + public boolean verifyServicesCombination(Set services) { + Set netscalerServices = new HashSet(); + netscalerServices.add(Service.Lb); + netscalerServices.add(Service.StaticNat); // NetScaler can only act as Lb and Static Nat service provider if (services != null && !services.isEmpty() && !netscalerServices.containsAll(services)) { + 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 " - + services + " is not supported."); + + servicesList + " is not supported."); return false; } diff --git a/server/src/com/cloud/network/element/OvsElement.java b/server/src/com/cloud/network/element/OvsElement.java index 9a736671593..b27c36e69cd 100644 --- a/server/src/com/cloud/network/element/OvsElement.java +++ b/server/src/com/cloud/network/element/OvsElement.java @@ -14,6 +14,7 @@ package com.cloud.network.element; import java.util.List; import java.util.Map; +import java.util.Set; import javax.ejb.Local; @@ -126,7 +127,7 @@ public class OvsElement extends AdapterBase implements NetworkElement { } @Override - public boolean verifyServicesCombination(List services) { + public boolean verifyServicesCombination(Set services) { return true; } } diff --git a/server/src/com/cloud/network/element/SecurityGroupElement.java b/server/src/com/cloud/network/element/SecurityGroupElement.java index db4dd52ce2e..ef4dc1fe945 100644 --- a/server/src/com/cloud/network/element/SecurityGroupElement.java +++ b/server/src/com/cloud/network/element/SecurityGroupElement.java @@ -15,6 +15,7 @@ package com.cloud.network.element; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; import javax.ejb.Local; @@ -101,7 +102,7 @@ public class SecurityGroupElement extends AdapterBase implements NetworkElement } @Override - public boolean verifyServicesCombination(List services) { + public boolean verifyServicesCombination(Set services) { return true; } } diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java b/server/src/com/cloud/network/element/VirtualRouterElement.java index 3fa4c826978..c09318fe0a5 100755 --- a/server/src/com/cloud/network/element/VirtualRouterElement.java +++ b/server/src/com/cloud/network/element/VirtualRouterElement.java @@ -869,11 +869,16 @@ LoadBalancingServiceProvider, PortForwardingServiceProvider, RemoteAccessVPNServ } @Override - public boolean verifyServicesCombination(List services) { - if (!services.contains("SourceNat")) { - if (services.contains("StaticNat") || services.contains("Firewall") || services.contains("Lb") || services.contains("PortForwarding") || - services.contains("Vpn")) { - s_logger.warn("Virtual router can't enable services " + services + " without source NAT service"); + public boolean verifyServicesCombination(Set services) { + if (!services.contains(Service.SourceNat)) { + if (services.contains(Service.StaticNat) || services.contains(Service.Firewall) || services.contains(Service.Lb) || + services.contains(Service.PortForwarding) || services.contains(Service.Vpn)) { + String servicesList = "["; + for (Service service : services) { + servicesList += service.getName() + " "; + } + servicesList += "]"; + s_logger.warn("Virtual router can't enable services " + servicesList + " without source NAT service"); return false; } } diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 21e3b56dcc4..6f40d165d6a 100755 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -2465,9 +2465,19 @@ VirtualMachineGuru, Listener { if (offering.getRedundantRouter()) { return findGatewayIp(userVmId); } + + DataCenter dc = _dcDao.findById(_networkMgr.getNetwork(defaultNic.getNetworkId()).getDataCenterId()); + boolean isZoneBasic = (dc.getNetworkType() == NetworkType.Basic); //find domR's nic in the network - NicVO domrDefaultNic = _nicDao.findByNetworkIdAndType(defaultNic.getNetworkId(), VirtualMachine.Type.DomainRouter); + NicVO domrDefaultNic; + if (isZoneBasic){ + domrDefaultNic = _nicDao.findByNetworkIdTypeAndGateway(defaultNic.getNetworkId(), VirtualMachine.Type.DomainRouter, defaultNic.getGateway()); + } + else{ + domrDefaultNic = _nicDao.findByNetworkIdAndType(defaultNic.getNetworkId(), VirtualMachine.Type.DomainRouter); + } + return domrDefaultNic.getIp4Address(); } diff --git a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java index cae9a4b8e70..9edc4dfa7d1 100644 --- a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java @@ -113,6 +113,7 @@ import com.cloud.utils.net.NetUtils; import com.cloud.vm.DomainRouterVO; import com.cloud.vm.Nic; import com.cloud.vm.NicProfile; +import com.cloud.vm.NicVO; import com.cloud.vm.ReservationContext; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachine.State; @@ -1119,7 +1120,7 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian String localGuestCidr = vpc.getCidr(); String localPublicGateway = _vlanDao.findById(ip.getVlanId()).getVlanGateway(); String peerGatewayIp = gw.getGatewayIp(); - String peerGuestCidrList = gw.getGuestCidrList(); + String peerGuestCidrList = gw.getGuestCidrList().replace(";", ","); String ipsecPsk = gw.getIpsecPsk(); String ikePolicy = gw.getIkePolicy(); String espPolicy = gw.getEspPolicy(); @@ -1326,10 +1327,19 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian Nic nic = _nicDao.findByNetworkIdInstanceIdAndBroadcastUri(publicNtwkId, router.getId(), broadcastUri.toString()); - if ((nic == null && nicsToPlug.get(ip.getVlanTag()) == null) || nicsToUnplug.get(ip.getVlanTag()) != null) { + if (nic == null && nicsToPlug.get(ip.getVlanTag()) == null) { nicsToPlug.put(ip.getVlanTag(), ip); s_logger.debug("Need to plug the nic for ip=" + ip + "; vlan=" + ip.getVlanTag() + " in public network id =" + publicNtwkId); + } else { + PublicIpAddress nicToUnplug = nicsToUnplug.get(ip.getVlanTag()); + if (nicToUnplug != null) { + NicVO nicVO = _nicDao.findByIp4AddressAndNetworkIdAndInstanceId(publicNtwkId, router.getId(), nicToUnplug.getAddress().addr()); + nicVO.setIp4Address(ip.getAddress().addr()); + _nicDao.update(nicVO.getId(), nicVO); + s_logger.debug("Updated the nic " + nicVO + " with the new ip address " + ip.getAddress().addr()); + nicsToUnplug.remove(ip.getVlanTag()); + } } } } diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/com/cloud/network/vpc/VpcManagerImpl.java index bb1900e02b0..f1ca879683c 100644 --- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java +++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java @@ -633,7 +633,7 @@ public class VpcManagerImpl implements VpcManager, Manager{ @DB public boolean destroyVpc(Vpc vpc) throws ConcurrentOperationException, ResourceUnavailableException { UserContext ctx = UserContext.current(); - + s_logger.debug("Destroying vpc " + vpc); //don't allow to delete vpc if it's in use by existing networks int networksCount = _ntwkDao.getNetworkCountByVpcId(vpc.getId()); if (networksCount > 0) { @@ -671,9 +671,10 @@ public class VpcManagerImpl implements VpcManager, Manager{ //update the instance with removed flag only when the cleanup is executed successfully if (_vpcDao.remove(vpc.getId())) { - s_logger.debug("Vpc " + vpc + " is removed succesfully"); + s_logger.debug("Vpc " + vpc + " is destroyed succesfully"); return true; } else { + s_logger.warn("Vpc " + vpc + " failed to destroy"); return false; } } @@ -927,9 +928,10 @@ public class VpcManagerImpl implements VpcManager, Manager{ _accountMgr.checkAccess(caller, null, false, vpc); //shutdown provider + s_logger.debug("Shutting down vpc " + vpc); boolean success = getVpcElement().shutdownVpc(vpc); - //TODO - cleanup all vpc resources here (ACLs, gateways, etc) + //TODO - shutdown all vpc resources here (ACLs, gateways, etc) if (success) { s_logger.debug("Vpc " + vpc + " has been shutdown succesfully"); } else { @@ -944,6 +946,10 @@ public class VpcManagerImpl implements VpcManager, Manager{ Account networkOwner, Vpc vpc, Long networkId, String gateway) { NetworkOffering guestNtwkOff = _configMgr.getNetworkOffering(ntwkOffId); + + if (guestNtwkOff == null) { + throw new InvalidParameterValueException("Can't find network offering by id specified", null); + } if (networkId == null) { //1) Validate attributes that has to be passed in when create new guest network @@ -956,7 +962,7 @@ public class VpcManagerImpl implements VpcManager, Manager{ throw new InvalidParameterValueException("Only networks of type " + GuestType.Isolated + " with service " + Service.SourceNat.getName() + - " can be added as a part of VPC", null); + " can be added as a part of VPC ", null); } //3) No redundant router support @@ -1000,7 +1006,6 @@ public class VpcManagerImpl implements VpcManager, Manager{ } } } - } @DB @@ -1085,6 +1090,10 @@ public class VpcManagerImpl implements VpcManager, Manager{ vpcElement = ((VpcProvider)_ntwkMgr.getElementImplementingProvider(Provider.VPCVirtualRouter.getName())); } + if (vpcElement == null) { + throw new CloudRuntimeException("Failed to initialize vpc element"); + } + return vpcElement; } diff --git a/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java b/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java index 003d948a654..b503d9f68c7 100644 --- a/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java +++ b/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java @@ -228,6 +228,10 @@ public class Site2SiteVpnManagerImpl implements Site2SiteVpnManager, Manager { throw new InvalidParameterValueException("Unable to find specified Site to Site VPN gateway by id", null); } _accountMgr.checkAccess(caller, null, false, vpnGateway); + + if (customerGateway.getAccountId() != vpnGateway.getAccountId() || customerGateway.getDomainId() != vpnGateway.getDomainId()) { + throw new InvalidParameterValueException("VPN connection can only be esitablished between same account's VPN gateway and customer gateway!", null); + } if (_vpnConnectionDao.findByVpnGatewayIdAndCustomerGatewayId(vpnGatewayId, customerGatewayId) != null) { List idList = new ArrayList(); diff --git a/server/src/com/cloud/servlet/ConsoleProxyServlet.java b/server/src/com/cloud/servlet/ConsoleProxyServlet.java index 1aaf97ab7ed..094726623f2 100644 --- a/server/src/com/cloud/servlet/ConsoleProxyServlet.java +++ b/server/src/com/cloud/servlet/ConsoleProxyServlet.java @@ -175,7 +175,8 @@ public class ConsoleProxyServlet extends HttpServlet { return; } - String rootUrl = _ms.getConsoleAccessUrlRoot(vmId); + String rootUrl = _ms.getConsoleAccessUrlRoot(vmId); + if(rootUrl == null) { sendResponse(resp, ""); return; @@ -226,7 +227,9 @@ public class ConsoleProxyServlet extends HttpServlet { return; } - String rootUrl = _ms.getConsoleAccessUrlRoot(vmId); + String rootUrl = _ms.getConsoleAccessUrlRoot(vmId); + //String rootUrl = "http://localhost:8099"; + if(rootUrl == null) { sendResponse(resp, "

Console access will be ready in a few minutes. Please try it again later.

"); return; @@ -322,6 +325,7 @@ public class ConsoleProxyServlet extends HttpServlet { ConsoleProxyPasswordBasedEncryptor encryptor = new ConsoleProxyPasswordBasedEncryptor(_ms.getHashKey()); ConsoleProxyClientParam param = new ConsoleProxyClientParam(); + param.setClientHostAddress(parsedHostInfo.first()); param.setClientHostPort(portInfo.second()); param.setClientHostPassword(sid); @@ -331,9 +335,9 @@ public class ConsoleProxyServlet extends HttpServlet { param.setClientTunnelUrl(parsedHostInfo.second()); param.setClientTunnelSession(parsedHostInfo.third()); } - + s_logger.debug("Thumbnail url params" + param.toString()); sb.append("/ajaximg?token=" + encryptor.encryptObject(ConsoleProxyClientParam.class, param)); - sb.append("&w=").append(w).append("&h=").append(h); + sb.append("&w=").append(w).append("&h=").append(h).append("&key=0"); if(s_logger.isDebugEnabled()) { s_logger.debug("Compose thumbnail url: " + sb.toString()); diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index 9ba38e486e2..4e78b1e3f52 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -2549,6 +2549,9 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager private void validateUserData(String userData) { byte[] decodedUserData = null; if (userData != null) { + if ( !userData.matches("^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$")) { + throw new InvalidParameterValueException("User data is not base64 encoded", null); + } if (userData.length() >= 2 * MAX_USER_DATA_LENGTH_BYTES) { throw new InvalidParameterValueException("User data is too long", null); } @@ -3423,8 +3426,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager idList.add(new IdentityProxy(oldAccount, oldAccount.getAccountId(), "accountId")); throw new InvalidParameterValueException("The account with the specified id should be same domain for moving VM between two accounts.", idList); } - - + // don't allow to move the vm if there are existing PF/LB/Static Nat rules, or vm is assigned to static Nat ip List pfrules = _portForwardingDao.listByVm(cmd.getVmId()); if (pfrules != null && pfrules.size() > 0){ @@ -3454,6 +3456,9 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager //VV 2: check if account/domain is with in resource limits to create a new vm _resourceLimitMgr.checkResourceLimit(newAccount, ResourceType.user_vm); + //VV 3: check if volumes are with in resource limits + _resourceLimitMgr.checkResourceLimit(newAccount, ResourceType.volume, _volsDao.findByInstance(cmd.getVmId()).size()); + // VV 4: Check if new owner can use the vm template VirtualMachineTemplate template = _templateDao.findById(vm.getTemplateId()); if (!template.isPublicTemplate()) { diff --git a/server/src/com/cloud/vm/dao/NicDao.java b/server/src/com/cloud/vm/dao/NicDao.java index 6b8ea3069ac..5c04b7ca02f 100644 --- a/server/src/com/cloud/vm/dao/NicDao.java +++ b/server/src/com/cloud/vm/dao/NicDao.java @@ -33,6 +33,7 @@ public interface NicDao extends GenericDao { void removeNicsForInstance(long instanceId); NicVO findByNetworkIdAndType(long networkId, VirtualMachine.Type vmType); + NicVO findByNetworkIdTypeAndGateway(long networkId, VirtualMachine.Type vmType, String gateway); NicVO findByIp4AddressAndNetworkId(String ip4Address, long networkId); diff --git a/server/src/com/cloud/vm/dao/NicDaoImpl.java b/server/src/com/cloud/vm/dao/NicDaoImpl.java index dd568e555f2..3a1b7094db7 100644 --- a/server/src/com/cloud/vm/dao/NicDaoImpl.java +++ b/server/src/com/cloud/vm/dao/NicDaoImpl.java @@ -43,6 +43,7 @@ public class NicDaoImpl extends GenericDaoBase implements NicDao { AllFieldsSearch.and("network", AllFieldsSearch.entity().getNetworkId(), Op.EQ); AllFieldsSearch.and("vmType", AllFieldsSearch.entity().getVmType(), Op.EQ); AllFieldsSearch.and("address", AllFieldsSearch.entity().getIp4Address(), Op.EQ); + AllFieldsSearch.and("gateway", AllFieldsSearch.entity().getGateway(), Op.EQ); AllFieldsSearch.and("isDefault", AllFieldsSearch.entity().isDefaultNic(), Op.EQ); AllFieldsSearch.and("broadcastUri", AllFieldsSearch.entity().getBroadcastUri(), Op.EQ); AllFieldsSearch.done(); @@ -126,6 +127,15 @@ public class NicDaoImpl extends GenericDaoBase implements NicDao { return findOneBy(sc); } + @Override + public NicVO findByNetworkIdTypeAndGateway(long networkId, VirtualMachine.Type vmType, String gateway) { + SearchCriteria sc = AllFieldsSearch.create(); + sc.setParameters("network", networkId); + sc.setParameters("vmType", vmType); + sc.setParameters("gateway", gateway); + return findOneBy(sc); + } + @Override public NicVO findByIp4AddressAndNetworkId(String ip4Address, long networkId) { SearchCriteria sc = AllFieldsSearch.create(); diff --git a/server/test/com/cloud/network/MockNetworkManagerImpl.java b/server/test/com/cloud/network/MockNetworkManagerImpl.java index 9590f825239..80fa5da8734 100755 --- a/server/test/com/cloud/network/MockNetworkManagerImpl.java +++ b/server/test/com/cloud/network/MockNetworkManagerImpl.java @@ -51,7 +51,6 @@ import com.cloud.network.element.UserDataServiceProvider; import com.cloud.network.guru.NetworkGuru; import com.cloud.network.rules.FirewallRule; import com.cloud.network.rules.StaticNat; -import com.cloud.network.vpc.Vpc; import com.cloud.offering.NetworkOffering; import com.cloud.offerings.NetworkOfferingVO; import com.cloud.user.Account; @@ -946,15 +945,6 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager, NetworkS return null; } - /* (non-Javadoc) - * @see com.cloud.network.NetworkManager#unassignIPFromVpcNetwork(long) - */ - @Override - public void unassignIPFromVpcNetwork(long ipId, long networkId) { - // TODO Auto-generated method stub - - } - /* (non-Javadoc) * @see com.cloud.network.NetworkManager#getNicProfile(com.cloud.vm.VirtualMachine, long) */ @@ -973,16 +963,6 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager, NetworkS return false; } - - /* (non-Javadoc) - * @see com.cloud.network.NetworkService#allocateIP(com.cloud.user.Account, boolean, long) - */ - @Override - public IpAddress allocateIP(Account ipOwner, boolean isSystem, long zoneId) throws ResourceAllocationException, InsufficientAddressCapacityException, ConcurrentOperationException { - // TODO Auto-generated method stub - return null; - } - /* (non-Javadoc) * @see com.cloud.network.NetworkService#listNetworksByVpc(long) */ @@ -1010,15 +990,6 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager, NetworkS return null; } - /* (non-Javadoc) - * @see com.cloud.network.NetworkManager#assignSourceNatIpAddressToVpc(com.cloud.user.Account, com.cloud.network.vpc.Vpc) - */ - @Override - public PublicIp assignSourceNatIpAddressToVpc(Account owner, Vpc vpc) throws InsufficientAddressCapacityException, ConcurrentOperationException { - // TODO Auto-generated method stub - return null; - } - /* (non-Javadoc) * @see com.cloud.network.NetworkService#canUseForDeploy(com.cloud.network.Network) */ @@ -1085,11 +1056,29 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager, NetworkS } /* (non-Javadoc) - * @see com.cloud.network.NetworkManager#ipUsedInVpc(com.cloud.network.IpAddress) + * @see com.cloud.network.NetworkService#allocateIP(com.cloud.user.Account, long) */ @Override - public boolean ipUsedInVpc(IpAddress ip) { + public IpAddress allocateIP(Account ipOwner, long zoneId) throws ResourceAllocationException, InsufficientAddressCapacityException, ConcurrentOperationException { // TODO Auto-generated method stub - return false; + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#markPublicIpAsAllocated(com.cloud.network.IPAddressVO) + */ + @Override + public void markPublicIpAsAllocated(IPAddressVO addr) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#assignDedicateIpAddress(com.cloud.user.Account, java.lang.Long, java.lang.Long, long, boolean) + */ + @Override + public PublicIp assignDedicateIpAddress(Account owner, Long guestNtwkId, Long vpcId, long dcId, boolean isSourceNat) throws ConcurrentOperationException, InsufficientAddressCapacityException { + // TODO Auto-generated method stub + return null; } } diff --git a/server/test/com/cloud/user/MockAccountManagerImpl.java b/server/test/com/cloud/user/MockAccountManagerImpl.java index e7ee1edd1ee..9118607d6b7 100644 --- a/server/test/com/cloud/user/MockAccountManagerImpl.java +++ b/server/test/com/cloud/user/MockAccountManagerImpl.java @@ -39,7 +39,7 @@ import com.cloud.utils.db.SearchCriteria; @Local(value = { AccountManager.class, AccountService.class }) -public class MockAccountManagerImpl implements Manager, AccountManager { +public class MockAccountManagerImpl implements Manager, AccountManager, AccountService { @Override @@ -98,14 +98,12 @@ public class MockAccountManagerImpl implements Manager, AccountManager { @Override public Account getSystemAccount() { - // TODO Auto-generated method stub - return null; + return new AccountVO(); } @Override public User getSystemUser() { - // TODO Auto-generated method stub - return null; + return new UserVO(); } @Override diff --git a/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java b/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java new file mode 100644 index 00000000000..855942aa598 --- /dev/null +++ b/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java @@ -0,0 +1,599 @@ +// Copyright 2012 Citrix Systems, Inc. Licensed under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. Citrix Systems, Inc. +// reserves all rights not expressly granted by the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Automatically generated by addcopyright.py at 04/03/2012 +package com.cloud.vpc; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.ejb.Local; +import javax.naming.ConfigurationException; +import javax.naming.NamingException; + +import com.cloud.api.commands.CreateDiskOfferingCmd; +import com.cloud.api.commands.CreateNetworkOfferingCmd; +import com.cloud.api.commands.CreateServiceOfferingCmd; +import com.cloud.api.commands.CreateVlanIpRangeCmd; +import com.cloud.api.commands.CreateZoneCmd; +import com.cloud.api.commands.DeleteDiskOfferingCmd; +import com.cloud.api.commands.DeleteNetworkOfferingCmd; +import com.cloud.api.commands.DeletePodCmd; +import com.cloud.api.commands.DeleteServiceOfferingCmd; +import com.cloud.api.commands.DeleteVlanIpRangeCmd; +import com.cloud.api.commands.DeleteZoneCmd; +import com.cloud.api.commands.LDAPConfigCmd; +import com.cloud.api.commands.LDAPRemoveCmd; +import com.cloud.api.commands.ListNetworkOfferingsCmd; +import com.cloud.api.commands.UpdateCfgCmd; +import com.cloud.api.commands.UpdateDiskOfferingCmd; +import com.cloud.api.commands.UpdateNetworkOfferingCmd; +import com.cloud.api.commands.UpdatePodCmd; +import com.cloud.api.commands.UpdateServiceOfferingCmd; +import com.cloud.api.commands.UpdateZoneCmd; +import com.cloud.configuration.Configuration; +import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.ConfigurationService; +import com.cloud.dc.ClusterVO; +import com.cloud.dc.DataCenter; +import com.cloud.dc.DataCenter.NetworkType; +import com.cloud.dc.DataCenterVO; +import com.cloud.dc.HostPodVO; +import com.cloud.dc.Pod; +import com.cloud.dc.Vlan; +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.exception.InsufficientCapacityException; +import com.cloud.exception.InvalidParameterValueException; +import com.cloud.exception.ResourceAllocationException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.network.Network.Capability; +import com.cloud.network.Network.GuestType; +import com.cloud.network.Network.Provider; +import com.cloud.network.Network.Service; +import com.cloud.network.Networks.TrafficType; +import com.cloud.offering.DiskOffering; +import com.cloud.offering.NetworkOffering; +import com.cloud.offering.NetworkOffering.Availability; +import com.cloud.offering.ServiceOffering; +import com.cloud.offerings.NetworkOfferingVO; +import com.cloud.offerings.dao.NetworkOfferingDao; +import com.cloud.org.Grouping.AllocationState; +import com.cloud.service.ServiceOfferingVO; +import com.cloud.storage.DiskOfferingVO; +import com.cloud.user.Account; +import com.cloud.utils.component.Inject; +import com.cloud.utils.component.Manager; +import com.cloud.vm.VirtualMachine.Type; + +@Local(value = { ConfigurationManager.class, ConfigurationService.class }) +public class MockConfigurationManagerImpl implements ConfigurationManager, ConfigurationService, Manager{ + @Inject + NetworkOfferingDao _ntwkOffDao; + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#updateConfiguration(com.cloud.api.commands.UpdateCfgCmd) + */ + @Override + public Configuration updateConfiguration(UpdateCfgCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#createServiceOffering(com.cloud.api.commands.CreateServiceOfferingCmd) + */ + @Override + public ServiceOffering createServiceOffering(CreateServiceOfferingCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#updateServiceOffering(com.cloud.api.commands.UpdateServiceOfferingCmd) + */ + @Override + public ServiceOffering updateServiceOffering(UpdateServiceOfferingCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#deleteServiceOffering(com.cloud.api.commands.DeleteServiceOfferingCmd) + */ + @Override + public boolean deleteServiceOffering(DeleteServiceOfferingCmd cmd) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#updateDiskOffering(com.cloud.api.commands.UpdateDiskOfferingCmd) + */ + @Override + public DiskOffering updateDiskOffering(UpdateDiskOfferingCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#deleteDiskOffering(com.cloud.api.commands.DeleteDiskOfferingCmd) + */ + @Override + public boolean deleteDiskOffering(DeleteDiskOfferingCmd cmd) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#createDiskOffering(com.cloud.api.commands.CreateDiskOfferingCmd) + */ + @Override + public DiskOffering createDiskOffering(CreateDiskOfferingCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#createPod(long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) + */ + @Override + public Pod createPod(long zoneId, String name, String startIp, String endIp, String gateway, String netmask, String allocationState) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#editPod(com.cloud.api.commands.UpdatePodCmd) + */ + @Override + public Pod editPod(UpdatePodCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#deletePod(com.cloud.api.commands.DeletePodCmd) + */ + @Override + public boolean deletePod(DeletePodCmd cmd) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#createZone(com.cloud.api.commands.CreateZoneCmd) + */ + @Override + public DataCenter createZone(CreateZoneCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#editZone(com.cloud.api.commands.UpdateZoneCmd) + */ + @Override + public DataCenter editZone(UpdateZoneCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#deleteZone(com.cloud.api.commands.DeleteZoneCmd) + */ + @Override + public boolean deleteZone(DeleteZoneCmd cmd) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#createVlanAndPublicIpRange(com.cloud.api.commands.CreateVlanIpRangeCmd) + */ + @Override + public Vlan createVlanAndPublicIpRange(CreateVlanIpRangeCmd cmd) throws InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException, ResourceAllocationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#markDefaultZone(java.lang.String, long, long) + */ + @Override + public Account markDefaultZone(String accountName, long domainId, long defaultZoneId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#deleteVlanIpRange(com.cloud.api.commands.DeleteVlanIpRangeCmd) + */ + @Override + public boolean deleteVlanIpRange(DeleteVlanIpRangeCmd cmd) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#createNetworkOffering(com.cloud.api.commands.CreateNetworkOfferingCmd) + */ + @Override + public NetworkOffering createNetworkOffering(CreateNetworkOfferingCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#updateNetworkOffering(com.cloud.api.commands.UpdateNetworkOfferingCmd) + */ + @Override + public NetworkOffering updateNetworkOffering(UpdateNetworkOfferingCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#searchForNetworkOfferings(com.cloud.api.commands.ListNetworkOfferingsCmd) + */ + @Override + public List searchForNetworkOfferings(ListNetworkOfferingsCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#deleteNetworkOffering(com.cloud.api.commands.DeleteNetworkOfferingCmd) + */ + @Override + public boolean deleteNetworkOffering(DeleteNetworkOfferingCmd cmd) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#getNetworkOffering(long) + */ + @Override + public NetworkOffering getNetworkOffering(long id) { + return _ntwkOffDao.findById(id); + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#getNetworkOfferingNetworkRate(long) + */ + @Override + public Integer getNetworkOfferingNetworkRate(long networkOfferingId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#getVlanAccount(long) + */ + @Override + public Account getVlanAccount(long vlanId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#listNetworkOfferings(com.cloud.network.Networks.TrafficType, boolean) + */ + @Override + public List listNetworkOfferings(TrafficType trafficType, boolean systemOnly) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#getZone(long) + */ + @Override + public DataCenter getZone(long id) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#getServiceOffering(long) + */ + @Override + public ServiceOffering getServiceOffering(long serviceOfferingId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#getDefaultPageSize() + */ + @Override + public Long getDefaultPageSize() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#getServiceOfferingNetworkRate(long) + */ + @Override + public Integer getServiceOfferingNetworkRate(long serviceOfferingId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#getDiskOffering(long) + */ + @Override + public DiskOffering getDiskOffering(long diskOfferingId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#updateLDAP(com.cloud.api.commands.LDAPConfigCmd) + */ + @Override + public boolean updateLDAP(LDAPConfigCmd cmd) throws NamingException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#removeLDAP(com.cloud.api.commands.LDAPRemoveCmd) + */ + @Override + public boolean removeLDAP(LDAPRemoveCmd cmd) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationService#isOfferingForVpc(com.cloud.offering.NetworkOffering) + */ + @Override + public boolean isOfferingForVpc(NetworkOffering offering) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#configure(java.lang.String, java.util.Map) + */ + @Override + public boolean configure(String name, Map params) throws ConfigurationException { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#start() + */ + @Override + public boolean start() { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#stop() + */ + @Override + public boolean stop() { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#getName() + */ + @Override + public String getName() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#updateConfiguration(long, java.lang.String, java.lang.String, java.lang.String) + */ + @Override + public void updateConfiguration(long userId, String name, String category, String value) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#createServiceOffering(long, boolean, com.cloud.vm.VirtualMachine.Type, java.lang.String, int, int, int, java.lang.String, boolean, boolean, boolean, java.lang.String, java.lang.Long, java.lang.String, java.lang.Integer) + */ + @Override + public ServiceOfferingVO createServiceOffering(long userId, boolean isSystem, Type vm_typeType, String name, int cpu, int ramSize, int speed, String displayText, boolean localStorageRequired, boolean offerHA, + boolean limitResourceUse, String tags, Long domainId, String hostTag, Integer networkRate) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#createDiskOffering(java.lang.Long, java.lang.String, java.lang.String, java.lang.Long, java.lang.String, boolean, boolean) + */ + @Override + public DiskOfferingVO createDiskOffering(Long domainId, String name, String description, Long numGibibytes, String tags, boolean isCustomized, boolean localStorageRequired) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#createPod(long, java.lang.String, long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean) + */ + @Override + public HostPodVO createPod(long userId, String podName, long zoneId, String gateway, String cidr, String startIp, String endIp, String allocationState, boolean skipGatewayOverlapCheck) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#createZone(long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Long, com.cloud.dc.DataCenter.NetworkType, java.lang.String, java.lang.String, boolean, boolean) + */ + @Override + public DataCenterVO createZone(long userId, String zoneName, String dns1, String dns2, String internalDns1, String internalDns2, String guestCidr, String domain, Long domainId, NetworkType zoneType, + String allocationState, String networkDomain, boolean isSecurityGroupEnabled, boolean isLocalStorageEnabled) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#deleteVlanAndPublicIpRange(long, long, com.cloud.user.Account) + */ + @Override + public boolean deleteVlanAndPublicIpRange(long userId, long vlanDbId, Account caller) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#csvTagsToList(java.lang.String) + */ + @Override + public List csvTagsToList(String tags) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#listToCsvTags(java.util.List) + */ + @Override + public String listToCsvTags(List tags) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#checkZoneAccess(com.cloud.user.Account, com.cloud.dc.DataCenter) + */ + @Override + public void checkZoneAccess(Account caller, DataCenter zone) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#checkDiskOfferingAccess(com.cloud.user.Account, com.cloud.offering.DiskOffering) + */ + @Override + public void checkDiskOfferingAccess(Account caller, DiskOffering dof) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#createNetworkOffering(java.lang.String, java.lang.String, com.cloud.network.Networks.TrafficType, java.lang.String, boolean, com.cloud.offering.NetworkOffering.Availability, java.lang.Integer, java.util.Map, boolean, com.cloud.network.Network.GuestType, boolean, java.lang.Long, boolean, java.util.Map, boolean) + */ + @Override + public NetworkOfferingVO createNetworkOffering(String name, String displayText, TrafficType trafficType, String tags, boolean specifyVlan, Availability availability, Integer networkRate, + Map> serviceProviderMap, boolean isDefault, GuestType type, boolean systemOnly, Long serviceOfferingId, boolean conserveMode, + Map> serviceCapabilityMap, boolean specifyIpRanges) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#createVlanAndPublicIpRange(long, long, long, boolean, java.lang.Long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, com.cloud.user.Account) + */ + @Override + public Vlan createVlanAndPublicIpRange(long zoneId, long networkId, long physicalNetworkId, boolean forVirtualNetwork, Long podId, String startIP, String endIP, String vlanGateway, String vlanNetmask, String vlanId, + Account vlanOwner) throws InsufficientCapacityException, ConcurrentOperationException, InvalidParameterValueException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#createDefaultSystemNetworks(long) + */ + @Override + public void createDefaultSystemNetworks(long zoneId) throws ConcurrentOperationException { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#getPod(long) + */ + @Override + public HostPodVO getPod(long id) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#getCluster(long) + */ + @Override + public ClusterVO getCluster(long id) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#deleteAccountSpecificVirtualRanges(long) + */ + @Override + public boolean deleteAccountSpecificVirtualRanges(long accountId) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#editPod(long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) + */ + @Override + public Pod editPod(long id, String name, String startIp, String endIp, String gateway, String netmask, String allocationStateStr) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#checkPodCidrSubnets(long, java.lang.Long, java.lang.String) + */ + @Override + public void checkPodCidrSubnets(long zoneId, Long podIdToBeSkipped, String cidr) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#findPodAllocationState(com.cloud.dc.HostPodVO) + */ + @Override + public AllocationState findPodAllocationState(HostPodVO pod) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#findClusterAllocationState(com.cloud.dc.ClusterVO) + */ + @Override + public AllocationState findClusterAllocationState(ClusterVO cluster) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.ConfigurationManager#cleanupTags(java.lang.String) + */ + @Override + public String cleanupTags(String tags) { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java new file mode 100644 index 00000000000..d33f8b4333c --- /dev/null +++ b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java @@ -0,0 +1,1496 @@ +// Copyright 2012 Citrix Systems, Inc. Licensed under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. Citrix Systems, Inc. +// reserves all rights not expressly granted by the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Automatically generated by addcopyright.py at 04/03/2012 +package com.cloud.vpc; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.ejb.Local; +import javax.naming.ConfigurationException; + +import org.apache.log4j.Logger; + +import com.cloud.acl.ControlledEntity.ACLType; +import com.cloud.api.commands.CreateNetworkCmd; +import com.cloud.api.commands.ListNetworksCmd; +import com.cloud.api.commands.ListTrafficTypeImplementorsCmd; +import com.cloud.api.commands.RestartNetworkCmd; +import com.cloud.dc.DataCenter; +import com.cloud.dc.Vlan; +import com.cloud.dc.Vlan.VlanType; +import com.cloud.deploy.DataCenterDeployment; +import com.cloud.deploy.DeployDestination; +import com.cloud.deploy.DeploymentPlan; +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.exception.InsufficientAddressCapacityException; +import com.cloud.exception.InsufficientCapacityException; +import com.cloud.exception.InsufficientVirtualNetworkCapcityException; +import com.cloud.exception.ResourceAllocationException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.hypervisor.Hypervisor.HypervisorType; +import com.cloud.network.IPAddressVO; +import com.cloud.network.IpAddress; +import com.cloud.network.Network; +import com.cloud.network.Network.Capability; +import com.cloud.network.Network.GuestType; +import com.cloud.network.Network.Provider; +import com.cloud.network.Network.Service; +import com.cloud.network.NetworkManager; +import com.cloud.network.NetworkProfile; +import com.cloud.network.NetworkService; +import com.cloud.network.NetworkVO; +import com.cloud.network.Networks.TrafficType; +import com.cloud.network.PhysicalNetwork; +import com.cloud.network.PhysicalNetworkServiceProvider; +import com.cloud.network.PhysicalNetworkSetupInfo; +import com.cloud.network.PhysicalNetworkTrafficType; +import com.cloud.network.PublicIpAddress; +import com.cloud.network.addr.PublicIp; +import com.cloud.network.dao.NetworkServiceMapDao; +import com.cloud.network.element.NetworkElement; +import com.cloud.network.element.RemoteAccessVPNServiceProvider; +import com.cloud.network.element.Site2SiteVpnServiceProvider; +import com.cloud.network.element.UserDataServiceProvider; +import com.cloud.network.guru.NetworkGuru; +import com.cloud.network.rules.FirewallRule; +import com.cloud.network.rules.StaticNat; +import com.cloud.offering.NetworkOffering; +import com.cloud.offerings.NetworkOfferingVO; +import com.cloud.offerings.dao.NetworkOfferingServiceMapDao; +import com.cloud.user.Account; +import com.cloud.user.User; +import com.cloud.utils.Pair; +import com.cloud.utils.component.Adapters; +import com.cloud.utils.component.Inject; +import com.cloud.utils.component.Manager; +import com.cloud.vm.Nic; +import com.cloud.vm.NicProfile; +import com.cloud.vm.ReservationContext; +import com.cloud.vm.VMInstanceVO; +import com.cloud.vm.VirtualMachine; +import com.cloud.vm.VirtualMachineProfile; +import com.cloud.vm.VirtualMachineProfileImpl; +import com.cloud.vpc.dao.MockVpcVirtualRouterElement; + +@Local(value = { NetworkManager.class, NetworkService.class }) +public class MockNetworkManagerImpl implements NetworkManager, Manager{ + @Inject + NetworkServiceMapDao _ntwkSrvcDao; + @Inject + NetworkOfferingServiceMapDao _ntwkOfferingSrvcDao; + @Inject(adapter = NetworkElement.class) + Adapters _networkElements; + + private static HashMap s_providerToNetworkElementMap = new HashMap(); + private static final Logger s_logger = Logger.getLogger(MockNetworkManagerImpl.class); + + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getIsolatedNetworksOwnedByAccountInZone(long, com.cloud.user.Account) + */ + @Override + public List getIsolatedNetworksOwnedByAccountInZone(long zoneId, Account owner) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#allocateIP(com.cloud.user.Account, long) + */ + @Override + public IpAddress allocateIP(Account ipOwner, long zoneId) throws ResourceAllocationException, InsufficientAddressCapacityException, ConcurrentOperationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#releaseIpAddress(long) + */ + @Override + public boolean releaseIpAddress(long ipAddressId) throws InsufficientAddressCapacityException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#createGuestNetwork(com.cloud.api.commands.CreateNetworkCmd) + */ + @Override + public Network createGuestNetwork(CreateNetworkCmd cmd) throws InsufficientCapacityException, ConcurrentOperationException, ResourceAllocationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#searchForNetworks(com.cloud.api.commands.ListNetworksCmd) + */ + @Override + public List searchForNetworks(ListNetworksCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#deleteNetwork(long) + */ + @Override + public boolean deleteNetwork(long networkId) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#restartNetwork(com.cloud.api.commands.RestartNetworkCmd, boolean) + */ + @Override + public boolean restartNetwork(RestartNetworkCmd cmd, boolean cleanup) throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getActiveNicsInNetwork(long) + */ + @Override + public int getActiveNicsInNetwork(long networkId) { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getNetwork(long) + */ + @Override + public Network getNetwork(long networkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getIp(long) + */ + @Override + public IpAddress getIp(long id) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#convertNetworkToNetworkProfile(long) + */ + @Override + public NetworkProfile convertNetworkToNetworkProfile(long networkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getNetworkCapabilities(long) + */ + @Override + public Map> getNetworkCapabilities(long networkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#isNetworkAvailableInDomain(long, long) + */ + @Override + public boolean isNetworkAvailableInDomain(long networkId, long domainId) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getDedicatedNetworkDomain(long) + */ + @Override + public Long getDedicatedNetworkDomain(long networkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#updateGuestNetwork(long, java.lang.String, java.lang.String, com.cloud.user.Account, com.cloud.user.User, java.lang.String, java.lang.Long, java.lang.Boolean) + */ + @Override + public Network updateGuestNetwork(long networkId, String name, String displayText, Account callerAccount, User callerUser, String domainSuffix, Long networkOfferingId, Boolean changeCidr) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getNetworkRate(long, java.lang.Long) + */ + @Override + public Integer getNetworkRate(long networkId, Long vmId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getSystemNetworkByZoneAndTrafficType(long, com.cloud.network.Networks.TrafficType) + */ + @Override + public Network getSystemNetworkByZoneAndTrafficType(long zoneId, TrafficType trafficType) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getNetworkOfferingServiceProvidersMap(long) + */ + @Override + public Map> getNetworkOfferingServiceProvidersMap(long networkOfferingId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#createPhysicalNetwork(java.lang.Long, java.lang.String, java.lang.String, java.util.List, java.lang.String, java.lang.Long, java.util.List, java.lang.String) + */ + @Override + public PhysicalNetwork createPhysicalNetwork(Long zoneId, String vnetRange, String networkSpeed, List isolationMethods, String broadcastDomainRange, Long domainId, List tags, String name) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#searchPhysicalNetworks(java.lang.Long, java.lang.Long, java.lang.String, java.lang.Long, java.lang.Long, java.lang.String) + */ + @Override + public List searchPhysicalNetworks(Long id, Long zoneId, String keyword, Long startIndex, Long pageSize, String name) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#updatePhysicalNetwork(java.lang.Long, java.lang.String, java.util.List, java.lang.String, java.lang.String) + */ + @Override + public PhysicalNetwork updatePhysicalNetwork(Long id, String networkSpeed, List tags, String newVnetRangeString, String state) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#deletePhysicalNetwork(java.lang.Long) + */ + @Override + public boolean deletePhysicalNetwork(Long id) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#listNetworkServices(java.lang.String) + */ + @Override + public List listNetworkServices(String providerName) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#listSupportedNetworkServiceProviders(java.lang.String) + */ + @Override + public List listSupportedNetworkServiceProviders(String serviceName) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#addProviderToPhysicalNetwork(java.lang.Long, java.lang.String, java.lang.Long, java.util.List) + */ + @Override + public PhysicalNetworkServiceProvider addProviderToPhysicalNetwork(Long physicalNetworkId, String providerName, Long destinationPhysicalNetworkId, List enabledServices) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#listNetworkServiceProviders(java.lang.Long, java.lang.String, java.lang.String, java.lang.Long, java.lang.Long) + */ + @Override + public List listNetworkServiceProviders(Long physicalNetworkId, String name, String state, Long startIndex, Long pageSize) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#updateNetworkServiceProvider(java.lang.Long, java.lang.String, java.util.List) + */ + @Override + public PhysicalNetworkServiceProvider updateNetworkServiceProvider(Long id, String state, List enabledServices) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#deleteNetworkServiceProvider(java.lang.Long) + */ + @Override + public boolean deleteNetworkServiceProvider(Long id) throws ConcurrentOperationException, ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getPhysicalNetwork(java.lang.Long) + */ + @Override + public PhysicalNetwork getPhysicalNetwork(Long physicalNetworkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getCreatedPhysicalNetwork(java.lang.Long) + */ + @Override + public PhysicalNetwork getCreatedPhysicalNetwork(Long physicalNetworkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getPhysicalNetworkServiceProvider(java.lang.Long) + */ + @Override + public PhysicalNetworkServiceProvider getPhysicalNetworkServiceProvider(Long providerId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getCreatedPhysicalNetworkServiceProvider(java.lang.Long) + */ + @Override + public PhysicalNetworkServiceProvider getCreatedPhysicalNetworkServiceProvider(Long providerId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#findPhysicalNetworkId(long, java.lang.String, com.cloud.network.Networks.TrafficType) + */ + @Override + public long findPhysicalNetworkId(long zoneId, String tag, TrafficType trafficType) { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#addTrafficTypeToPhysicalNetwork(java.lang.Long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) + */ + @Override + public PhysicalNetworkTrafficType addTrafficTypeToPhysicalNetwork(Long physicalNetworkId, String trafficType, String xenLabel, String kvmLabel, String vmwareLabel, String simulatorLabel, String vlan) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getPhysicalNetworkTrafficType(java.lang.Long) + */ + @Override + public PhysicalNetworkTrafficType getPhysicalNetworkTrafficType(Long id) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#updatePhysicalNetworkTrafficType(java.lang.Long, java.lang.String, java.lang.String, java.lang.String) + */ + @Override + public PhysicalNetworkTrafficType updatePhysicalNetworkTrafficType(Long id, String xenLabel, String kvmLabel, String vmwareLabel) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#deletePhysicalNetworkTrafficType(java.lang.Long) + */ + @Override + public boolean deletePhysicalNetworkTrafficType(Long id) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#listTrafficTypes(java.lang.Long) + */ + @Override + public List listTrafficTypes(Long physicalNetworkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getDefaultPhysicalNetworkByZoneAndTrafficType(long, com.cloud.network.Networks.TrafficType) + */ + @Override + public PhysicalNetwork getDefaultPhysicalNetworkByZoneAndTrafficType(long zoneId, TrafficType trafficType) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getExclusiveGuestNetwork(long) + */ + @Override + public Network getExclusiveGuestNetwork(long zoneId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#listTrafficTypeImplementor(com.cloud.api.commands.ListTrafficTypeImplementorsCmd) + */ + @Override + public List> listTrafficTypeImplementor(ListTrafficTypeImplementorsCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#getIsolatedNetworksWithSourceNATOwnedByAccountInZone(long, com.cloud.user.Account) + */ + @Override + public List getIsolatedNetworksWithSourceNATOwnedByAccountInZone(long zoneId, Account owner) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#listNetworksByVpc(long) + */ + @Override + public List listNetworksByVpc(long vpcId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#isVmPartOfNetwork(long, long) + */ + @Override + public boolean isVmPartOfNetwork(long vmId, long ntwkId) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#associateIPToNetwork(long, long) + */ + @Override + public IpAddress associateIPToNetwork(long ipId, long networkId) throws InsufficientAddressCapacityException, ResourceAllocationException, ResourceUnavailableException, ConcurrentOperationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#createPrivateNetwork(java.lang.String, java.lang.String, long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, long, java.lang.Long) + */ + @Override + public Network createPrivateNetwork(String networkName, String displayText, long physicalNetworkId, String vlan, String startIp, String endIP, String gateway, String netmask, long networkOwnerId, Long vpcId) + throws ResourceAllocationException, ConcurrentOperationException, InsufficientCapacityException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkService#canUseForDeploy(com.cloud.network.Network) + */ + @Override + public boolean canUseForDeploy(Network network) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#assignPublicIpAddress(long, java.lang.Long, com.cloud.user.Account, com.cloud.dc.Vlan.VlanType, java.lang.Long, java.lang.String, boolean) + */ + @Override + public PublicIp assignPublicIpAddress(long dcId, Long podId, Account owner, VlanType type, Long networkId, String requestedIp, boolean isSystem) throws InsufficientAddressCapacityException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#disassociatePublicIpAddress(long, long, com.cloud.user.Account) + */ + @Override + public boolean disassociatePublicIpAddress(long id, long userId, Account caller) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#listPublicIpsAssignedToGuestNtwk(long, long, java.lang.Boolean) + */ + @Override + public List listPublicIpsAssignedToGuestNtwk(long accountId, long associatedNetworkId, Boolean sourceNat) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#setupNetwork(com.cloud.user.Account, com.cloud.offerings.NetworkOfferingVO, com.cloud.deploy.DeploymentPlan, java.lang.String, java.lang.String, boolean) + */ + @Override + public List setupNetwork(Account owner, NetworkOfferingVO offering, DeploymentPlan plan, String name, String displayText, boolean isDefault) throws ConcurrentOperationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#setupNetwork(com.cloud.user.Account, com.cloud.offerings.NetworkOfferingVO, com.cloud.network.Network, com.cloud.deploy.DeploymentPlan, java.lang.String, java.lang.String, boolean, java.lang.Long, com.cloud.acl.ControlledEntity.ACLType, java.lang.Boolean, java.lang.Long) + */ + @Override + public List setupNetwork(Account owner, NetworkOfferingVO offering, Network predefined, DeploymentPlan plan, String name, String displayText, boolean errorIfAlreadySetup, Long domainId, ACLType aclType, + Boolean subdomainAccess, Long vpcId) throws ConcurrentOperationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getSystemAccountNetworkOfferings(java.lang.String[]) + */ + @Override + public List getSystemAccountNetworkOfferings(String... offeringNames) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#allocate(com.cloud.vm.VirtualMachineProfile, java.util.List) + */ + @Override + public void allocate(VirtualMachineProfile vm, List> networks) throws InsufficientCapacityException, ConcurrentOperationException { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#prepare(com.cloud.vm.VirtualMachineProfile, com.cloud.deploy.DeployDestination, com.cloud.vm.ReservationContext) + */ + @Override + public void prepare(VirtualMachineProfile profile, DeployDestination dest, ReservationContext context) throws InsufficientCapacityException, ConcurrentOperationException, + ResourceUnavailableException { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#release(com.cloud.vm.VirtualMachineProfile, boolean) + */ + @Override + public void release(VirtualMachineProfile vmProfile, boolean forced) throws ConcurrentOperationException, ResourceUnavailableException { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#cleanupNics(com.cloud.vm.VirtualMachineProfile) + */ + @Override + public void cleanupNics(VirtualMachineProfile vm) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#expungeNics(com.cloud.vm.VirtualMachineProfile) + */ + @Override + public void expungeNics(VirtualMachineProfile vm) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getNics(long) + */ + @Override + public List getNics(long vmId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getNicProfiles(com.cloud.vm.VirtualMachine) + */ + @Override + public List getNicProfiles(VirtualMachine vm) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getNextAvailableMacAddressInNetwork(long) + */ + @Override + public String getNextAvailableMacAddressInNetwork(long networkConfigurationId) throws InsufficientAddressCapacityException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#applyRules(java.util.List, boolean) + */ + @Override + public boolean applyRules(List rules, boolean continueOnError) throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#validateRule(com.cloud.network.rules.FirewallRule) + */ + @Override + public boolean validateRule(FirewallRule rule) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getRemoteAccessVpnElements() + */ + @Override + public List getRemoteAccessVpnElements() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getSite2SiteVpnElements() + */ + @Override + public List getSite2SiteVpnElements() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getPublicIpAddress(long) + */ + @Override + public PublicIpAddress getPublicIpAddress(long ipAddressId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#listPodVlans(long) + */ + @Override + public List listPodVlans(long podId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#implementNetwork(long, com.cloud.deploy.DeployDestination, com.cloud.vm.ReservationContext) + */ + @Override + public Pair implementNetwork(long networkId, DeployDestination dest, ReservationContext context) throws ConcurrentOperationException, ResourceUnavailableException, + InsufficientCapacityException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#listNetworksUsedByVm(long, boolean) + */ + @Override + public List listNetworksUsedByVm(long vmId, boolean isSystem) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#prepareNicForMigration(com.cloud.vm.VirtualMachineProfile, com.cloud.deploy.DeployDestination) + */ + @Override + public void prepareNicForMigration(VirtualMachineProfile vm, DeployDestination dest) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#shutdownNetwork(long, com.cloud.vm.ReservationContext, boolean) + */ + @Override + public boolean shutdownNetwork(long networkId, ReservationContext context, boolean cleanupElements) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#destroyNetwork(long, com.cloud.vm.ReservationContext) + */ + @Override + public boolean destroyNetwork(long networkId, ReservationContext context) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#createGuestNetwork(long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, com.cloud.user.Account, java.lang.Long, com.cloud.network.PhysicalNetwork, long, com.cloud.acl.ControlledEntity.ACLType, java.lang.Boolean, java.lang.Long) + */ + @Override + public Network createGuestNetwork(long networkOfferingId, String name, String displayText, String gateway, String cidr, String vlanId, String networkDomain, Account owner, Long domainId, + PhysicalNetwork physicalNetwork, long zoneId, ACLType aclType, Boolean subdomainAccess, Long vpcId) throws ConcurrentOperationException, InsufficientCapacityException, ResourceAllocationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#associateIpAddressListToAccount(long, long, long, java.lang.Long, com.cloud.network.Network) + */ + @Override + public boolean associateIpAddressListToAccount(long userId, long accountId, long zoneId, Long vlanId, Network guestNetwork) throws InsufficientCapacityException, ConcurrentOperationException, + ResourceUnavailableException, ResourceAllocationException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getNicInNetwork(long, long) + */ + @Override + public Nic getNicInNetwork(long vmId, long networkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getNicsForTraffic(long, com.cloud.network.Networks.TrafficType) + */ + @Override + public List getNicsForTraffic(long vmId, TrafficType type) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getDefaultNetworkForVm(long) + */ + @Override + public Network getDefaultNetworkForVm(long vmId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getDefaultNic(long) + */ + @Override + public Nic getDefaultNic(long vmId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getPasswordResetElements() + */ + @Override + public List getPasswordResetElements() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#networkIsConfiguredForExternalNetworking(long, long) + */ + @Override + public boolean networkIsConfiguredForExternalNetworking(long zoneId, long networkId) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getNetworkServiceCapabilities(long, com.cloud.network.Network.Service) + */ + @Override + public Map getNetworkServiceCapabilities(long networkId, Service service) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#applyIpAssociations(com.cloud.network.Network, boolean) + */ + @Override + public boolean applyIpAssociations(Network network, boolean continueOnError) throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#areServicesSupportedByNetworkOffering(long, com.cloud.network.Network.Service[]) + */ + @Override + public boolean areServicesSupportedByNetworkOffering(long networkOfferingId, Service... services) { + return (_ntwkOfferingSrvcDao.areServicesSupportedByNetworkOffering(networkOfferingId, services)); + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getNetworkWithSecurityGroupEnabled(java.lang.Long) + */ + @Override + public NetworkVO getNetworkWithSecurityGroupEnabled(Long zoneId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#startNetwork(long, com.cloud.deploy.DeployDestination, com.cloud.vm.ReservationContext) + */ + @Override + public boolean startNetwork(long networkId, DeployDestination dest, ReservationContext context) throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getIpOfNetworkElementInVirtualNetwork(long, long) + */ + @Override + public String getIpOfNetworkElementInVirtualNetwork(long accountId, long dataCenterId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#listNetworksForAccount(long, long, com.cloud.network.Network.GuestType) + */ + @Override + public List listNetworksForAccount(long accountId, long zoneId, GuestType type) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#listAllNetworksInAllZonesByType(com.cloud.network.Network.GuestType) + */ + @Override + public List listAllNetworksInAllZonesByType(GuestType type) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#markIpAsUnavailable(long) + */ + @Override + public IPAddressVO markIpAsUnavailable(long addrId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#acquireGuestIpAddress(com.cloud.network.Network, java.lang.String) + */ + @Override + public String acquireGuestIpAddress(Network network, String requestedIp) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getGlobalGuestDomainSuffix() + */ + @Override + public String getGlobalGuestDomainSuffix() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getStartIpAddress(long) + */ + @Override + public String getStartIpAddress(long networkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#applyStaticNats(java.util.List, boolean) + */ + @Override + public boolean applyStaticNats(List staticNats, boolean continueOnError) throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getIpInNetwork(long, long) + */ + @Override + public String getIpInNetwork(long vmId, long networkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getIpInNetworkIncludingRemoved(long, long) + */ + @Override + public String getIpInNetworkIncludingRemoved(long vmId, long networkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getPodIdForVlan(long) + */ + @Override + public Long getPodIdForVlan(long vlanDbId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#listNetworkOfferingsForUpgrade(long) + */ + @Override + public List listNetworkOfferingsForUpgrade(long networkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#isSecurityGroupSupportedInNetwork(com.cloud.network.Network) + */ + @Override + public boolean isSecurityGroupSupportedInNetwork(Network network) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#isProviderSupportServiceInNetwork(long, com.cloud.network.Network.Service, com.cloud.network.Network.Provider) + */ + @Override + public boolean isProviderSupportServiceInNetwork(long networkId, Service service, Provider provider) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#isProviderEnabledInPhysicalNetwork(long, java.lang.String) + */ + @Override + public boolean isProviderEnabledInPhysicalNetwork(long physicalNetowrkId, String providerName) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getNetworkTag(com.cloud.hypervisor.Hypervisor.HypervisorType, com.cloud.network.Network) + */ + @Override + public String getNetworkTag(HypervisorType hType, Network network) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getElementServices(com.cloud.network.Network.Provider) + */ + @Override + public List getElementServices(Provider provider) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#canElementEnableIndividualServices(com.cloud.network.Network.Provider) + */ + @Override + public boolean canElementEnableIndividualServices(Provider provider) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#areServicesSupportedInNetwork(long, com.cloud.network.Network.Service[]) + */ + @Override + public boolean areServicesSupportedInNetwork(long networkId, Service... services) { + return (_ntwkSrvcDao.areServicesSupportedInNetwork(networkId, services)); + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#isNetworkSystem(com.cloud.network.Network) + */ + @Override + public boolean isNetworkSystem(Network network) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#reallocate(com.cloud.vm.VirtualMachineProfile, com.cloud.deploy.DataCenterDeployment) + */ + @Override + public boolean reallocate(VirtualMachineProfile vm, DataCenterDeployment dest) throws InsufficientCapacityException, ConcurrentOperationException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getNetworkOfferingServiceCapabilities(com.cloud.offering.NetworkOffering, com.cloud.network.Network.Service) + */ + @Override + public Map getNetworkOfferingServiceCapabilities(NetworkOffering offering, Service service) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getPhysicalNetworkId(com.cloud.network.Network) + */ + @Override + public Long getPhysicalNetworkId(Network network) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getAllowSubdomainAccessGlobal() + */ + @Override + public boolean getAllowSubdomainAccessGlobal() { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#isProviderForNetwork(com.cloud.network.Network.Provider, long) + */ + @Override + public boolean isProviderForNetwork(Provider provider, long networkId) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#isProviderForNetworkOffering(com.cloud.network.Network.Provider, long) + */ + @Override + public boolean isProviderForNetworkOffering(Provider provider, long networkOfferingId) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#canProviderSupportServices(java.util.Map) + */ + @Override + public void canProviderSupportServices(Map> providersMap) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getPhysicalNetworkInfo(long, com.cloud.hypervisor.Hypervisor.HypervisorType) + */ + @Override + public List getPhysicalNetworkInfo(long dcId, HypervisorType hypervisorType) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#canAddDefaultSecurityGroup() + */ + @Override + public boolean canAddDefaultSecurityGroup() { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#listNetworkOfferingServices(long) + */ + @Override + public List listNetworkOfferingServices(long networkOfferingId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#areServicesEnabledInZone(long, com.cloud.offering.NetworkOffering, java.util.List) + */ + @Override + public boolean areServicesEnabledInZone(long zoneId, NetworkOffering offering, List services) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getIpToServices(java.util.List, boolean, boolean) + */ + @Override + public Map> getIpToServices(List publicIps, boolean rulesRevoked, boolean includingFirewall) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getProviderToIpList(com.cloud.network.Network, java.util.Map) + */ + @Override + public Map> getProviderToIpList(Network network, Map> ipToServices) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#checkIpForService(com.cloud.network.IPAddressVO, com.cloud.network.Network.Service, java.lang.Long) + */ + @Override + public boolean checkIpForService(IPAddressVO ip, Service service, Long networkId) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#checkVirtualNetworkCidrOverlap(java.lang.Long, java.lang.String) + */ + @Override + public void checkVirtualNetworkCidrOverlap(Long zoneId, String cidr) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#checkCapabilityForProvider(java.util.Set, com.cloud.network.Network.Service, com.cloud.network.Network.Capability, java.lang.String) + */ + @Override + public void checkCapabilityForProvider(Set providers, Service service, Capability cap, String capValue) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getDefaultUniqueProviderForService(java.lang.String) + */ + @Override + public Provider getDefaultUniqueProviderForService(String serviceName) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#assignSystemIp(long, com.cloud.user.Account, boolean, boolean) + */ + @Override + public IpAddress assignSystemIp(long networkId, Account owner, boolean forElasticLb, boolean forElasticIp) throws InsufficientAddressCapacityException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#handleSystemIpRelease(com.cloud.network.IpAddress) + */ + @Override + public boolean handleSystemIpRelease(IpAddress ip) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#checkNetworkPermissions(com.cloud.user.Account, com.cloud.network.Network) + */ + @Override + public void checkNetworkPermissions(Account owner, Network network) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#allocateDirectIp(com.cloud.vm.NicProfile, com.cloud.dc.DataCenter, com.cloud.vm.VirtualMachineProfile, com.cloud.network.Network, java.lang.String) + */ + @Override + public void allocateDirectIp(NicProfile nic, DataCenter dc, VirtualMachineProfile vm, Network network, String requestedIp) throws InsufficientVirtualNetworkCapcityException, + InsufficientAddressCapacityException { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getDefaultManagementTrafficLabel(long, com.cloud.hypervisor.Hypervisor.HypervisorType) + */ + @Override + public String getDefaultManagementTrafficLabel(long zoneId, HypervisorType hypervisorType) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getDefaultStorageTrafficLabel(long, com.cloud.hypervisor.Hypervisor.HypervisorType) + */ + @Override + public String getDefaultStorageTrafficLabel(long zoneId, HypervisorType hypervisorType) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getDefaultPublicTrafficLabel(long, com.cloud.hypervisor.Hypervisor.HypervisorType) + */ + @Override + public String getDefaultPublicTrafficLabel(long dcId, HypervisorType vmware) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getDefaultGuestTrafficLabel(long, com.cloud.hypervisor.Hypervisor.HypervisorType) + */ + @Override + public String getDefaultGuestTrafficLabel(long dcId, HypervisorType vmware) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getElementImplementingProvider(java.lang.String) + */ + @Override + public NetworkElement getElementImplementingProvider(String providerName) { + return new MockVpcVirtualRouterElement(); + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#assignSourceNatIpAddressToGuestNetwork(com.cloud.user.Account, com.cloud.network.Network) + */ + @Override + public PublicIp assignSourceNatIpAddressToGuestNetwork(Account owner, Network guestNetwork) throws InsufficientAddressCapacityException, ConcurrentOperationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getAccountNetworkDomain(long, long) + */ + @Override + public String getAccountNetworkDomain(long accountId, long zoneId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getDefaultNetworkDomain() + */ + @Override + public String getDefaultNetworkDomain() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getNtwkOffDistinctProviders(long) + */ + @Override + public List getNtwkOffDistinctProviders(long networkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#allocateNic(com.cloud.vm.NicProfile, com.cloud.network.Network, java.lang.Boolean, int, com.cloud.vm.VirtualMachineProfile) + */ + @Override + public Pair allocateNic(NicProfile requested, Network network, Boolean isDefaultNic, int deviceId, VirtualMachineProfile vm) + throws InsufficientVirtualNetworkCapcityException, InsufficientAddressCapacityException, ConcurrentOperationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#prepareNic(com.cloud.vm.VirtualMachineProfile, com.cloud.deploy.DeployDestination, com.cloud.vm.ReservationContext, long, com.cloud.network.NetworkVO) + */ + @Override + public NicProfile prepareNic(VirtualMachineProfile vmProfile, DeployDestination dest, ReservationContext context, long nicId, NetworkVO network) + throws InsufficientVirtualNetworkCapcityException, InsufficientAddressCapacityException, ConcurrentOperationException, InsufficientCapacityException, ResourceUnavailableException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#removeNic(com.cloud.vm.VirtualMachineProfile, com.cloud.vm.Nic) + */ + @Override + public void removeNic(VirtualMachineProfile vm, Nic nic) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#listPublicIpsAssignedToAccount(long, long, java.lang.Boolean) + */ + @Override + public List listPublicIpsAssignedToAccount(long accountId, long dcId, Boolean sourceNat) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#associateIPToGuestNetwork(long, long, boolean) + */ + @Override + public IPAddressVO associateIPToGuestNetwork(long ipAddrId, long networkId, boolean releaseOnFailure) throws ResourceAllocationException, ResourceUnavailableException, InsufficientAddressCapacityException, + ConcurrentOperationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getNicProfile(com.cloud.vm.VirtualMachine, long, java.lang.String) + */ + @Override + public NicProfile getNicProfile(VirtualMachine vm, long networkId, String broadcastUri) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#setupDns(com.cloud.network.Network, com.cloud.network.Network.Provider) + */ + @Override + public boolean setupDns(Network network, Provider provider) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#releaseNic(com.cloud.vm.VirtualMachineProfile, com.cloud.vm.Nic) + */ + @Override + public void releaseNic(VirtualMachineProfile vmProfile, Nic nic) throws ConcurrentOperationException, ResourceUnavailableException { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#getPhysicalNtwksSupportingTrafficType(long, com.cloud.network.Networks.TrafficType) + */ + @Override + public List getPhysicalNtwksSupportingTrafficType(long zoneId, TrafficType trafficType) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#isPrivateGateway(com.cloud.vm.Nic) + */ + @Override + public boolean isPrivateGateway(Nic guestNic) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#createNicForVm(com.cloud.network.Network, com.cloud.vm.NicProfile, com.cloud.vm.ReservationContext, com.cloud.vm.VirtualMachineProfileImpl, boolean) + */ + @Override + public NicProfile createNicForVm(Network network, NicProfile requested, ReservationContext context, VirtualMachineProfileImpl vmProfile, boolean prepare) + throws InsufficientVirtualNetworkCapcityException, InsufficientAddressCapacityException, ConcurrentOperationException, InsufficientCapacityException, ResourceUnavailableException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#assignVpnGatewayIpAddress(long, com.cloud.user.Account, long) + */ + @Override + public PublicIp assignVpnGatewayIpAddress(long dcId, Account owner, long vpcId) throws InsufficientAddressCapacityException, ConcurrentOperationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#markPublicIpAsAllocated(com.cloud.network.IPAddressVO) + */ + @Override + public void markPublicIpAsAllocated(IPAddressVO addr) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.NetworkManager#assignDedicateIpAddress(com.cloud.user.Account, java.lang.Long, java.lang.Long, long, boolean) + */ + @Override + public PublicIp assignDedicateIpAddress(Account owner, Long guestNtwkId, Long vpcId, long dcId, boolean isSourceNat) throws ConcurrentOperationException, InsufficientAddressCapacityException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#configure(java.lang.String, java.util.Map) + */ + @Override + public boolean configure(String name, Map params) throws ConfigurationException { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#start() + */ + @Override + public boolean start() { + for (NetworkElement element : _networkElements) { + Provider implementedProvider = element.getProvider(); + if (implementedProvider != null) { + if (s_providerToNetworkElementMap.containsKey(implementedProvider.getName())) { + s_logger.error("Cannot start MapNetworkManager: Provider <-> NetworkElement must be a one-to-one map, " + + "multiple NetworkElements found for Provider: " + implementedProvider.getName()); + return false; + } + s_providerToNetworkElementMap.put(implementedProvider.getName(), element.getName()); + } + } + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#stop() + */ + @Override + public boolean stop() { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#getName() + */ + @Override + public String getName() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/server/test/com/cloud/vpc/MockResourceLimitManagerImpl.java b/server/test/com/cloud/vpc/MockResourceLimitManagerImpl.java new file mode 100644 index 00000000000..0a199f56eb5 --- /dev/null +++ b/server/test/com/cloud/vpc/MockResourceLimitManagerImpl.java @@ -0,0 +1,150 @@ +// Copyright 2012 Citrix Systems, Inc. Licensed under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. Citrix Systems, Inc. +// reserves all rights not expressly granted by the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Automatically generated by addcopyright.py at 04/03/2012 +package com.cloud.vpc; + +import java.util.List; +import java.util.Map; + +import javax.ejb.Local; +import javax.naming.ConfigurationException; + +import com.cloud.configuration.Resource.ResourceType; +import com.cloud.configuration.ResourceCount; +import com.cloud.configuration.ResourceLimit; +import com.cloud.domain.Domain; +import com.cloud.exception.ResourceAllocationException; +import com.cloud.user.Account; +import com.cloud.user.ResourceLimitService; +import com.cloud.utils.component.Manager; + +@Local(value = { ResourceLimitService.class }) +public class MockResourceLimitManagerImpl implements ResourceLimitService, Manager{ + + /* (non-Javadoc) + * @see com.cloud.user.ResourceLimitService#updateResourceLimit(java.lang.Long, java.lang.Long, java.lang.Integer, java.lang.Long) + */ + @Override + public ResourceLimit updateResourceLimit(Long accountId, Long domainId, Integer resourceType, Long max) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.user.ResourceLimitService#recalculateResourceCount(java.lang.Long, java.lang.Long, java.lang.Integer) + */ + @Override + public List recalculateResourceCount(Long accountId, Long domainId, Integer typeId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.user.ResourceLimitService#searchForLimits(java.lang.Long, java.lang.Long, java.lang.Long, java.lang.Integer, java.lang.Long, java.lang.Long) + */ + @Override + public List searchForLimits(Long id, Long accountId, Long domainId, Integer type, Long startIndex, Long pageSizeVal) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.user.ResourceLimitService#findCorrectResourceLimitForAccount(com.cloud.user.Account, com.cloud.configuration.Resource.ResourceType) + */ + @Override + public long findCorrectResourceLimitForAccount(Account account, ResourceType type) { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see com.cloud.user.ResourceLimitService#findCorrectResourceLimitForDomain(com.cloud.domain.Domain, com.cloud.configuration.Resource.ResourceType) + */ + @Override + public long findCorrectResourceLimitForDomain(Domain domain, ResourceType type) { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see com.cloud.user.ResourceLimitService#incrementResourceCount(long, com.cloud.configuration.Resource.ResourceType, java.lang.Long[]) + */ + @Override + public void incrementResourceCount(long accountId, ResourceType type, Long... delta) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.user.ResourceLimitService#decrementResourceCount(long, com.cloud.configuration.Resource.ResourceType, java.lang.Long[]) + */ + @Override + public void decrementResourceCount(long accountId, ResourceType type, Long... delta) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.user.ResourceLimitService#checkResourceLimit(com.cloud.user.Account, com.cloud.configuration.Resource.ResourceType, long[]) + */ + @Override + public void checkResourceLimit(Account account, ResourceType type, long... count) throws ResourceAllocationException { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.user.ResourceLimitService#getResourceCount(com.cloud.user.Account, com.cloud.configuration.Resource.ResourceType) + */ + @Override + public long getResourceCount(Account account, ResourceType type) { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#configure(java.lang.String, java.util.Map) + */ + @Override + public boolean configure(String name, Map params) throws ConfigurationException { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#start() + */ + @Override + public boolean start() { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#stop() + */ + @Override + public boolean stop() { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#getName() + */ + @Override + public String getName() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/server/test/com/cloud/vpc/MockSite2SiteVpnManagerImpl.java b/server/test/com/cloud/vpc/MockSite2SiteVpnManagerImpl.java new file mode 100644 index 00000000000..cb200f4ef1c --- /dev/null +++ b/server/test/com/cloud/vpc/MockSite2SiteVpnManagerImpl.java @@ -0,0 +1,253 @@ +// Copyright 2012 Citrix Systems, Inc. Licensed under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. Citrix Systems, Inc. +// reserves all rights not expressly granted by the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Automatically generated by addcopyright.py at 04/03/2012 +package com.cloud.vpc; + +import java.util.List; +import java.util.Map; + +import javax.ejb.Local; +import javax.naming.ConfigurationException; + +import com.cloud.api.commands.CreateVpnConnectionCmd; +import com.cloud.api.commands.CreateVpnCustomerGatewayCmd; +import com.cloud.api.commands.CreateVpnGatewayCmd; +import com.cloud.api.commands.DeleteVpnConnectionCmd; +import com.cloud.api.commands.DeleteVpnCustomerGatewayCmd; +import com.cloud.api.commands.DeleteVpnGatewayCmd; +import com.cloud.api.commands.ListVpnConnectionsCmd; +import com.cloud.api.commands.ListVpnCustomerGatewaysCmd; +import com.cloud.api.commands.ListVpnGatewaysCmd; +import com.cloud.api.commands.ResetVpnConnectionCmd; +import com.cloud.api.commands.UpdateVpnCustomerGatewayCmd; +import com.cloud.exception.NetworkRuleConflictException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.network.Site2SiteCustomerGateway; +import com.cloud.network.Site2SiteVpnConnection; +import com.cloud.network.Site2SiteVpnConnectionVO; +import com.cloud.network.Site2SiteVpnGateway; +import com.cloud.network.vpn.Site2SiteVpnManager; +import com.cloud.network.vpn.Site2SiteVpnService; +import com.cloud.utils.component.Manager; +import com.cloud.vm.DomainRouterVO; + +@Local(value = { Site2SiteVpnManager.class, Site2SiteVpnService.class } ) +public class MockSite2SiteVpnManagerImpl implements Site2SiteVpnManager, Site2SiteVpnService, Manager{ + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnService#createVpnGateway(com.cloud.api.commands.CreateVpnGatewayCmd) + */ + @Override + public Site2SiteVpnGateway createVpnGateway(CreateVpnGatewayCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnService#createCustomerGateway(com.cloud.api.commands.CreateVpnCustomerGatewayCmd) + */ + @Override + public Site2SiteCustomerGateway createCustomerGateway(CreateVpnCustomerGatewayCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnService#startVpnConnection(long) + */ + @Override + public Site2SiteVpnConnection startVpnConnection(long id) throws ResourceUnavailableException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnService#getVpnGateway(java.lang.Long) + */ + @Override + public Site2SiteVpnGateway getVpnGateway(Long vpnGatewayId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnService#createVpnConnection(com.cloud.api.commands.CreateVpnConnectionCmd) + */ + @Override + public Site2SiteVpnConnection createVpnConnection(CreateVpnConnectionCmd cmd) throws NetworkRuleConflictException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnService#deleteCustomerGateway(com.cloud.api.commands.DeleteVpnCustomerGatewayCmd) + */ + @Override + public boolean deleteCustomerGateway(DeleteVpnCustomerGatewayCmd deleteVpnCustomerGatewayCmd) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnService#deleteVpnGateway(com.cloud.api.commands.DeleteVpnGatewayCmd) + */ + @Override + public boolean deleteVpnGateway(DeleteVpnGatewayCmd deleteVpnGatewayCmd) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnService#deleteVpnConnection(com.cloud.api.commands.DeleteVpnConnectionCmd) + */ + @Override + public boolean deleteVpnConnection(DeleteVpnConnectionCmd deleteVpnConnectionCmd) throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnService#resetVpnConnection(com.cloud.api.commands.ResetVpnConnectionCmd) + */ + @Override + public Site2SiteVpnConnection resetVpnConnection(ResetVpnConnectionCmd resetVpnConnectionCmd) throws ResourceUnavailableException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnService#searchForCustomerGateways(com.cloud.api.commands.ListVpnCustomerGatewaysCmd) + */ + @Override + public List searchForCustomerGateways(ListVpnCustomerGatewaysCmd listVpnCustomerGatewaysCmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnService#searchForVpnGateways(com.cloud.api.commands.ListVpnGatewaysCmd) + */ + @Override + public List searchForVpnGateways(ListVpnGatewaysCmd listVpnGatewaysCmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnService#searchForVpnConnections(com.cloud.api.commands.ListVpnConnectionsCmd) + */ + @Override + public List searchForVpnConnections(ListVpnConnectionsCmd listVpnConnectionsCmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnService#updateCustomerGateway(com.cloud.api.commands.UpdateVpnCustomerGatewayCmd) + */ + @Override + public Site2SiteCustomerGateway updateCustomerGateway(UpdateVpnCustomerGatewayCmd updateVpnCustomerGatewayCmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnManager#cleanupVpnConnectionByVpc(long) + */ + @Override + public boolean cleanupVpnConnectionByVpc(long vpcId) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnManager#cleanupVpnGatewayByVpc(long) + */ + @Override + public boolean cleanupVpnGatewayByVpc(long vpcId) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnManager#markDisconnectVpnConnByVpc(long) + */ + @Override + public void markDisconnectVpnConnByVpc(long vpcId) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnManager#getConnectionsForRouter(com.cloud.vm.DomainRouterVO) + */ + @Override + public List getConnectionsForRouter(DomainRouterVO router) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnManager#deleteCustomerGatewayByAccount(long) + */ + @Override + public boolean deleteCustomerGatewayByAccount(long accountId) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#configure(java.lang.String, java.util.Map) + */ + @Override + public boolean configure(String name, Map params) throws ConfigurationException { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#start() + */ + @Override + public boolean start() { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#stop() + */ + @Override + public boolean stop() { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#getName() + */ + @Override + public String getName() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpn.Site2SiteVpnManager#reconnectDisconnectedVpnByVpc(java.lang.Long) + */ + @Override + public void reconnectDisconnectedVpnByVpc(Long vpcId) { + // TODO Auto-generated method stub + + } + +} diff --git a/server/test/com/cloud/vpc/MockVpcManagerImpl.java b/server/test/com/cloud/vpc/MockVpcManagerImpl.java new file mode 100644 index 00000000000..8fb2aee7c74 --- /dev/null +++ b/server/test/com/cloud/vpc/MockVpcManagerImpl.java @@ -0,0 +1,445 @@ +// Copyright 2012 Citrix Systems, Inc. Licensed under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. Citrix Systems, Inc. +// reserves all rights not expressly granted by the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Automatically generated by addcopyright.py at 04/03/2012 +package com.cloud.vpc; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.ejb.Local; +import javax.naming.ConfigurationException; + +import com.cloud.acl.ControlledEntity.ACLType; +import com.cloud.api.commands.ListPrivateGatewaysCmd; +import com.cloud.api.commands.ListStaticRoutesCmd; +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.exception.InsufficientAddressCapacityException; +import com.cloud.exception.InsufficientCapacityException; +import com.cloud.exception.NetworkRuleConflictException; +import com.cloud.exception.ResourceAllocationException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.network.IpAddress; +import com.cloud.network.Network; +import com.cloud.network.Network.Provider; +import com.cloud.network.Network.Service; +import com.cloud.network.PhysicalNetwork; +import com.cloud.network.addr.PublicIp; +import com.cloud.network.vpc.PrivateGateway; +import com.cloud.network.vpc.StaticRoute; +import com.cloud.network.vpc.Vpc; +import com.cloud.network.vpc.VpcGateway; +import com.cloud.network.vpc.VpcManager; +import com.cloud.network.vpc.VpcOffering; +import com.cloud.network.vpc.VpcService; +import com.cloud.user.Account; +import com.cloud.user.User; +import com.cloud.utils.component.ComponentLocator; +import com.cloud.utils.component.Manager; +import com.cloud.vm.DomainRouterVO; +import com.cloud.vpc.dao.MockVpcDaoImpl; + +@Local(value = { VpcManager.class, VpcService.class }) +public class MockVpcManagerImpl implements VpcManager, Manager{ + MockVpcDaoImpl _vpcDao = ComponentLocator.inject(MockVpcDaoImpl.class); + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#getVpcOffering(long) + */ + @Override + public VpcOffering getVpcOffering(long vpcOfferingId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#createVpcOffering(java.lang.String, java.lang.String, java.util.List) + */ + @Override + public VpcOffering createVpcOffering(String name, String displayText, List supportedServices) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#getVpc(long) + */ + @Override + public Vpc getVpc(long vpcId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#getActiveVpc(long) + */ + @Override + public Vpc getActiveVpc(long vpcId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#getVpcNetworks(long) + */ + @Override + public List getVpcNetworks(long vpcId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#getVpcOffSvcProvidersMap(long) + */ + @Override + public Map> getVpcOffSvcProvidersMap(long vpcOffId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#listVpcOfferings(java.lang.Long, java.lang.String, java.lang.String, java.util.List, java.lang.Boolean, java.lang.String, java.lang.String, java.lang.Long, java.lang.Long) + */ + @Override + public List listVpcOfferings(Long id, String name, String displayText, List supportedServicesStr, Boolean isDefault, String keyword, String state, Long startIndex, Long pageSizeVal) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#deleteVpcOffering(long) + */ + @Override + public boolean deleteVpcOffering(long offId) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#updateVpcOffering(long, java.lang.String, java.lang.String, java.lang.String) + */ + @Override + public VpcOffering updateVpcOffering(long vpcOffId, String vpcOfferingName, String displayText, String state) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#createVpc(long, long, long, java.lang.String, java.lang.String, java.lang.String, java.lang.String) + */ + @Override + public Vpc createVpc(long zoneId, long vpcOffId, long vpcOwnerId, String vpcName, String displayText, String cidr, String networkDomain) throws ResourceAllocationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#deleteVpc(long) + */ + @Override + public boolean deleteVpc(long vpcId) throws ConcurrentOperationException, ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#updateVpc(long, java.lang.String, java.lang.String) + */ + @Override + public Vpc updateVpc(long vpcId, String vpcName, String displayText) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#listVpcs(java.lang.Long, java.lang.String, java.lang.String, java.util.List, java.lang.String, java.lang.Long, java.lang.String, java.lang.String, java.lang.Long, java.lang.String, java.lang.Long, java.lang.Long, java.lang.Long, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, java.util.Map, java.lang.Long) + */ + @Override + public List listVpcs(Long id, String vpcName, String displayText, List supportedServicesStr, String cidr, Long vpcOffId, String state, String accountName, Long domainId, String keyword, + Long startIndex, Long pageSizeVal, Long zoneId, Boolean isRecursive, Boolean listAll, Boolean restartRequired, Map tags, Long projectId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#startVpc(long, boolean) + */ + @Override + public boolean startVpc(long vpcId, boolean destroyOnFailure) throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#shutdownVpc(long) + */ + @Override + public boolean shutdownVpc(long vpcId) throws ConcurrentOperationException, ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#restartVpc(long) + */ + @Override + public boolean restartVpc(long id) throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#getVpcPrivateGateway(long) + */ + @Override + public PrivateGateway getVpcPrivateGateway(long id) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#createVpcPrivateGateway(long, java.lang.Long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, long) + */ + @Override + public PrivateGateway createVpcPrivateGateway(long vpcId, Long physicalNetworkId, String vlan, String ipAddress, String gateway, String netmask, long gatewayOwnerId) throws ResourceAllocationException, + ConcurrentOperationException, InsufficientCapacityException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#applyVpcPrivateGateway(long, boolean) + */ + @Override + public PrivateGateway applyVpcPrivateGateway(long gatewayId, boolean destroyOnFailure) throws ConcurrentOperationException, ResourceUnavailableException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#deleteVpcPrivateGateway(long) + */ + @Override + public boolean deleteVpcPrivateGateway(long gatewayId) throws ConcurrentOperationException, ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#listPrivateGateway(com.cloud.api.commands.ListPrivateGatewaysCmd) + */ + @Override + public List listPrivateGateway(ListPrivateGatewaysCmd listPrivateGatewaysCmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#getStaticRoute(long) + */ + @Override + public StaticRoute getStaticRoute(long routeId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#applyStaticRoutes(long) + */ + @Override + public boolean applyStaticRoutes(long vpcId) throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#revokeStaticRoute(long) + */ + @Override + public boolean revokeStaticRoute(long routeId) throws ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#createStaticRoute(long, java.lang.String) + */ + @Override + public StaticRoute createStaticRoute(long gatewayId, String cidr) throws NetworkRuleConflictException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#listStaticRoutes(com.cloud.api.commands.ListStaticRoutesCmd) + */ + @Override + public List listStaticRoutes(ListStaticRoutesCmd cmd) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#getVpcGateway(long) + */ + @Override + public VpcGateway getVpcGateway(long id) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#associateIPToVpc(long, long) + */ + @Override + public IpAddress associateIPToVpc(long ipId, long vpcId) throws ResourceAllocationException, ResourceUnavailableException, InsufficientAddressCapacityException, ConcurrentOperationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcService#updateVpcGuestNetwork(long, java.lang.String, java.lang.String, com.cloud.user.Account, com.cloud.user.User, java.lang.String, java.lang.Long, java.lang.Boolean) + */ + @Override + public Network updateVpcGuestNetwork(long networkId, String name, String displayText, Account callerAccount, User callerUser, String domainSuffix, Long ntwkOffId, Boolean changeCidr) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcManager#validateNtkwOffForVpc(long, java.lang.String, java.lang.String, com.cloud.user.Account, com.cloud.network.vpc.Vpc, java.lang.Long, java.lang.String) + */ + @Override + public void validateNtkwOffForVpc(long ntwkOffId, String cidr, String networkDomain, Account networkOwner, Vpc vpc, Long networkId, String gateway) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcManager#getVpcsForAccount(long) + */ + @Override + public List getVpcsForAccount(long accountId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcManager#destroyVpc(com.cloud.network.vpc.Vpc) + */ + @Override + public boolean destroyVpc(Vpc vpc) throws ConcurrentOperationException, ResourceUnavailableException { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcManager#getVpcRouters(long) + */ + @Override + public List getVpcRouters(long vpcId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcManager#vpcProviderEnabledInZone(long) + */ + @Override + public boolean vpcProviderEnabledInZone(long zoneId) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcManager#getPrivateGatewayForVpc(long) + */ + @Override + public VpcGateway getPrivateGatewayForVpc(long vpcId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcManager#ipUsedInVpc(com.cloud.network.IpAddress) + */ + @Override + public boolean ipUsedInVpc(IpAddress ip) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcManager#unassignIPFromVpcNetwork(long, long) + */ + @Override + public void unassignIPFromVpcNetwork(long ipId, long networkId) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcManager#createVpcGuestNetwork(long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, com.cloud.user.Account, java.lang.Long, com.cloud.network.PhysicalNetwork, long, com.cloud.acl.ControlledEntity.ACLType, java.lang.Boolean, long, com.cloud.user.Account) + */ + @Override + public Network createVpcGuestNetwork(long ntwkOffId, String name, String displayText, String gateway, String cidr, String vlanId, String networkDomain, Account owner, Long domainId, PhysicalNetwork pNtwk, + long zoneId, ACLType aclType, Boolean subdomainAccess, long vpcId, Account caller) throws ConcurrentOperationException, InsufficientCapacityException, ResourceAllocationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.VpcManager#assignSourceNatIpAddressToVpc(com.cloud.user.Account, com.cloud.network.vpc.Vpc) + */ + @Override + public PublicIp assignSourceNatIpAddressToVpc(Account owner, Vpc vpc) throws InsufficientAddressCapacityException, ConcurrentOperationException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#configure(java.lang.String, java.util.Map) + */ + @Override + public boolean configure(String name, Map params) throws ConfigurationException { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#start() + */ + @Override + public boolean start() { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#stop() + */ + @Override + public boolean stop() { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see com.cloud.utils.component.Manager#getName() + */ + @Override + public String getName() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/server/test/com/cloud/vpc/VpcApiUnitTest.java b/server/test/com/cloud/vpc/VpcApiUnitTest.java new file mode 100644 index 00000000000..dcec8531fa3 --- /dev/null +++ b/server/test/com/cloud/vpc/VpcApiUnitTest.java @@ -0,0 +1,289 @@ +// Copyright 2012 Citrix Systems, Inc. Licensed under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. Citrix Systems, Inc. +// reserves all rights not expressly granted by the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Automatically generated by addcopyright.py at 04/03/2012 +package com.cloud.vpc; + +import java.util.ArrayList; +import java.util.List; + +import junit.framework.TestCase; + +import org.apache.log4j.Logger; +import org.junit.Before; + +import com.cloud.configuration.dao.ConfigurationDaoImpl; +import com.cloud.configuration.dao.ResourceCountDaoImpl; +import com.cloud.dc.dao.VlanDaoImpl; +import com.cloud.exception.InvalidParameterValueException; +import com.cloud.network.Network.Service; +import com.cloud.network.dao.FirewallRulesDaoImpl; +import com.cloud.network.dao.IPAddressDaoImpl; +import com.cloud.network.dao.PhysicalNetworkDaoImpl; +import com.cloud.network.element.VpcVirtualRouterElement; +import com.cloud.network.vpc.Vpc; +import com.cloud.network.vpc.VpcManager; +import com.cloud.network.vpc.VpcManagerImpl; +import com.cloud.network.vpc.Dao.PrivateIpDaoImpl; +import com.cloud.network.vpc.Dao.StaticRouteDaoImpl; +import com.cloud.network.vpc.Dao.VpcGatewayDaoImpl; +import com.cloud.network.vpc.Dao.VpcOfferingDaoImpl; +import com.cloud.server.ManagementService; +import com.cloud.tags.dao.ResourceTagsDaoImpl; +import com.cloud.user.AccountVO; +import com.cloud.user.MockAccountManagerImpl; +import com.cloud.user.dao.AccountDaoImpl; +import com.cloud.utils.component.Adapter; +import com.cloud.utils.component.ComponentLocator; +import com.cloud.utils.component.MockComponentLocator; +import com.cloud.vm.dao.DomainRouterDaoImpl; +import com.cloud.vpc.dao.MockNetworkDaoImpl; +import com.cloud.vpc.dao.MockNetworkOfferingDaoImpl; +import com.cloud.vpc.dao.MockNetworkOfferingServiceMapDaoImpl; +import com.cloud.vpc.dao.MockNetworkServiceMapDaoImpl; +import com.cloud.vpc.dao.MockVpcDaoImpl; +import com.cloud.vpc.dao.MockVpcOfferingDaoImpl; +import com.cloud.vpc.dao.MockVpcOfferingServiceMapDaoImpl; + +public class VpcApiUnitTest extends TestCase{ + private static final Logger s_logger = Logger.getLogger(VpcApiUnitTest.class); + MockComponentLocator _locator; + VpcManager _vpcService; + + @Override + @Before + public void setUp() throws Exception { + _locator = new MockComponentLocator(ManagementService.Name); + _locator.addDao("VpcDao", MockVpcDaoImpl.class); + _locator.addDao("VpcOfferingDao", VpcOfferingDaoImpl.class); + _locator.addDao("ConfigurationDao", ConfigurationDaoImpl.class); + _locator.addDao("NetworkDao", MockNetworkDaoImpl.class); + _locator.addDao("IPAddressDao", IPAddressDaoImpl.class); + _locator.addDao("DomainRouterDao", DomainRouterDaoImpl.class); + _locator.addDao("VpcGatewayDao", VpcGatewayDaoImpl.class); + _locator.addDao("PrivateIpDao", PrivateIpDaoImpl.class); + _locator.addDao("StaticRouteDao", StaticRouteDaoImpl.class); + _locator.addDao("NetworkOfferingServiceMapDao", MockNetworkOfferingServiceMapDaoImpl.class); + _locator.addDao("VpcOfferingServiceMapDao", MockVpcOfferingServiceMapDaoImpl.class); + _locator.addDao("PhysicalNetworkDao", PhysicalNetworkDaoImpl.class); + _locator.addDao("ResourceTagDao", ResourceTagsDaoImpl.class); + _locator.addDao("FirewallRulesDao", FirewallRulesDaoImpl.class); + _locator.addDao("VlanDao", VlanDaoImpl.class); + _locator.addDao("AccountDao", AccountDaoImpl.class); + _locator.addDao("ResourceCountDao", ResourceCountDaoImpl.class); + _locator.addDao("NetworkOfferingDao", MockNetworkOfferingDaoImpl.class); + _locator.addDao("NetworkServiceMapDao", MockNetworkServiceMapDaoImpl.class); + _locator.addDao("VpcOfferingDao", MockVpcOfferingDaoImpl.class); + + _locator.addManager("ConfigService", MockConfigurationManagerImpl.class); + _locator.addManager("vpc manager", VpcManagerImpl.class); + _locator.addManager("account manager", MockAccountManagerImpl.class); + _locator.addManager("network manager", MockNetworkManagerImpl.class); + _locator.addManager("Site2SiteVpnManager", MockSite2SiteVpnManagerImpl.class); + _locator.addManager("ResourceLimitService", MockResourceLimitManagerImpl.class); + + _locator.makeActive(null); + + _vpcService = ComponentLocator.inject(VpcManagerImpl.class); + } + + public void test() { + s_logger.debug("Starting test for VpcService interface"); + //Vpc service methods + getActiveVpc(); + deleteVpc(); + + //Vpc manager methods + validateNtwkOffForVpc(); + //destroyVpc(); + + } + + protected void deleteVpc() { + //delete existing offering + boolean result = false; + String msg = null; + try { + List svcs = new ArrayList(); + svcs.add(Service.SourceNat.getName()); + result = _vpcService.deleteVpc(1); + } catch (Exception ex) { + msg = ex.getMessage(); + } finally { + if (result) { + s_logger.debug("Delete vpc: Test passed, vpc is deleted"); + } else { + s_logger.error("Delete vpc: TEST FAILED, vpc failed to delete " + msg); + } + } + + //delete non-existing offering + result = false; + msg = null; + try { + List svcs = new ArrayList(); + svcs.add(Service.SourceNat.getName()); + result = _vpcService.deleteVpc(100); + } catch (Exception ex) { + msg = ex.getMessage(); + } finally { + if (!result) { + s_logger.debug("Delete vpc: Test passed, non existing vpc failed to delete "); + } else { + s_logger.error("Delete vpc: TEST FAILED, true is returned when try to delete non existing vpc"); + } + } + } + + protected void getActiveVpc() { + //test for active vpc + boolean result = false; + String msg = null; + Vpc vpc = null; + try { + List svcs = new ArrayList(); + svcs.add(Service.SourceNat.getName()); + vpc = _vpcService.getActiveVpc(1); + if (vpc != null) { + result = true; + } + } catch (Exception ex) { + msg = ex.getMessage(); + } finally { + if (result) { + s_logger.debug("Get active Vpc: Test passed, active vpc is returned"); + } else { + s_logger.error("Get active Vpc: TEST FAILED, active vpc is not returned " + msg); + } + } + + //test for inactive vpc + result = false; + msg = null; + vpc = null; + try { + List svcs = new ArrayList(); + svcs.add(Service.SourceNat.getName()); + vpc = _vpcService.getActiveVpc(2); + if (vpc != null) { + result = true; + } + } catch (Exception ex) { + msg = ex.getMessage(); + } finally { + if (!result) { + s_logger.debug("Get active Vpc: Test passed, no vpc is returned"); + } else { + s_logger.error("Get active Vpc: TEST FAILED, non active vpc is returned"); + } + } + } + + protected void destroyVpc() { + try { + _vpcService.destroyVpc(_vpcService.getVpc(1)); + } catch (Exception ex) { + s_logger.error("Destroy VPC TEST FAILED due to exc ", ex); + } + } + + protected void validateNtwkOffForVpc() { + //validate network offering + //1) correct network offering + boolean result = false; + try { + _vpcService.validateNtkwOffForVpc(1, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1"); + result = true; + s_logger.debug("Validate network offering: Test passed: the offering is valid for vpc creation"); + } catch (Exception ex) { + s_logger.error("Validate network offering: TEST FAILED due to exc ", ex); + } + + //2) invalid offering - source nat is not included + result = false; + String msg = null; + try { + _vpcService.validateNtkwOffForVpc(2, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1"); + result = true; + } catch (InvalidParameterValueException ex) { + msg = ex.getMessage(); + } finally { + if (!result) { + s_logger.debug("Validate network offering: Test passed: " + msg); + } else { + s_logger.error("Validate network offering: TEST FAILED, can't use network offering without SourceNat service"); + } + } + + //3) invalid offering - conserve mode is off + result = false; + msg = null; + try { + _vpcService.validateNtkwOffForVpc(3, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1"); + result = true; + } catch (InvalidParameterValueException ex) { + msg = ex.getMessage(); + } finally { + if (!result) { + s_logger.debug("Validate network offering: Test passed: " + msg); + } else { + s_logger.error("Validate network offering: TEST FAILED, can't use network offering without conserve mode = true"); + } + } + + //4) invalid offering - guest type shared + result = false; + try { + _vpcService.validateNtkwOffForVpc(4, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1"); + result = true; + } catch (InvalidParameterValueException ex) { + msg = ex.getMessage(); + } finally { + if (!result) { + s_logger.debug("Validate network offering: Test passed: " + msg); + } else { + s_logger.error("Validate network offering: TEST FAILED, can't use network offering with guest type = Shared"); + } + } + + //5) Invalid offering - no redundant router support + result = false; + try { + _vpcService.validateNtkwOffForVpc(5, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1"); + result = true; + } catch (InvalidParameterValueException ex) { + msg = ex.getMessage(); + } finally { + if (!result) { + s_logger.debug("Validate network offering: Test passed: " + msg); + } else { + s_logger.error("TEST FAILED, can't use network offering with guest type = Shared"); + } + } + + //6) Only one network in the VPC can support LB service - negative scenario + result = false; + try { + _vpcService.validateNtkwOffForVpc(6, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1"); + result = true; + s_logger.debug("Validate network offering: Test passed: the offering is valid for vpc creation"); + } catch (InvalidParameterValueException ex) { + msg = ex.getMessage(); + } finally { + if (!result) { + s_logger.debug("Test passed: " + msg); + } else { + s_logger.error("Validate network offering: TEST FAILED, can't use network offering with guest type = Shared"); + } + } + } + +} diff --git a/server/test/com/cloud/vpc/dao/MockConfigurationDaoImpl.java b/server/test/com/cloud/vpc/dao/MockConfigurationDaoImpl.java new file mode 100644 index 00000000000..0cac4b9dfde --- /dev/null +++ b/server/test/com/cloud/vpc/dao/MockConfigurationDaoImpl.java @@ -0,0 +1,106 @@ +// Copyright 2012 Citrix Systems, Inc. Licensed under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. Citrix Systems, Inc. +// reserves all rights not expressly granted by the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Automatically generated by addcopyright.py at 04/03/2012 +package com.cloud.vpc.dao; + +import java.util.HashMap; +import java.util.Map; + +import javax.ejb.Local; + +import com.cloud.configuration.ConfigurationVO; +import com.cloud.configuration.dao.ConfigurationDao; +import com.cloud.utils.db.GenericDaoBase; + +@Local(value={ConfigurationDao.class}) +public class MockConfigurationDaoImpl extends GenericDaoBase implements ConfigurationDao{ + + /* (non-Javadoc) + * @see com.cloud.configuration.dao.ConfigurationDao#getConfiguration(java.lang.String, java.util.Map) + */ + @Override + public Map getConfiguration(String instance, Map params) { + return new HashMap(); + } + + /* (non-Javadoc) + * @see com.cloud.configuration.dao.ConfigurationDao#getConfiguration(java.util.Map) + */ + @Override + public Map getConfiguration(Map params) { + return new HashMap(); + } + + /* (non-Javadoc) + * @see com.cloud.configuration.dao.ConfigurationDao#getConfiguration() + */ + @Override + public Map getConfiguration() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.dao.ConfigurationDao#update(java.lang.String, java.lang.String) + */ + @Override + public boolean update(String name, String value) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.dao.ConfigurationDao#getValue(java.lang.String) + */ + @Override + public String getValue(String name) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.dao.ConfigurationDao#getValueAndInitIfNotExist(java.lang.String, java.lang.String, java.lang.String) + */ + @Override + public String getValueAndInitIfNotExist(String name, String category, String initValue) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.dao.ConfigurationDao#isPremium() + */ + @Override + public boolean isPremium() { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.dao.ConfigurationDao#findByName(java.lang.String) + */ + @Override + public ConfigurationVO findByName(String name) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.configuration.dao.ConfigurationDao#update(java.lang.String, java.lang.String, java.lang.String) + */ + @Override + public boolean update(String name, String category, String value) { + // TODO Auto-generated method stub + return false; + } + +} diff --git a/server/test/com/cloud/vpc/dao/MockNetworkDaoImpl.java b/server/test/com/cloud/vpc/dao/MockNetworkDaoImpl.java new file mode 100644 index 00000000000..970a5d9ba57 --- /dev/null +++ b/server/test/com/cloud/vpc/dao/MockNetworkDaoImpl.java @@ -0,0 +1,341 @@ +// Copyright 2012 Citrix Systems, Inc. Licensed under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. Citrix Systems, Inc. +// reserves all rights not expressly granted by the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Automatically generated by addcopyright.py at 04/03/2012 +package com.cloud.vpc.dao; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import javax.ejb.Local; + +import com.cloud.network.Network.GuestType; +import com.cloud.network.NetworkAccountVO; +import com.cloud.network.NetworkVO; +import com.cloud.network.Networks.TrafficType; +import com.cloud.network.dao.NetworkDao; +import com.cloud.utils.db.DB; +import com.cloud.utils.db.GenericDaoBase; +import com.cloud.utils.db.SearchBuilder; + +@Local(value = NetworkDao.class) +@DB(txn = false) +public class MockNetworkDaoImpl extends GenericDaoBase implements NetworkDao{ + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#listByOwner(long) + */ + @Override + public List listByOwner(long ownerId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#listBy(long, long, long) + */ + @Override + public List listBy(long accountId, long offeringId, long dataCenterId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#listBy(long, long, java.lang.String, boolean) + */ + @Override + public List listBy(long accountId, long dataCenterId, String cidr, boolean skipVpc) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#listByZoneAndGuestType(long, long, com.cloud.network.Network.GuestType, java.lang.Boolean) + */ + @Override + public List listByZoneAndGuestType(long accountId, long dataCenterId, GuestType type, Boolean isSystem) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#persist(com.cloud.network.NetworkVO, boolean, java.util.Map) + */ + @Override + public NetworkVO persist(NetworkVO network, boolean gc, Map serviceProviderMap) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#createSearchBuilderForAccount() + */ + @Override + public SearchBuilder createSearchBuilderForAccount() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#getNetworksForOffering(long, long, long) + */ + @Override + public List getNetworksForOffering(long offeringId, long dataCenterId, long accountId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#getNextAvailableMacAddress(long) + */ + @Override + public String getNextAvailableMacAddress(long networkConfigId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#listBy(long, long) + */ + @Override + public List listBy(long accountId, long networkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#countByZoneAndUri(long, java.lang.String) + */ + @Override + public long countByZoneAndUri(long zoneId, String broadcastUri) { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#countByZoneUriAndGuestType(long, java.lang.String, com.cloud.network.Network.GuestType) + */ + @Override + public long countByZoneUriAndGuestType(long zoneId, String broadcastUri, GuestType guestType) { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#listByZone(long) + */ + @Override + public List listByZone(long zoneId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#changeActiveNicsBy(long, int) + */ + @Override + public void changeActiveNicsBy(long networkId, int nicsCount) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#getActiveNicsIn(long) + */ + @Override + public int getActiveNicsIn(long networkId) { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#findNetworksToGarbageCollect() + */ + @Override + public List findNetworksToGarbageCollect() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#clearCheckForGc(long) + */ + @Override + public void clearCheckForGc(long networkId) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#listByZoneSecurityGroup(java.lang.Long) + */ + @Override + public List listByZoneSecurityGroup(Long zoneId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#addDomainToNetwork(long, long, java.lang.Boolean) + */ + @Override + public void addDomainToNetwork(long networkId, long domainId, Boolean subdomainAccess) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#listByPhysicalNetwork(long) + */ + @Override + public List listByPhysicalNetwork(long physicalNetworkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#listSecurityGroupEnabledNetworks() + */ + @Override + public List listSecurityGroupEnabledNetworks() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#listByPhysicalNetworkTrafficType(long, com.cloud.network.Networks.TrafficType) + */ + @Override + public List listByPhysicalNetworkTrafficType(long physicalNetworkId, TrafficType trafficType) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#listBy(long, long, com.cloud.network.Network.GuestType, com.cloud.network.Networks.TrafficType) + */ + @Override + public List listBy(long accountId, long dataCenterId, GuestType type, TrafficType trafficType) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#listByPhysicalNetworkAndProvider(long, java.lang.String) + */ + @Override + public List listByPhysicalNetworkAndProvider(long physicalNetworkId, String providerName) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#persistNetworkServiceProviders(long, java.util.Map) + */ + @Override + public void persistNetworkServiceProviders(long networkId, Map serviceProviderMap) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#update(java.lang.Long, com.cloud.network.NetworkVO, java.util.Map) + */ + @Override + public boolean update(Long networkId, NetworkVO network, Map serviceProviderMap) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#listByZoneAndTrafficType(long, com.cloud.network.Networks.TrafficType) + */ + @Override + public List listByZoneAndTrafficType(long zoneId, TrafficType trafficType) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#setCheckForGc(long) + */ + @Override + public void setCheckForGc(long networkId) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#getNetworkCountByNetworkOffId(long) + */ + @Override + public int getNetworkCountByNetworkOffId(long networkOfferingId) { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#countNetworksUserCanCreate(long) + */ + @Override + public long countNetworksUserCanCreate(long ownerId) { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#listSourceNATEnabledNetworks(long, long, com.cloud.network.Network.GuestType) + */ + @Override + public List listSourceNATEnabledNetworks(long accountId, long dataCenterId, GuestType type) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#getNetworkCountByVpcId(long) + */ + @Override + public int getNetworkCountByVpcId(long vpcId) { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#listByVpc(long) + */ + @Override + public List listByVpc(long vpcId) { + List networks = new ArrayList(); + networks.add(new NetworkVO()); + return networks; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#getPrivateNetwork(java.lang.String, java.lang.String, long, long) + */ + @Override + public NetworkVO getPrivateNetwork(String broadcastUri, String cidr, long accountId, long zoneId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkDao#countVpcNetworks(long) + */ + @Override + public long countVpcNetworks(long vpcId) { + // TODO Auto-generated method stub + return 0; + } + +} diff --git a/server/test/com/cloud/vpc/dao/MockNetworkOfferingDaoImpl.java b/server/test/com/cloud/vpc/dao/MockNetworkOfferingDaoImpl.java new file mode 100644 index 00000000000..dfeadf67a03 --- /dev/null +++ b/server/test/com/cloud/vpc/dao/MockNetworkOfferingDaoImpl.java @@ -0,0 +1,148 @@ +// Copyright 2012 Citrix Systems, Inc. Licensed under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. Citrix Systems, Inc. +// reserves all rights not expressly granted by the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Automatically generated by addcopyright.py at 04/03/2012 +package com.cloud.vpc.dao; + +import java.lang.reflect.Field; +import java.util.List; + +import javax.ejb.Local; + +import org.apache.log4j.Logger; + +import com.cloud.network.Network; +import com.cloud.network.Network.GuestType; +import com.cloud.network.Networks.TrafficType; +import com.cloud.offering.NetworkOffering; +import com.cloud.offering.NetworkOffering.Availability; +import com.cloud.offering.NetworkOffering.State; +import com.cloud.offerings.NetworkOfferingVO; +import com.cloud.offerings.dao.NetworkOfferingDao; +import com.cloud.utils.db.DB; +import com.cloud.utils.db.GenericDaoBase; + +@Local(value = NetworkOfferingDao.class) +@DB(txn = false) +public class MockNetworkOfferingDaoImpl extends GenericDaoBase implements NetworkOfferingDao { + private static final Logger s_logger = Logger.getLogger(MockNetworkOfferingDaoImpl.class); + + /* (non-Javadoc) + * @see com.cloud.offerings.dao.NetworkOfferingDao#findByUniqueName(java.lang.String) + */ + @Override + public NetworkOfferingVO findByUniqueName(String uniqueName) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.offerings.dao.NetworkOfferingDao#persistDefaultNetworkOffering(com.cloud.offerings.NetworkOfferingVO) + */ + @Override + public NetworkOfferingVO persistDefaultNetworkOffering(NetworkOfferingVO offering) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.offerings.dao.NetworkOfferingDao#listSystemNetworkOfferings() + */ + @Override + public List listSystemNetworkOfferings() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.offerings.dao.NetworkOfferingDao#listByAvailability(com.cloud.offering.NetworkOffering.Availability, boolean) + */ + @Override + public List listByAvailability(Availability availability, boolean isSystem) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.offerings.dao.NetworkOfferingDao#getOfferingIdsToUpgradeFrom(com.cloud.offering.NetworkOffering) + */ + @Override + public List getOfferingIdsToUpgradeFrom(NetworkOffering originalOffering) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.offerings.dao.NetworkOfferingDao#listByTrafficTypeGuestTypeAndState(com.cloud.offering.NetworkOffering.State, com.cloud.network.Networks.TrafficType, com.cloud.network.Network.GuestType) + */ + @Override + public List listByTrafficTypeGuestTypeAndState(State state, TrafficType trafficType, GuestType type) { + // TODO Auto-generated method stub + return null; + } + + + @Override + public NetworkOfferingVO findById(Long id) { + NetworkOfferingVO vo = null; + if (id.longValue() == 1) { + //network offering valid for vpc + vo = new NetworkOfferingVO("vpc", "vpc", TrafficType.Guest, false, true, null, null, false, + Availability.Optional, null, Network.GuestType.Isolated, false, false); + } else if (id.longValue() == 2) { + //invalid offering - source nat is not included + vo = new NetworkOfferingVO("vpc", "vpc", TrafficType.Guest, false, true, null, null, false, + Availability.Optional, null, Network.GuestType.Isolated, false, false); + } else if (id.longValue() == 3) { + //network offering invalid for vpc (conserve mode off) + vo = new NetworkOfferingVO("non vpc", "non vpc", TrafficType.Guest, false, true, null, null, false, + Availability.Optional, null, Network.GuestType.Isolated, true, false); + } else if (id.longValue() == 4) { + //network offering invalid for vpc (Shared) + vo = new NetworkOfferingVO("non vpc", "non vpc", TrafficType.Guest, false, true, null, null, false, + Availability.Optional, null, Network.GuestType.Shared, false, false); + } else if (id.longValue() == 5) { + //network offering invalid for vpc (has redundant router) + vo = new NetworkOfferingVO("vpc", "vpc", TrafficType.Guest, false, true, null, null, false, + Availability.Optional, null, Network.GuestType.Isolated, false, false); + vo.setRedundantRouter(true); + } else if (id.longValue() == 6) { + //network offering invalid for vpc (has lb service) + vo = new NetworkOfferingVO("vpc", "vpc", TrafficType.Guest, false, true, null, null, false, + Availability.Optional, null, Network.GuestType.Isolated, false, false); + } + + if (vo != null) { + vo = setId(vo, id); + } + + return vo; + } + + private NetworkOfferingVO setId(NetworkOfferingVO vo, long id) { + NetworkOfferingVO voToReturn = vo; + Class c = voToReturn.getClass(); + try { + Field f = c.getDeclaredField("id"); + f.setAccessible(true); + f.setLong(voToReturn, id); + } catch (NoSuchFieldException ex) { + s_logger.warn(ex); + return null; + } catch (IllegalAccessException ex) { + s_logger.warn(ex); + return null; + } + + return voToReturn; + } + +} diff --git a/server/test/com/cloud/vpc/dao/MockNetworkOfferingServiceMapDaoImpl.java b/server/test/com/cloud/vpc/dao/MockNetworkOfferingServiceMapDaoImpl.java new file mode 100644 index 00000000000..2e388c2e447 --- /dev/null +++ b/server/test/com/cloud/vpc/dao/MockNetworkOfferingServiceMapDaoImpl.java @@ -0,0 +1,35 @@ +// Copyright 2012 Citrix Systems, Inc. Licensed under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. Citrix Systems, Inc. +// reserves all rights not expressly granted by the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Automatically generated by addcopyright.py at 04/03/2012 +package com.cloud.vpc.dao; + +import javax.ejb.Local; + +import com.cloud.network.Network.Service; +import com.cloud.offerings.dao.NetworkOfferingServiceMapDao; +import com.cloud.offerings.dao.NetworkOfferingServiceMapDaoImpl; +import com.cloud.utils.db.DB; + +@Local(value = NetworkOfferingServiceMapDao.class) +@DB(txn = false) +public class MockNetworkOfferingServiceMapDaoImpl extends NetworkOfferingServiceMapDaoImpl{ + + @Override + public boolean areServicesSupportedByNetworkOffering(long networkOfferingId, Service... services) { + if (services.length > 0 && services[0] == Service.SourceNat && networkOfferingId != 2) { + return true; + } else if (services.length > 0 && services[0] == Service.Lb && networkOfferingId == 6) { + return true; + } + return false; + } +} diff --git a/server/test/com/cloud/vpc/dao/MockNetworkServiceMapDaoImpl.java b/server/test/com/cloud/vpc/dao/MockNetworkServiceMapDaoImpl.java new file mode 100644 index 00000000000..e66aa5b8913 --- /dev/null +++ b/server/test/com/cloud/vpc/dao/MockNetworkServiceMapDaoImpl.java @@ -0,0 +1,94 @@ +// Copyright 2012 Citrix Systems, Inc. Licensed under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. Citrix Systems, Inc. +// reserves all rights not expressly granted by the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Automatically generated by addcopyright.py at 04/03/2012 +package com.cloud.vpc.dao; + +import java.util.List; + +import javax.ejb.Local; + +import com.cloud.network.Network.Provider; +import com.cloud.network.Network.Service; +import com.cloud.network.NetworkServiceMapVO; +import com.cloud.network.dao.NetworkServiceMapDao; +import com.cloud.utils.db.DB; +import com.cloud.utils.db.GenericDaoBase; + +@Local(value = NetworkServiceMapDao.class) +@DB(txn = false) +public class MockNetworkServiceMapDaoImpl extends GenericDaoBase implements NetworkServiceMapDao{ + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkServiceMapDao#areServicesSupportedInNetwork(long, com.cloud.network.Network.Service[]) + */ + @Override + public boolean areServicesSupportedInNetwork(long networkId, Service... services) { + if (services.length > 0 && services[0] == Service.Lb) { + return true; + } + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkServiceMapDao#canProviderSupportServiceInNetwork(long, com.cloud.network.Network.Service, com.cloud.network.Network.Provider) + */ + @Override + public boolean canProviderSupportServiceInNetwork(long networkId, Service service, Provider provider) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkServiceMapDao#getServicesInNetwork(long) + */ + @Override + public List getServicesInNetwork(long networkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkServiceMapDao#getProviderForServiceInNetwork(long, com.cloud.network.Network.Service) + */ + @Override + public String getProviderForServiceInNetwork(long networkid, Service service) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkServiceMapDao#deleteByNetworkId(long) + */ + @Override + public void deleteByNetworkId(long networkId) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkServiceMapDao#getDistinctProviders(long) + */ + @Override + public List getDistinctProviders(long networkId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.dao.NetworkServiceMapDao#isProviderForNetwork(long, com.cloud.network.Network.Provider) + */ + @Override + public String isProviderForNetwork(long networkId, Provider provider) { + // TODO Auto-generated method stub + return null; + } +} diff --git a/server/test/com/cloud/vpc/dao/MockVpcDaoImpl.java b/server/test/com/cloud/vpc/dao/MockVpcDaoImpl.java new file mode 100644 index 00000000000..7579ff73826 --- /dev/null +++ b/server/test/com/cloud/vpc/dao/MockVpcDaoImpl.java @@ -0,0 +1,126 @@ +// Copyright 2012 Citrix Systems, Inc. Licensed under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. Citrix Systems, Inc. +// reserves all rights not expressly granted by the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Automatically generated by addcopyright.py at 04/03/2012 +package com.cloud.vpc.dao; + +import java.lang.reflect.Field; +import java.util.List; + +import javax.ejb.Local; + +import org.apache.log4j.Logger; + +import com.cloud.network.vpc.Vpc; +import com.cloud.network.vpc.Vpc.State; +import com.cloud.network.vpc.VpcVO; +import com.cloud.network.vpc.Dao.VpcDao; +import com.cloud.utils.db.DB; +import com.cloud.utils.db.GenericDaoBase; + +@Local(value = VpcDao.class) +@DB(txn = false) +public class MockVpcDaoImpl extends GenericDaoBase implements VpcDao{ + private static final Logger s_logger = Logger.getLogger(MockNetworkOfferingDaoImpl.class); + + + /* (non-Javadoc) + * @see com.cloud.network.vpc.Dao.VpcDao#getVpcCountByOfferingId(long) + */ + @Override + public int getVpcCountByOfferingId(long offId) { + return 100; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.Dao.VpcDao#getActiveVpcById(long) + */ + @Override + public Vpc getActiveVpcById(long vpcId) { + Vpc vpc = findById(vpcId); + if (vpc != null && vpc.getState() == Vpc.State.Enabled) { + return vpc; + } + + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.Dao.VpcDao#listByAccountId(long) + */ + @Override + public List listByAccountId(long accountId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.Dao.VpcDao#listInactiveVpcs() + */ + @Override + public List listInactiveVpcs() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.Dao.VpcDao#countByAccountId(long) + */ + @Override + public long countByAccountId(long accountId) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public VpcVO findById(Long id) { + VpcVO vo = null; + if (id.longValue() == 1) { + vo = new VpcVO(1, "new vpc", "new vpc", 1,1 , 1, "0.0.0.0/0", "vpc domain"); + } else if (id.longValue() == 2) { + vo = new VpcVO(1, "new vpc", "new vpc", 1,1 , 1, "0.0.0.0/0", "vpc domain"); + vo.setState(State.Inactive); + } + + vo = setId(vo, id); + + return vo; + } + + private VpcVO setId(VpcVO vo, long id) { + VpcVO voToReturn = vo; + Class c = voToReturn.getClass(); + try { + Field f = c.getDeclaredField("id"); + f.setAccessible(true); + f.setLong(voToReturn, id); + } catch (NoSuchFieldException ex) { + s_logger.warn(ex); + return null; + } catch (IllegalAccessException ex) { + s_logger.warn(ex); + return null; + } + + return voToReturn; + } + + @Override + public boolean remove(Long id) { + return true; + } + + @Override + public boolean update(Long id, VpcVO vo) { + return true; + } + +} diff --git a/server/test/com/cloud/vpc/dao/MockVpcOfferingDaoImpl.java b/server/test/com/cloud/vpc/dao/MockVpcOfferingDaoImpl.java new file mode 100644 index 00000000000..52acf82d2cc --- /dev/null +++ b/server/test/com/cloud/vpc/dao/MockVpcOfferingDaoImpl.java @@ -0,0 +1,39 @@ +// Copyright 2012 Citrix Systems, Inc. Licensed under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. Citrix Systems, Inc. +// reserves all rights not expressly granted by the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Automatically generated by addcopyright.py at 04/03/2012 +package com.cloud.vpc.dao; + +import javax.ejb.Local; + +import com.cloud.network.vpc.VpcOfferingVO; +import com.cloud.network.vpc.Dao.VpcOfferingDao; +import com.cloud.utils.db.DB; +import com.cloud.utils.db.GenericDaoBase; + +@Local(value = VpcOfferingDao.class) +@DB(txn = false) +public class MockVpcOfferingDaoImpl extends GenericDaoBase implements VpcOfferingDao{ + + /* (non-Javadoc) + * @see com.cloud.network.vpc.Dao.VpcOfferingDao#findByUniqueName(java.lang.String) + */ + @Override + public VpcOfferingVO findByUniqueName(String uniqueName) { + return new VpcOfferingVO(); + } + + @Override + public VpcOfferingVO persist(VpcOfferingVO vo) { + return vo; + } + +} diff --git a/server/test/com/cloud/vpc/dao/MockVpcOfferingServiceMapDaoImpl.java b/server/test/com/cloud/vpc/dao/MockVpcOfferingServiceMapDaoImpl.java new file mode 100644 index 00000000000..3677a16038b --- /dev/null +++ b/server/test/com/cloud/vpc/dao/MockVpcOfferingServiceMapDaoImpl.java @@ -0,0 +1,69 @@ +// Copyright 2012 Citrix Systems, Inc. Licensed under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. Citrix Systems, Inc. +// reserves all rights not expressly granted by the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Automatically generated by addcopyright.py at 04/03/2012 +package com.cloud.vpc.dao; + +import java.util.List; + +import javax.ejb.Local; + +import com.cloud.network.Network.Service; +import com.cloud.network.vpc.VpcOfferingServiceMapVO; +import com.cloud.network.vpc.Dao.VpcOfferingServiceMapDao; +import com.cloud.utils.db.DB; +import com.cloud.utils.db.GenericDaoBase; + +@Local(value = VpcOfferingServiceMapDao.class) +@DB(txn = false) +public class MockVpcOfferingServiceMapDaoImpl extends GenericDaoBase implements VpcOfferingServiceMapDao{ + + /* (non-Javadoc) + * @see com.cloud.network.vpc.Dao.VpcOfferingServiceMapDao#listByVpcOffId(long) + */ + @Override + public List listByVpcOffId(long vpcOffId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.Dao.VpcOfferingServiceMapDao#areServicesSupportedByNetworkOffering(long, com.cloud.network.Network.Service[]) + */ + @Override + public boolean areServicesSupportedByNetworkOffering(long networkOfferingId, Service[] services) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.Dao.VpcOfferingServiceMapDao#listServicesForVpcOffering(long) + */ + @Override + public List listServicesForVpcOffering(long vpcOfferingId) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see com.cloud.network.vpc.Dao.VpcOfferingServiceMapDao#findByServiceProviderAndOfferingId(java.lang.String, java.lang.String, long) + */ + @Override + public VpcOfferingServiceMapVO findByServiceProviderAndOfferingId(String service, String provider, long vpcOfferingId) { + return new VpcOfferingServiceMapVO(); + } + + @Override + public VpcOfferingServiceMapVO persist (VpcOfferingServiceMapVO vo) { + return vo; + } + +} diff --git a/server/test/com/cloud/vpc/dao/MockVpcVirtualRouterElement.java b/server/test/com/cloud/vpc/dao/MockVpcVirtualRouterElement.java new file mode 100644 index 00000000000..91cfb9933f7 --- /dev/null +++ b/server/test/com/cloud/vpc/dao/MockVpcVirtualRouterElement.java @@ -0,0 +1,26 @@ +// Copyright 2012 Citrix Systems, Inc. Licensed under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. Citrix Systems, Inc. +// reserves all rights not expressly granted by the License. +// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Automatically generated by addcopyright.py at 04/03/2012 +package com.cloud.vpc.dao; + +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.network.element.VpcVirtualRouterElement; +import com.cloud.network.vpc.Vpc; + +public class MockVpcVirtualRouterElement extends VpcVirtualRouterElement{ + @Override + public boolean shutdownVpc(Vpc vpc) throws ConcurrentOperationException, ResourceUnavailableException { + return true; + } + +} diff --git a/setup/db/db/schema-304to305.sql b/setup/db/db/schema-304to305.sql index 950768a4f6d..690640c7716 100755 --- a/setup/db/db/schema-304to305.sql +++ b/setup/db/db/schema-304to305.sql @@ -347,9 +347,8 @@ UPDATE `cloud`.`data_center` SET `is_local_storage_enabled` = IF ((SELECT `value ALTER TABLE `cloud`.`hypervisor_capabilities` ADD COLUMN `max_data_volumes_limit` int unsigned DEFAULT 6 COMMENT 'Max. data volumes per VM supported by hypervisor'; -SET SQL_SAFE_UPDATES=0; UPDATE `cloud`.`hypervisor_capabilities` SET `max_data_volumes_limit`=13 WHERE `hypervisor_type`='XenServer' AND (`hypervisor_version`='6.0' OR `hypervisor_version`='6.0.2'); -SET SQL_SAFE_UPDATES=1; + UPDATE `cloud`.`configuration` SET description='In second, timeout for creating volume from snapshot' WHERE name='create.volume.from.snapshot.wait'; INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Account Defaults', 'DEFAULT', 'management-server', 'max.account.vpcs', '20', 'The default maximum number of vpcs that can be created for an account'); diff --git a/setup/db/templates.sql b/setup/db/templates.sql index 536d4792abc..e16e5d14592 100755 --- a/setup/db/templates.sql +++ b/setup/db/templates.sql @@ -28,7 +28,7 @@ INSERT INTO `cloud`.`vm_template` (id, unique_name, name, public, created, type, VALUES (7, 'centos53-x64', 'CentOS 5.3(64-bit) no GUI (vSphere)', 1, now(), 'BUILTIN', 0, 64, 1, 'http://download.cloud.com/releases/2.2.0/CentOS5.3-x86_64.ova', 'f6f881b7f2292948d8494db837fe0f47', 0, 'CentOS 5.3(64-bit) no GUI (vSphere)', 'OVA', 12, 1, 1, 'VMware', 1); INSERT INTO `cloud`.`vm_template` (id, unique_name, name, public, created, type, hvm, bits, account_id, url, checksum, enable_password, display_text, format, guest_os_id, featured, cross_zones, hypervisor_type) - VALUES (8, 'routing-8', 'SystemVM Template (vSphere)', 0, now(), 'SYSTEM', 0, 32, 1, 'http://download.cloud.com/templates/acton/acton-systemvm-02062012.ova', 'e72b21c9541d005600297cb92d241434', 0, 'SystemVM Template (vSphere)', 'OVA', 15, 0, 1, 'VMware'); + VALUES (8, 'routing-8', 'SystemVM Template (vSphere)', 0, now(), 'SYSTEM', 0, 32, 1, 'http://download.cloud.com/templates/burbank/burbank-systemvm-08012012.ova', '7137e453f950079ea2ba6feaafd939e8', 0, 'SystemVM Template (vSphere)', 'OVA', 15, 0, 1, 'VMware'); INSERT INTO `cloud`.`vm_template` (id, unique_name, name, public, created, type, hvm, bits, account_id, url, checksum, enable_password, display_text, format, guest_os_id, featured, cross_zones, hypervisor_type) VALUES (9, 'routing-9', 'SystemVM Template (HyperV)', 0, now(), 'SYSTEM', 0, 32, 1, 'http://download.cloud.com/templates/acton/acton-systemvm-02062012.vhd.bz2', 'f613f38c96bf039f2e5cbf92fa8ad4f8', 0, 'SystemVM Template (HyperV)', 'VHD', 15, 0, 1, 'Hyperv'); diff --git a/test/dbupgrade/cloud_304.sql b/test/dbupgrade/cloud_304.sql index 0747f5f581d..e4a0c24dd29 100644 --- a/test/dbupgrade/cloud_304.sql +++ b/test/dbupgrade/cloud_304.sql @@ -3580,7 +3580,7 @@ CREATE TABLE `template_host_ref` ( LOCK TABLES `template_host_ref` WRITE; /*!40000 ALTER TABLE `template_host_ref` DISABLE KEYS */; -INSERT INTO `template_host_ref` VALUES (1,1,9,'2012-07-19 22:20:20','2012-07-19 22:20:20',NULL,100,0,0,'DOWNLOADED',NULL,NULL,'template/tmpl/1/9/','http://download.cloud.com/templates/acton/acton-systemvm-02062012.vhd.bz2',0,0),(2,1,8,'2012-07-19 22:20:20','2012-07-19 22:20:20',NULL,100,0,0,'DOWNLOADED',NULL,NULL,'template/tmpl/1/8/','http://download.cloud.com/templates/acton/acton-systemvm-02062012.ova',0,0),(3,1,3,'2012-07-19 22:20:20','2012-07-19 22:30:12',NULL,100,757071872,757071872,'DOWNLOADED',NULL,NULL,'template/tmpl/1/3//adb6033f-c806-4884-938a-1ec398fc5ff0.qcow2','http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2',0,0),(4,1,1,'2012-07-19 22:20:20','2012-07-19 22:30:12',NULL,100,565240320,565240320,'DOWNLOADED',NULL,NULL,'template/tmpl/1/1//a349b09e-4f8a-436a-bf3e-fc70e79c04cc.vhd','http://download.cloud.com/templates/acton/acton-systemvm-02062012.vhd.bz2',0,0),(5,1,4,'2012-07-19 22:30:12','2012-07-19 22:30:12',NULL,0,0,0,'NOT_DOWNLOADED',NULL,NULL,NULL,'http://download.cloud.com/releases/2.2.0/eec2209b-9875-3c8d-92be-c001bd8a0faf.qcow2.bz2',0,0),(6,1,5,'2012-07-19 22:30:12','2012-07-19 22:47:50','ebdb6d62-aa39-4d43-b6c4-dc9740d5e31e',100,21474836480,1758786048,'DOWNLOADED','Install completed successfully at 7/19/12 4:39 PM','/mnt/SecStorage/60b4c411-98da-336f-a7f0-84a3e1c4c218/template/tmpl/1/5/dnld1522056867875408327tmp_','template/tmpl//1/5//facf39f0-4874-3086-85af-bafbed76a2c0.vhd','http://download.cloud.com/templates/builtin/centos56-x86_64.vhd.bz2',0,0),(7,1,7,'2012-07-19 22:30:12','2012-07-19 22:30:12',NULL,0,0,0,'NOT_DOWNLOADED',NULL,NULL,NULL,'http://download.cloud.com/releases/2.2.0/CentOS5.3-x86_64.ova',0,0); +INSERT INTO `template_host_ref` VALUES (1,1,9,'2012-07-19 22:20:20','2012-07-19 22:20:20',NULL,100,0,0,'DOWNLOADED',NULL,NULL,'template/tmpl/1/9/','http://download.cloud.com/templates/acton/acton-systemvm-02062012.vhd.bz2',0,0),(2,1,8,'2012-07-19 22:20:20','2012-07-19 22:20:20',NULL,100,0,0,'DOWNLOADED',NULL,NULL,'template/tmpl/1/8/','http://download.cloud.com/templates/burbank/burbank-systemvm-08012012.ova',0,0),(3,1,3,'2012-07-19 22:20:20','2012-07-19 22:30:12',NULL,100,757071872,757071872,'DOWNLOADED',NULL,NULL,'template/tmpl/1/3//adb6033f-c806-4884-938a-1ec398fc5ff0.qcow2','http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2',0,0),(4,1,1,'2012-07-19 22:20:20','2012-07-19 22:30:12',NULL,100,565240320,565240320,'DOWNLOADED',NULL,NULL,'template/tmpl/1/1//a349b09e-4f8a-436a-bf3e-fc70e79c04cc.vhd','http://download.cloud.com/templates/acton/acton-systemvm-02062012.vhd.bz2',0,0),(5,1,4,'2012-07-19 22:30:12','2012-07-19 22:30:12',NULL,0,0,0,'NOT_DOWNLOADED',NULL,NULL,NULL,'http://download.cloud.com/releases/2.2.0/eec2209b-9875-3c8d-92be-c001bd8a0faf.qcow2.bz2',0,0),(6,1,5,'2012-07-19 22:30:12','2012-07-19 22:47:50','ebdb6d62-aa39-4d43-b6c4-dc9740d5e31e',100,21474836480,1758786048,'DOWNLOADED','Install completed successfully at 7/19/12 4:39 PM','/mnt/SecStorage/60b4c411-98da-336f-a7f0-84a3e1c4c218/template/tmpl/1/5/dnld1522056867875408327tmp_','template/tmpl//1/5//facf39f0-4874-3086-85af-bafbed76a2c0.vhd','http://download.cloud.com/templates/builtin/centos56-x86_64.vhd.bz2',0,0),(7,1,7,'2012-07-19 22:30:12','2012-07-19 22:30:12',NULL,0,0,0,'NOT_DOWNLOADED',NULL,NULL,NULL,'http://download.cloud.com/releases/2.2.0/CentOS5.3-x86_64.ova',0,0); /*!40000 ALTER TABLE `template_host_ref` ENABLE KEYS */; UNLOCK TABLES; @@ -4210,7 +4210,7 @@ CREATE TABLE `vm_template` ( LOCK TABLES `vm_template` WRITE; /*!40000 ALTER TABLE `vm_template` DISABLE KEYS */; -INSERT INTO `vm_template` VALUES (1,'routing-1','SystemVM Template (XenServer)','ea041c86-a510-4a66-af6d-94ac2261c075',0,0,'SYSTEM',0,64,'http://download.cloud.com/templates/acton/acton-systemvm-02062012.vhd.bz2','VHD','2012-07-19 15:19:39',NULL,1,'f613f38c96bf039f2e5cbf92fa8ad4f8','SystemVM Template (XenServer)',0,0,15,1,0,1,0,'XenServer',NULL,NULL,0),(2,'centos53-x86_64','CentOS 5.3(64-bit) no GUI (XenServer)','77783498-a5f3-411f-be92-8965d06cc968',1,1,'BUILTIN',0,64,'http://download.cloud.com/templates/builtin/f59f18fb-ae94-4f97-afd2-f84755767aca.vhd.bz2','VHD','2012-07-19 15:19:39','2012-07-19 15:19:39',1,'b63d854a9560c013142567bbae8d98cf','CentOS 5.3(64-bit) no GUI (XenServer)',0,0,12,1,0,1,1,'XenServer',NULL,NULL,0),(3,'routing-3','SystemVM Template (KVM)','af37c452-9d00-4f48-80f1-1d4bd773c37e',0,0,'SYSTEM',0,64,'http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2','QCOW2','2012-07-19 15:19:39',NULL,1,'2755de1f9ef2ce4d6f2bee2efbb4da92','SystemVM Template (KVM)',0,0,15,1,0,1,0,'KVM',NULL,NULL,0),(4,'centos55-x86_64','CentOS 5.5(64-bit) no GUI (KVM)','1f3f38ea-e0ee-4f21-92ab-27ca5949538e',1,1,'BUILTIN',0,64,'http://download.cloud.com/releases/2.2.0/eec2209b-9875-3c8d-92be-c001bd8a0faf.qcow2.bz2','QCOW2','2012-07-19 15:19:39',NULL,1,'ed0e788280ff2912ea40f7f91ca7a249','CentOS 5.5(64-bit) no GUI (KVM)',0,0,112,1,0,1,1,'KVM',NULL,NULL,0),(5,'centos56-x86_64-xen','CentOS 5.6(64-bit) no GUI (XenServer)','14a118d5-5803-48c1-82c9-85882d1ff97c',1,1,'BUILTIN',0,64,'http://download.cloud.com/templates/builtin/centos56-x86_64.vhd.bz2','VHD','2012-07-19 15:19:39',NULL,1,'905cec879afd9c9d22ecc8036131a180','CentOS 5.6(64-bit) no GUI (XenServer)',0,0,12,1,0,1,1,'XenServer',NULL,NULL,0),(7,'centos53-x64','CentOS 5.3(64-bit) no GUI (vSphere)','4801c38d-16f1-494c-ad95-2f7c89bac8e2',1,1,'BUILTIN',0,64,'http://download.cloud.com/releases/2.2.0/CentOS5.3-x86_64.ova','OVA','2012-07-19 15:19:39',NULL,1,'f6f881b7f2292948d8494db837fe0f47','CentOS 5.3(64-bit) no GUI (vSphere)',0,0,12,1,0,1,1,'VMware',NULL,NULL,0),(8,'routing-8','SystemVM Template (vSphere)','5a4a9ab4-7cdd-4d4a-b3ff-b79ae165df96',0,0,'SYSTEM',0,32,'http://download.cloud.com/templates/acton/acton-systemvm-02062012.ova','OVA','2012-07-19 15:19:39',NULL,1,'e72b21c9541d005600297cb92d241434','SystemVM Template (vSphere)',0,0,15,1,0,1,0,'VMware',NULL,NULL,0),(9,'routing-9','SystemVM Template (HyperV)','35d9360e-1951-4a94-8acc-f759e338aa1a',0,0,'SYSTEM',0,32,'http://download.cloud.com/templates/acton/acton-systemvm-02062012.vhd.bz2','VHD','2012-07-19 15:19:39',NULL,1,'f613f38c96bf039f2e5cbf92fa8ad4f8','SystemVM Template (HyperV)',0,0,15,1,0,1,0,'Hyperv',NULL,NULL,0),(200,'xs-tools.iso','xs-tools.iso','f722a941-0c0f-4a59-b060-41de29c4e4f7',1,1,'PERHOST',1,64,NULL,'ISO','2012-07-19 22:20:10',NULL,1,NULL,'xen-pv-drv-iso',0,0,1,0,0,0,1,'XenServer',NULL,NULL,0),(201,'vmware-tools.iso','vmware-tools.iso','b6ecb286-861a-4c76-9978-410ba21fbbdf',1,1,'PERHOST',1,64,NULL,'ISO','2012-07-19 22:20:10',NULL,1,NULL,'VMware Tools Installer ISO',0,0,1,0,0,0,1,'VMware',NULL,NULL,0); +INSERT INTO `vm_template` VALUES (1,'routing-1','SystemVM Template (XenServer)','ea041c86-a510-4a66-af6d-94ac2261c075',0,0,'SYSTEM',0,64,'http://download.cloud.com/templates/acton/acton-systemvm-02062012.vhd.bz2','VHD','2012-07-19 15:19:39',NULL,1,'f613f38c96bf039f2e5cbf92fa8ad4f8','SystemVM Template (XenServer)',0,0,15,1,0,1,0,'XenServer',NULL,NULL,0),(2,'centos53-x86_64','CentOS 5.3(64-bit) no GUI (XenServer)','77783498-a5f3-411f-be92-8965d06cc968',1,1,'BUILTIN',0,64,'http://download.cloud.com/templates/builtin/f59f18fb-ae94-4f97-afd2-f84755767aca.vhd.bz2','VHD','2012-07-19 15:19:39','2012-07-19 15:19:39',1,'b63d854a9560c013142567bbae8d98cf','CentOS 5.3(64-bit) no GUI (XenServer)',0,0,12,1,0,1,1,'XenServer',NULL,NULL,0),(3,'routing-3','SystemVM Template (KVM)','af37c452-9d00-4f48-80f1-1d4bd773c37e',0,0,'SYSTEM',0,64,'http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2','QCOW2','2012-07-19 15:19:39',NULL,1,'2755de1f9ef2ce4d6f2bee2efbb4da92','SystemVM Template (KVM)',0,0,15,1,0,1,0,'KVM',NULL,NULL,0),(4,'centos55-x86_64','CentOS 5.5(64-bit) no GUI (KVM)','1f3f38ea-e0ee-4f21-92ab-27ca5949538e',1,1,'BUILTIN',0,64,'http://download.cloud.com/releases/2.2.0/eec2209b-9875-3c8d-92be-c001bd8a0faf.qcow2.bz2','QCOW2','2012-07-19 15:19:39',NULL,1,'ed0e788280ff2912ea40f7f91ca7a249','CentOS 5.5(64-bit) no GUI (KVM)',0,0,112,1,0,1,1,'KVM',NULL,NULL,0),(5,'centos56-x86_64-xen','CentOS 5.6(64-bit) no GUI (XenServer)','14a118d5-5803-48c1-82c9-85882d1ff97c',1,1,'BUILTIN',0,64,'http://download.cloud.com/templates/builtin/centos56-x86_64.vhd.bz2','VHD','2012-07-19 15:19:39',NULL,1,'905cec879afd9c9d22ecc8036131a180','CentOS 5.6(64-bit) no GUI (XenServer)',0,0,12,1,0,1,1,'XenServer',NULL,NULL,0),(7,'centos53-x64','CentOS 5.3(64-bit) no GUI (vSphere)','4801c38d-16f1-494c-ad95-2f7c89bac8e2',1,1,'BUILTIN',0,64,'http://download.cloud.com/releases/2.2.0/CentOS5.3-x86_64.ova','OVA','2012-07-19 15:19:39',NULL,1,'f6f881b7f2292948d8494db837fe0f47','CentOS 5.3(64-bit) no GUI (vSphere)',0,0,12,1,0,1,1,'VMware',NULL,NULL,0),(8,'routing-8','SystemVM Template (vSphere)','5a4a9ab4-7cdd-4d4a-b3ff-b79ae165df96',0,0,'SYSTEM',0,32,'http://download.cloud.com/templates/burbank/burbank-systemvm-08012012.ova','OVA','2012-07-19 15:19:39',NULL,1,'7137e453f950079ea2ba6feaafd939e8','SystemVM Template (vSphere)',0,0,15,1,0,1,0,'VMware',NULL,NULL,0),(9,'routing-9','SystemVM Template (HyperV)','35d9360e-1951-4a94-8acc-f759e338aa1a',0,0,'SYSTEM',0,32,'http://download.cloud.com/templates/acton/acton-systemvm-02062012.vhd.bz2','VHD','2012-07-19 15:19:39',NULL,1,'f613f38c96bf039f2e5cbf92fa8ad4f8','SystemVM Template (HyperV)',0,0,15,1,0,1,0,'Hyperv',NULL,NULL,0),(200,'xs-tools.iso','xs-tools.iso','f722a941-0c0f-4a59-b060-41de29c4e4f7',1,1,'PERHOST',1,64,NULL,'ISO','2012-07-19 22:20:10',NULL,1,NULL,'xen-pv-drv-iso',0,0,1,0,0,0,1,'XenServer',NULL,NULL,0),(201,'vmware-tools.iso','vmware-tools.iso','b6ecb286-861a-4c76-9978-410ba21fbbdf',1,1,'PERHOST',1,64,NULL,'ISO','2012-07-19 22:20:10',NULL,1,NULL,'VMware Tools Installer ISO',0,0,1,0,0,0,1,'VMware',NULL,NULL,0); /*!40000 ALTER TABLE `vm_template` ENABLE KEYS */; UNLOCK TABLES; diff --git a/ui/css/cloudstack3.css b/ui/css/cloudstack3.css index dc26efa1d5e..b8fc215d3f7 100644 --- a/ui/css/cloudstack3.css +++ b/ui/css/cloudstack3.css @@ -9156,6 +9156,19 @@ div.panel.ui-dialog div.list-view div.fixed-header { /** Dialog tagger*/ .ui-dialog .tagger { + width: 375px; +} + +.ui-dialog .tagger .tag-info { + display: none; +} + +.ui-dialog.editTags .ui-button { + float: right; +} + +.ui-dialog.editTags .ui-dialog-buttonpane { + float: right; } .ui-dialog .tagger .field { @@ -9634,29 +9647,44 @@ div.panel.ui-dialog div.list-view div.fixed-header { float: left; } -/*Configure ACL dialog*/ -.ui-dialog.configure-acl { +/*Configure ACL dialog / VM tier list view dialog*/ +.ui-dialog.configure-acl .multi-edit { + width: 866px; +} + +.ui-dialog.configure-acl .multi-edit table { + max-width: none; } .ui-dialog.configure-acl .ui-dialog-buttonpane { - /*+placement:shift 709px -2px;*/ + /*+placement:shift 722px -2px;*/ position: relative; - left: 709px; + left: 722px; top: -2px; } +.ui-dialog.configure-acl div.view.list-view { + max-height: 474px; +} + .ui-dialog.configure-acl .multi-edit .data { - width: 807px; + width: 901px; + padding: 0; + margin: 0; height: 370px; overflow: auto; + overflow-x: hidden; } -/*Acl multi-edit*/ -div.ui-dialog div.acl div.multi-edit div.data div.data-body { - -width:100%; +.ui-dialog.configure-acl .multi-edit .data .multi-actions { + min-width: none !important; + max-width: none !important; } +.ui-dialog.configure-acl .view.list-view table.body tr td.actions { + width: 184px !important; + max-width: 184px !important; +} /*Autoscaler*/ .ui-dialog div.autoscaler { @@ -9664,6 +9692,19 @@ width:100%; max-height: 600px; } +.ui-dialog div.autoscaler .detail-actions { +} + +.ui-dialog div.autoscaler .detail-actions .buttons { + float: right; + margin-right: 6px; +} + +.ui-dialog div.autoscaler .detail-actions .buttons .action { + width: 32px; + float: left; +} + .ui-dialog div.autoscaler div.form-container div.form-item[rel=securityGroups] { display: block; width: 370px; @@ -10251,3 +10292,11 @@ div.ui-dialog div.autoscaler div.field-group div.form-container form div.form-it background-position: -230px -615px; } +.editTags .icon { + background-position: -228px -65px; +} + +.editTags:hover .icon { + background-position: -228px -646px; +} + diff --git a/ui/images/sprites.png b/ui/images/sprites.png index f1f5b8c5820..db95cca7b6e 100644 Binary files a/ui/images/sprites.png and b/ui/images/sprites.png differ diff --git a/ui/index.jsp b/ui/index.jsp index 71f869d8cd6..a83467bfdb2 100644 --- a/ui/index.jsp +++ b/ui/index.jsp @@ -5,7 +5,6 @@ <% long now = System.currentTimeMillis(); %> - @@ -17,7 +16,6 @@ - @@ -25,7 +23,6 @@
-
@@ -38,22 +35,18 @@
-
-
- " /> -
-

@@ -113,7 +104,6 @@
-
@@ -284,7 +274,6 @@
-
@@ -296,7 +285,6 @@
-
@@ -313,7 +301,6 @@
-
@@ -323,7 +310,6 @@
-
@@ -336,7 +322,6 @@
-
@@ -349,7 +334,6 @@
-
@@ -362,7 +346,6 @@
-
@@ -375,7 +358,6 @@
-
@@ -388,7 +370,6 @@
-
@@ -406,7 +387,6 @@
-
@@ -419,7 +399,6 @@
-
@@ -427,7 +406,6 @@
-
@@ -473,7 +451,6 @@
-
@@ -484,7 +461,6 @@
-
 
-
@@ -578,13 +553,11 @@
-
-
  • -
    -
    @@ -614,14 +585,12 @@
  • -
    -
    @@ -632,7 +601,6 @@
  • -
    @@ -640,7 +608,6 @@
    -
  • -
    @@ -662,7 +628,6 @@
    -
    @@ -673,13 +638,11 @@
  • -
    -
    @@ -697,7 +660,6 @@
    -
    @@ -714,7 +676,6 @@
    -
    @@ -731,7 +692,6 @@
    -
    @@ -748,7 +708,6 @@
    -
    @@ -762,7 +721,6 @@
    -
    @@ -770,7 +728,6 @@
    -
      @@ -788,7 +745,6 @@
    -
      @@ -803,7 +759,6 @@
    -
    @@ -871,7 +826,6 @@
    -
    @@ -915,7 +869,6 @@
    -
    @@ -934,7 +887,6 @@
    -
    @@ -1598,8 +1550,6 @@ - - @@ -1656,6 +1606,8 @@