Merge branch 'master' into internallb1

Conflicts:
        server/src/com/cloud/network/NetworkModelImpl.java
        server/src/com/cloud/network/NetworkServiceImpl.java
        server/src/com/cloud/server/ManagementServerImpl.java
        server/test/com/cloud/network/MockNetworkManagerImpl.java
        server/test/com/cloud/vpc/MockNetworkManagerImpl.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/1cff6093
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/1cff6093
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/1cff6093

Branch: refs/heads/internallb
Commit: 1cff609347eed3fb3a5e2e3a76b2f36404ea0b81
Parents: 053e184 a3a5c13
Author: Alena Prokharchyk <alena.prokharc...@citrix.com>
Authored: Fri May 3 11:23:08 2013 -0700
Committer: Alena Prokharchyk <alena.prokharc...@citrix.com>
Committed: Fri May 3 12:50:59 2013 -0700

----------------------------------------------------------------------
 .../agent/api/storage/CreateVolumeOVAAnswer.java   |   26 +
 .../agent/api/storage/CreateVolumeOVACommand.java  |   60 ++
 .../agent/api/storage/PrepareOVAPackingAnswer.java |   26 +
 .../api/storage/PrepareOVAPackingCommand.java      |   48 ++
 api/src/com/cloud/network/NetworkService.java      |    4 +-
 api/src/com/cloud/network/rules/RulesService.java  |    2 +-
 api/src/com/cloud/network/vpc/PrivateIp.java       |    1 +
 api/src/com/cloud/network/vpc/VpcGateway.java      |    4 +
 api/src/com/cloud/network/vpc/VpcService.java      |    4 +-
 api/src/com/cloud/vm/UserVmService.java            |    2 +-
 .../command/admin/vpc/CreatePrivateGatewayCmd.java |   14 +-
 .../api/command/user/nat/EnableStaticNatCmd.java   |    2 +-
 .../command/user/snapshot/CreateSnapshotCmd.java   |    2 +
 .../cloudstack/api/command/user/vm/ScaleVMCmd.java |   10 +-
 .../user/vmsnapshot/RevertToSnapshotCmd.java       |   92 ---
 .../user/vmsnapshot/RevertToVMSnapshotCmd.java     |   92 +++
 .../api/response/PrivateGatewayResponse.java       |   10 +
 .../api/command/test/ScaleVMCmdTest.java           |   35 +-
 client/tomcatconf/commands.properties.in           |    2 +-
 .../virtualnetwork/VirtualRoutingResource.java     |   15 +-
 .../storage/resource/StoragePoolResource.java      |    4 +
 docs/en-US/elastic-ip.xml                          |   47 +-
 docs/en-US/images/eip-ns-basiczone.png             |  Bin 55568 -> 63227 bytes
 patches/systemvm/debian/config/etc/dnsmasq.conf    |  634 ---------------
 .../systemvm/debian/config/etc/dnsmasq.conf.tmpl   |  634 +++++++++++++++
 .../debian/config/etc/init.d/cloud-early-config    |    3 +
 .../config/opt/cloud/bin/vpc_privateGateway.sh     |    2 +-
 patches/systemvm/debian/config/root/edithosts.sh   |    3 +-
 .../kvm/resource/LibvirtComputingResource.java     |    2 +-
 .../src/com/cloud/hypervisor/guru/VMwareGuru.java  |   12 +
 .../vmware/manager/VmwareStorageManager.java       |    4 +
 .../vmware/manager/VmwareStorageManagerImpl.java   |  401 ++++++++--
 .../hypervisor/vmware/resource/VmwareResource.java |   67 ++
 .../VmwareSecondaryStorageResourceHandler.java     |   24 +
 .../xen/resource/CitrixResourceBase.java           |   14 +
 .../cloud/network/element/NetscalerElement.java    |   70 ++-
 .../cloud/network/resource/NetscalerResource.java  |   45 +
 pom.xml                                            |    2 +-
 server/src/com/cloud/api/ApiResponseHelper.java    |    1 +
 .../ExternalLoadBalancerDeviceManagerImpl.java     |    2 +-
 server/src/com/cloud/network/NetworkModelImpl.java |   15 +-
 .../src/com/cloud/network/NetworkServiceImpl.java  |   52 +-
 .../VpcVirtualNetworkApplianceManagerImpl.java     |    4 +-
 .../com/cloud/network/rules/RulesManagerImpl.java  |   13 +-
 .../cloud/network/vpc/PrivateGatewayProfile.java   |    5 +
 .../com/cloud/network/vpc/PrivateIpAddress.java    |    7 +
 server/src/com/cloud/network/vpc/PrivateIpVO.java  |   12 +-
 server/src/com/cloud/network/vpc/VpcGatewayVO.java |   16 +-
 .../src/com/cloud/network/vpc/VpcManagerImpl.java  |    8 +-
 .../resourcelimit/ResourceLimitManagerImpl.java    |    2 +-
 .../src/com/cloud/server/ManagementServerImpl.java |   95 +++-
 .../com/cloud/storage/dao/VMTemplateDaoImpl.java   |   19 +-
 .../cloud/template/HypervisorTemplateAdapter.java  |   78 ++
 server/src/com/cloud/template/TemplateAdapter.java |    3 +
 .../com/cloud/template/TemplateAdapterBase.java    |   13 +
 .../com/cloud/template/TemplateManagerImpl.java    |    7 +
 .../src/com/cloud/upgrade/dao/Upgrade2214to30.java |   24 +-
 server/src/com/cloud/vm/UserVmManagerImpl.java     |   10 +-
 .../com/cloud/vm/VirtualMachineManagerImpl.java    |   11 +
 .../com/cloud/network/MockNetworkManagerImpl.java  |   24 +-
 .../com/cloud/network/MockRulesManagerImpl.java    |    3 +-
 .../test/com/cloud/vm/MockUserVmManagerImpl.java   |    4 +-
 .../test/com/cloud/vpc/MockNetworkManagerImpl.java |   26 +-
 server/test/com/cloud/vpc/MockVpcManagerImpl.java  |    2 +-
 setup/db/db/schema-410to420.sql                    |    3 +
 test/integration/smoke/test_vm_snapshots.py        |  308 +++++++
 test/selenium/ReadMe.txt                           |   36 +-
 test/selenium/lib/initialize.py                    |   17 +-
 test/selenium/smoke/Login_and_Accounts.py          |    5 +-
 test/selenium/smoke/main.py                        |    2 +-
 tools/marvin/marvin/integration/lib/base.py        |   37 +
 ui/index.jsp                                       |    1 +
 ui/scripts/accounts.js                             |   51 ++
 ui/scripts/instanceWizard.js                       |   10 +-
 ui/scripts/instances.js                            |    8 +-
 ui/scripts/storage.js                              |   44 +-
 ui/scripts/system.js                               |  384 +++++++---
 ui/scripts/templates.js                            |  106 +--
 ui/scripts/ui-custom/granularSettings.js           |   46 +
 ui/scripts/ui-custom/instanceWizard.js             |   30 +-
 ui/scripts/ui/widgets/multiEdit.js                 |    5 +
 ui/scripts/vm_snapshots.js                         |    2 +-
 ui/scripts/vpc.js                                  |    6 +
 utils/src/com/cloud/utils/net/NetUtils.java        |   10 +-
 .../hypervisor/vmware/mo/VirtualMachineMO.java     |    6 +-
 .../cloud/hypervisor/vmware/util/VmwareClient.java |    2 +-
 86 files changed, 2806 insertions(+), 1188 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1cff6093/client/tomcatconf/commands.properties.in
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1cff6093/patches/systemvm/debian/config/etc/init.d/cloud-early-config
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1cff6093/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
----------------------------------------------------------------------
diff --cc 
plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
index 1242be6,7bd9c2e..cc1cd1b
--- 
a/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
+++ 
b/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
@@@ -840,11 -810,75 +842,75 @@@ public class NetscalerElement extends E
          return null;
      }
  
+     public List<LoadBalancerTO> getElasticLBRulesHealthCheck(Network network, 
List<? extends FirewallRule> rules)
+             throws ResourceUnavailableException {
+ 
+         HealthCheckLBConfigAnswer answer = null;
+         List<LoadBalancingRule> loadBalancingRules = new 
ArrayList<LoadBalancingRule>();
+         for (FirewallRule rule : rules) {
+             if (rule.getPurpose().equals(Purpose.LoadBalancing)) {
+                 loadBalancingRules.add((LoadBalancingRule) rule);
+             }
+         }
+ 
+         if (loadBalancingRules == null || loadBalancingRules.isEmpty()) {
+             return null;
+         }
+ 
+         String errMsg = null;
+         ExternalLoadBalancerDeviceVO lbDeviceVO = 
getExternalLoadBalancerForNetwork(network);
+ 
+         if (lbDeviceVO == null) {
+             s_logger.warn("There is no external load balancer device assigned 
to this network either network is not implement are already shutdown so just 
returning");
+             return null;
+         }
+ 
+         if (!isNetscalerDevice(lbDeviceVO.getDeviceName())) {
+             errMsg = "There are no NetScaler load balancer assigned for this 
network. So NetScaler element can not be handle elastic load balancer rules.";
+             s_logger.error(errMsg);
+             throw new ResourceUnavailableException(errMsg, this.getClass(), 
0);
+         }
+ 
+         List<LoadBalancerTO> loadBalancersToApply = new 
ArrayList<LoadBalancerTO>();
+         for (int i = 0; i < loadBalancingRules.size(); i++) {
+             LoadBalancingRule rule = loadBalancingRules.get(i);
+             boolean revoked = 
(rule.getState().equals(FirewallRule.State.Revoke));
+             String protocol = rule.getProtocol();
+             String algorithm = rule.getAlgorithm();
+             String lbUuid = rule.getUuid();
+             String srcIp = 
_networkMgr.getIp(rule.getSourceIpAddressId()).getAddress().addr();
+             int srcPort = rule.getSourcePortStart();
+             List<LbDestination> destinations = rule.getDestinations();
+ 
+             if ((destinations != null && !destinations.isEmpty()) || 
rule.isAutoScaleConfig()) {
+                 LoadBalancerTO loadBalancer = new LoadBalancerTO(lbUuid, 
srcIp, srcPort, protocol, algorithm, revoked,
+                         false, false, destinations, null, 
rule.getHealthCheckPolicies());
+                 loadBalancersToApply.add(loadBalancer);
+             }
+         }
+ 
+         if (loadBalancersToApply.size() > 0) {
+             int numLoadBalancersForCommand = loadBalancersToApply.size();
+             LoadBalancerTO[] loadBalancersForCommand = loadBalancersToApply
+                     .toArray(new LoadBalancerTO[numLoadBalancersForCommand]);
+             HealthCheckLBConfigCommand cmd = new 
HealthCheckLBConfigCommand(loadBalancersForCommand);
+             HostVO externalLoadBalancer = 
_hostDao.findById(lbDeviceVO.getHostId());
+             answer = (HealthCheckLBConfigAnswer) 
_agentMgr.easySend(externalLoadBalancer.getId(), cmd);
+             return answer.getLoadBalancers();
+         }
+         return null;
+     }
+ 
      public List<LoadBalancerTO> updateHealthChecks(Network network, 
List<LoadBalancingRule> lbrules) {
  
 -        if (canHandle(network, Service.Lb)) {
 +        if (canHandle(network, Service.Lb) && canHandleLbRules(lbrules)) {
              try {
-                 return getLBHealthChecks(network, lbrules);
+ 
+                 if (isBasicZoneNetwok(network)) {
+                     return getElasticLBRulesHealthCheck(network, lbrules);
+                 } else {
+                     return getLBHealthChecks(network, lbrules);
+                 }
              } catch (ResourceUnavailableException e) {
                  s_logger.error("Error in getting the LB Rules from NetScaler 
" + e);
              }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1cff6093/server/src/com/cloud/api/ApiResponseHelper.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1cff6093/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1cff6093/server/src/com/cloud/network/NetworkModelImpl.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/network/NetworkModelImpl.java
index c44ff8e,fdf722c..01fa252
--- a/server/src/com/cloud/network/NetworkModelImpl.java
+++ b/server/src/com/cloud/network/NetworkModelImpl.java
@@@ -1667,22 -1663,20 +1667,19 @@@ public class NetworkModelImpl extends M
      @Override
      public Set<Long> getAvailableIps(Network network, String requestedIp) {
          String[] cidr = network.getCidr().split("/");
 -        List<String> ips = _nicDao.listIpAddressInNetwork(network.getId());
 -        List<String> secondaryIps = 
_nicSecondaryIpDao.listSecondaryIpAddressInNetwork(network.getId());
 -        ips.addAll(secondaryIps);
 +        List<String> ips = getUsedIpsInNetwork(network);
          Set<Long> usedIps = new TreeSet<Long>(); 
-         
+ 
          for (String ip : ips) {
              if (requestedIp != null && requestedIp.equals(ip)) {
                  s_logger.warn("Requested ip address " + requestedIp + " is 
already in use in network" + network);
                  return null;
              }
-     
+ 
              usedIps.add(NetUtils.ip2Long(ip));
          }
-         
-         Set<Long> allPossibleIps = NetUtils.getAllIpsFromCidr(cidr[0], 
Integer.parseInt(cidr[1]));
-         if (usedIps.size() != 0) {
-             allPossibleIps.removeAll(usedIps);
-         }
++
+         Set<Long> allPossibleIps = NetUtils.getAllIpsFromCidr(cidr[0], 
Integer.parseInt(cidr[1]), usedIps);
  
          String gateway = network.getGateway();
          if ((gateway != null) && 
(allPossibleIps.contains(NetUtils.ip2Long(gateway))))

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1cff6093/server/src/com/cloud/network/NetworkServiceImpl.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/network/NetworkServiceImpl.java
index 8c38904,d8f8d5d..85a8086
--- a/server/src/com/cloud/network/NetworkServiceImpl.java
+++ b/server/src/com/cloud/network/NetworkServiceImpl.java
@@@ -16,38 -16,6 +16,39 @@@
  // under the License.
  package com.cloud.network;
  
 +import java.net.Inet6Address;
 +import java.net.InetAddress;
 +import java.net.UnknownHostException;
 +import java.security.InvalidParameterException;
 +import java.sql.PreparedStatement;
 +import java.sql.ResultSet;
 +import java.sql.SQLException;
 +import java.util.ArrayList;
 +import java.util.Collection;
 +import java.util.HashMap;
 +import java.util.HashSet;
 +import java.util.List;
 +import java.util.Map;
 +import java.util.Set;
++import java.util.TreeSet;
 +import java.util.UUID;
 +
 +import javax.ejb.Local;
 +import javax.inject.Inject;
 +import javax.naming.ConfigurationException;
 +
 +import org.apache.cloudstack.acl.ControlledEntity.ACLType;
 +import org.apache.cloudstack.acl.SecurityChecker;
 +import org.apache.cloudstack.acl.SecurityChecker.AccessType;
 +import 
org.apache.cloudstack.api.command.admin.usage.ListTrafficTypeImplementorsCmd;
 +import org.apache.cloudstack.api.command.user.network.CreateNetworkCmd;
 +import org.apache.cloudstack.api.command.user.network.ListNetworksCmd;
 +import org.apache.cloudstack.api.command.user.network.RestartNetworkCmd;
 +import org.apache.cloudstack.api.command.user.vm.ListNicsCmd;
 +import 
org.apache.cloudstack.network.element.InternalLoadBalancerElementService;
 +import org.apache.log4j.Logger;
 +import org.springframework.stereotype.Component;
 +
  import com.cloud.configuration.Config;
  import com.cloud.configuration.ConfigurationManager;
  import com.cloud.configuration.dao.ConfigurationDao;
@@@ -2128,6 -2062,32 +2131,29 @@@ public class NetworkServiceImpl extend
          return getNetwork(network.getId());
      }
  
+ 
 -
 -
+     protected Set<Long> getAvailableIps(Network network, String requestedIp) {
+         String[] cidr = network.getCidr().split("/");
+         List<String> ips = _nicDao.listIpAddressInNetwork(network.getId());
+         Set<Long> usedIps = new TreeSet<Long>(); 
+ 
+         for (String ip : ips) {
+             if (requestedIp != null && requestedIp.equals(ip)) {
+                 s_logger.warn("Requested ip address " + requestedIp + " is 
already in use in network" + network);
+                 return null;
+             }
+ 
+             usedIps.add(NetUtils.ip2Long(ip));
+         }
+         Set<Long> allPossibleIps = NetUtils.getAllIpsFromCidr(cidr[0], 
Integer.parseInt(cidr[1]), usedIps);
+ 
+         String gateway = network.getGateway();
+         if ((gateway != null) && 
(allPossibleIps.contains(NetUtils.ip2Long(gateway))))
+             allPossibleIps.remove(NetUtils.ip2Long(gateway));
+ 
+         return allPossibleIps;
+     }
+ 
 -
    
      protected boolean canUpgrade(Network network, long oldNetworkOfferingId, 
long newNetworkOfferingId) {
          NetworkOffering oldNetworkOffering = 
_networkOfferingDao.findByIdIncludingRemoved(oldNetworkOfferingId);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1cff6093/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1cff6093/server/src/com/cloud/network/vpc/VpcManagerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1cff6093/server/src/com/cloud/server/ManagementServerImpl.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/server/ManagementServerImpl.java
index 07f86c8,efd51e6..675cf26
--- a/server/src/com/cloud/server/ManagementServerImpl.java
+++ b/server/src/com/cloud/server/ManagementServerImpl.java
@@@ -204,206 -90,6 +204,205 @@@ import org.apache.cloudstack.api.comman
  import 
org.apache.cloudstack.api.command.user.affinitygroup.ListAffinityGroupTypesCmd;
  import 
org.apache.cloudstack.api.command.user.affinitygroup.ListAffinityGroupsCmd;
  import 
org.apache.cloudstack.api.command.user.affinitygroup.UpdateVMAffinityGroupCmd;
 +import 
org.apache.cloudstack.api.command.user.autoscale.CreateAutoScalePolicyCmd;
 +import 
org.apache.cloudstack.api.command.user.autoscale.CreateAutoScaleVmGroupCmd;
 +import 
org.apache.cloudstack.api.command.user.autoscale.CreateAutoScaleVmProfileCmd;
 +import org.apache.cloudstack.api.command.user.autoscale.CreateConditionCmd;
 +import 
org.apache.cloudstack.api.command.user.autoscale.DeleteAutoScalePolicyCmd;
 +import 
org.apache.cloudstack.api.command.user.autoscale.DeleteAutoScaleVmGroupCmd;
 +import 
org.apache.cloudstack.api.command.user.autoscale.DeleteAutoScaleVmProfileCmd;
 +import org.apache.cloudstack.api.command.user.autoscale.DeleteConditionCmd;
 +import 
org.apache.cloudstack.api.command.user.autoscale.DisableAutoScaleVmGroupCmd;
 +import 
org.apache.cloudstack.api.command.user.autoscale.EnableAutoScaleVmGroupCmd;
 +import 
org.apache.cloudstack.api.command.user.autoscale.ListAutoScalePoliciesCmd;
 +import 
org.apache.cloudstack.api.command.user.autoscale.ListAutoScaleVmGroupsCmd;
 +import 
org.apache.cloudstack.api.command.user.autoscale.ListAutoScaleVmProfilesCmd;
 +import org.apache.cloudstack.api.command.user.autoscale.ListConditionsCmd;
 +import org.apache.cloudstack.api.command.user.autoscale.ListCountersCmd;
 +import 
org.apache.cloudstack.api.command.user.autoscale.UpdateAutoScalePolicyCmd;
 +import 
org.apache.cloudstack.api.command.user.autoscale.UpdateAutoScaleVmGroupCmd;
 +import 
org.apache.cloudstack.api.command.user.autoscale.UpdateAutoScaleVmProfileCmd;
 +import org.apache.cloudstack.api.command.user.config.ListCapabilitiesCmd;
 +import org.apache.cloudstack.api.command.user.event.ArchiveEventsCmd;
 +import org.apache.cloudstack.api.command.user.event.DeleteEventsCmd;
 +import org.apache.cloudstack.api.command.user.event.ListEventTypesCmd;
 +import org.apache.cloudstack.api.command.user.event.ListEventsCmd;
 +import 
org.apache.cloudstack.api.command.user.firewall.CreateEgressFirewallRuleCmd;
 +import org.apache.cloudstack.api.command.user.firewall.CreateFirewallRuleCmd;
 +import 
org.apache.cloudstack.api.command.user.firewall.CreatePortForwardingRuleCmd;
 +import 
org.apache.cloudstack.api.command.user.firewall.DeleteEgressFirewallRuleCmd;
 +import org.apache.cloudstack.api.command.user.firewall.DeleteFirewallRuleCmd;
 +import 
org.apache.cloudstack.api.command.user.firewall.DeletePortForwardingRuleCmd;
 +import 
org.apache.cloudstack.api.command.user.firewall.ListEgressFirewallRulesCmd;
 +import org.apache.cloudstack.api.command.user.firewall.ListFirewallRulesCmd;
 +import 
org.apache.cloudstack.api.command.user.firewall.ListPortForwardingRulesCmd;
 +import 
org.apache.cloudstack.api.command.user.firewall.UpdatePortForwardingRuleCmd;
 +import org.apache.cloudstack.api.command.user.guest.ListGuestOsCategoriesCmd;
 +import org.apache.cloudstack.api.command.user.guest.ListGuestOsCmd;
 +import org.apache.cloudstack.api.command.user.iso.AttachIsoCmd;
 +import org.apache.cloudstack.api.command.user.iso.CopyIsoCmd;
 +import org.apache.cloudstack.api.command.user.iso.DeleteIsoCmd;
 +import org.apache.cloudstack.api.command.user.iso.DetachIsoCmd;
 +import org.apache.cloudstack.api.command.user.iso.ExtractIsoCmd;
 +import org.apache.cloudstack.api.command.user.iso.ListIsoPermissionsCmd;
 +import org.apache.cloudstack.api.command.user.iso.ListIsosCmd;
 +import org.apache.cloudstack.api.command.user.iso.RegisterIsoCmd;
 +import org.apache.cloudstack.api.command.user.iso.UpdateIsoCmd;
 +import org.apache.cloudstack.api.command.user.iso.UpdateIsoPermissionsCmd;
 +import org.apache.cloudstack.api.command.user.job.ListAsyncJobsCmd;
 +import org.apache.cloudstack.api.command.user.job.QueryAsyncJobResultCmd;
 +import 
org.apache.cloudstack.api.command.user.loadbalancer.AssignToLoadBalancerRuleCmd;
 +import 
org.apache.cloudstack.api.command.user.loadbalancer.CreateApplicationLoadBalancerCmd;
 +import 
org.apache.cloudstack.api.command.user.loadbalancer.CreateLBHealthCheckPolicyCmd;
 +import 
org.apache.cloudstack.api.command.user.loadbalancer.CreateLBStickinessPolicyCmd;
 +import 
org.apache.cloudstack.api.command.user.loadbalancer.CreateLoadBalancerRuleCmd;
 +import 
org.apache.cloudstack.api.command.user.loadbalancer.DeleteApplicationLoadBalancerCmd;
 +import 
org.apache.cloudstack.api.command.user.loadbalancer.DeleteLBHealthCheckPolicyCmd;
 +import 
org.apache.cloudstack.api.command.user.loadbalancer.DeleteLBStickinessPolicyCmd;
 +import 
org.apache.cloudstack.api.command.user.loadbalancer.DeleteLoadBalancerRuleCmd;
 +import 
org.apache.cloudstack.api.command.user.loadbalancer.ListApplicationLoadBalancersCmd;
 +import 
org.apache.cloudstack.api.command.user.loadbalancer.ListLBHealthCheckPoliciesCmd;
 +import 
org.apache.cloudstack.api.command.user.loadbalancer.ListLBStickinessPoliciesCmd;
 +import 
org.apache.cloudstack.api.command.user.loadbalancer.ListLoadBalancerRuleInstancesCmd;
 +import 
org.apache.cloudstack.api.command.user.loadbalancer.ListLoadBalancerRulesCmd;
 +import 
org.apache.cloudstack.api.command.user.loadbalancer.RemoveFromLoadBalancerRuleCmd;
 +import 
org.apache.cloudstack.api.command.user.loadbalancer.UpdateLoadBalancerRuleCmd;
 +import org.apache.cloudstack.api.command.user.nat.CreateIpForwardingRuleCmd;
 +import org.apache.cloudstack.api.command.user.nat.DeleteIpForwardingRuleCmd;
 +import org.apache.cloudstack.api.command.user.nat.DisableStaticNatCmd;
 +import org.apache.cloudstack.api.command.user.nat.EnableStaticNatCmd;
 +import org.apache.cloudstack.api.command.user.nat.ListIpForwardingRulesCmd;
 +import org.apache.cloudstack.api.command.user.network.CreateNetworkACLCmd;
 +import org.apache.cloudstack.api.command.user.network.CreateNetworkCmd;
 +import org.apache.cloudstack.api.command.user.network.DeleteNetworkACLCmd;
 +import org.apache.cloudstack.api.command.user.network.DeleteNetworkCmd;
 +import org.apache.cloudstack.api.command.user.network.ListNetworkACLsCmd;
 +import org.apache.cloudstack.api.command.user.network.ListNetworkOfferingsCmd;
 +import org.apache.cloudstack.api.command.user.network.ListNetworksCmd;
 +import org.apache.cloudstack.api.command.user.network.RestartNetworkCmd;
 +import org.apache.cloudstack.api.command.user.network.UpdateNetworkCmd;
 +import org.apache.cloudstack.api.command.user.offering.ListDiskOfferingsCmd;
 +import 
org.apache.cloudstack.api.command.user.offering.ListServiceOfferingsCmd;
 +import org.apache.cloudstack.api.command.user.project.ActivateProjectCmd;
 +import org.apache.cloudstack.api.command.user.project.CreateProjectCmd;
 +import org.apache.cloudstack.api.command.user.project.DeleteProjectCmd;
 +import 
org.apache.cloudstack.api.command.user.project.DeleteProjectInvitationCmd;
 +import 
org.apache.cloudstack.api.command.user.project.ListProjectInvitationsCmd;
 +import org.apache.cloudstack.api.command.user.project.ListProjectsCmd;
 +import org.apache.cloudstack.api.command.user.project.SuspendProjectCmd;
 +import org.apache.cloudstack.api.command.user.project.UpdateProjectCmd;
 +import 
org.apache.cloudstack.api.command.user.project.UpdateProjectInvitationCmd;
 +import org.apache.cloudstack.api.command.user.region.ListRegionsCmd;
 +import 
org.apache.cloudstack.api.command.user.region.ha.gslb.AssignToGlobalLoadBalancerRuleCmd;
 +import 
org.apache.cloudstack.api.command.user.region.ha.gslb.CreateGlobalLoadBalancerRuleCmd;
 +import 
org.apache.cloudstack.api.command.user.region.ha.gslb.DeleteGlobalLoadBalancerRuleCmd;
 +import 
org.apache.cloudstack.api.command.user.region.ha.gslb.ListGlobalLoadBalancerRuleCmd;
 +import 
org.apache.cloudstack.api.command.user.region.ha.gslb.RemoveFromGlobalLoadBalancerRuleCmd;
 +import org.apache.cloudstack.api.command.user.resource.GetCloudIdentifierCmd;
 +import org.apache.cloudstack.api.command.user.resource.ListHypervisorsCmd;
 +import org.apache.cloudstack.api.command.user.resource.ListResourceLimitsCmd;
 +import org.apache.cloudstack.api.command.user.resource.UpdateResourceCountCmd;
 +import org.apache.cloudstack.api.command.user.resource.UpdateResourceLimitCmd;
 +import 
org.apache.cloudstack.api.command.user.securitygroup.AuthorizeSecurityGroupEgressCmd;
 +import 
org.apache.cloudstack.api.command.user.securitygroup.AuthorizeSecurityGroupIngressCmd;
 +import 
org.apache.cloudstack.api.command.user.securitygroup.CreateSecurityGroupCmd;
 +import 
org.apache.cloudstack.api.command.user.securitygroup.DeleteSecurityGroupCmd;
 +import 
org.apache.cloudstack.api.command.user.securitygroup.ListSecurityGroupsCmd;
 +import 
org.apache.cloudstack.api.command.user.securitygroup.RevokeSecurityGroupEgressCmd;
 +import 
org.apache.cloudstack.api.command.user.securitygroup.RevokeSecurityGroupIngressCmd;
 +import org.apache.cloudstack.api.command.user.snapshot.CreateSnapshotCmd;
 +import 
org.apache.cloudstack.api.command.user.snapshot.CreateSnapshotPolicyCmd;
 +import org.apache.cloudstack.api.command.user.snapshot.DeleteSnapshotCmd;
 +import 
org.apache.cloudstack.api.command.user.snapshot.DeleteSnapshotPoliciesCmd;
 +import 
org.apache.cloudstack.api.command.user.snapshot.ListSnapshotPoliciesCmd;
 +import org.apache.cloudstack.api.command.user.snapshot.ListSnapshotsCmd;
 +import org.apache.cloudstack.api.command.user.ssh.CreateSSHKeyPairCmd;
 +import org.apache.cloudstack.api.command.user.ssh.DeleteSSHKeyPairCmd;
 +import org.apache.cloudstack.api.command.user.ssh.ListSSHKeyPairsCmd;
 +import org.apache.cloudstack.api.command.user.ssh.RegisterSSHKeyPairCmd;
 +import org.apache.cloudstack.api.command.user.tag.CreateTagsCmd;
 +import org.apache.cloudstack.api.command.user.tag.DeleteTagsCmd;
 +import org.apache.cloudstack.api.command.user.tag.ListTagsCmd;
 +import org.apache.cloudstack.api.command.user.template.CopyTemplateCmd;
 +import org.apache.cloudstack.api.command.user.template.CreateTemplateCmd;
 +import org.apache.cloudstack.api.command.user.template.DeleteTemplateCmd;
 +import org.apache.cloudstack.api.command.user.template.ExtractTemplateCmd;
 +import 
org.apache.cloudstack.api.command.user.template.ListTemplatePermissionsCmd;
 +import org.apache.cloudstack.api.command.user.template.ListTemplatesCmd;
 +import org.apache.cloudstack.api.command.user.template.RegisterTemplateCmd;
 +import org.apache.cloudstack.api.command.user.template.UpdateTemplateCmd;
 +import 
org.apache.cloudstack.api.command.user.template.UpdateTemplatePermissionsCmd;
 +import org.apache.cloudstack.api.command.user.vm.AddIpToVmNicCmd;
 +import org.apache.cloudstack.api.command.user.vm.AddNicToVMCmd;
 +import org.apache.cloudstack.api.command.user.vm.DeployVMCmd;
 +import org.apache.cloudstack.api.command.user.vm.DestroyVMCmd;
 +import org.apache.cloudstack.api.command.user.vm.GetVMPasswordCmd;
 +import org.apache.cloudstack.api.command.user.vm.ListNicsCmd;
 +import org.apache.cloudstack.api.command.user.vm.ListVMsCmd;
 +import org.apache.cloudstack.api.command.user.vm.RebootVMCmd;
 +import org.apache.cloudstack.api.command.user.vm.RemoveIpFromVmNicCmd;
 +import org.apache.cloudstack.api.command.user.vm.RemoveNicFromVMCmd;
 +import org.apache.cloudstack.api.command.user.vm.ResetVMPasswordCmd;
 +import org.apache.cloudstack.api.command.user.vm.ResetVMSSHKeyCmd;
 +import org.apache.cloudstack.api.command.user.vm.RestoreVMCmd;
 +import org.apache.cloudstack.api.command.user.vm.ScaleVMCmd;
 +import org.apache.cloudstack.api.command.user.vm.StartVMCmd;
 +import org.apache.cloudstack.api.command.user.vm.StopVMCmd;
 +import org.apache.cloudstack.api.command.user.vm.UpdateDefaultNicForVMCmd;
 +import org.apache.cloudstack.api.command.user.vm.UpdateVMCmd;
 +import org.apache.cloudstack.api.command.user.vm.UpgradeVMCmd;
 +import org.apache.cloudstack.api.command.user.vmgroup.CreateVMGroupCmd;
 +import org.apache.cloudstack.api.command.user.vmgroup.DeleteVMGroupCmd;
 +import org.apache.cloudstack.api.command.user.vmgroup.ListVMGroupsCmd;
 +import org.apache.cloudstack.api.command.user.vmgroup.UpdateVMGroupCmd;
 +import org.apache.cloudstack.api.command.user.vmsnapshot.CreateVMSnapshotCmd;
 +import org.apache.cloudstack.api.command.user.vmsnapshot.DeleteVMSnapshotCmd;
 +import org.apache.cloudstack.api.command.user.vmsnapshot.ListVMSnapshotCmd;
- import org.apache.cloudstack.api.command.user.vmsnapshot.RevertToSnapshotCmd;
 +import org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd;
 +import org.apache.cloudstack.api.command.user.volume.CreateVolumeCmd;
 +import org.apache.cloudstack.api.command.user.volume.DeleteVolumeCmd;
 +import org.apache.cloudstack.api.command.user.volume.DetachVolumeCmd;
 +import org.apache.cloudstack.api.command.user.volume.ExtractVolumeCmd;
 +import org.apache.cloudstack.api.command.user.volume.ListVolumesCmd;
 +import org.apache.cloudstack.api.command.user.volume.MigrateVolumeCmd;
 +import org.apache.cloudstack.api.command.user.volume.ResizeVolumeCmd;
 +import org.apache.cloudstack.api.command.user.volume.UploadVolumeCmd;
 +import org.apache.cloudstack.api.command.user.vpc.CreateStaticRouteCmd;
 +import org.apache.cloudstack.api.command.user.vpc.CreateVPCCmd;
 +import org.apache.cloudstack.api.command.user.vpc.DeleteStaticRouteCmd;
 +import org.apache.cloudstack.api.command.user.vpc.DeleteVPCCmd;
 +import org.apache.cloudstack.api.command.user.vpc.ListPrivateGatewaysCmd;
 +import org.apache.cloudstack.api.command.user.vpc.ListStaticRoutesCmd;
 +import org.apache.cloudstack.api.command.user.vpc.ListVPCOfferingsCmd;
 +import org.apache.cloudstack.api.command.user.vpc.ListVPCsCmd;
 +import org.apache.cloudstack.api.command.user.vpc.RestartVPCCmd;
 +import org.apache.cloudstack.api.command.user.vpc.UpdateVPCCmd;
 +import org.apache.cloudstack.api.command.user.vpn.AddVpnUserCmd;
 +import org.apache.cloudstack.api.command.user.vpn.CreateRemoteAccessVpnCmd;
 +import org.apache.cloudstack.api.command.user.vpn.CreateVpnConnectionCmd;
 +import org.apache.cloudstack.api.command.user.vpn.CreateVpnCustomerGatewayCmd;
 +import org.apache.cloudstack.api.command.user.vpn.CreateVpnGatewayCmd;
 +import org.apache.cloudstack.api.command.user.vpn.DeleteRemoteAccessVpnCmd;
 +import org.apache.cloudstack.api.command.user.vpn.DeleteVpnConnectionCmd;
 +import org.apache.cloudstack.api.command.user.vpn.DeleteVpnCustomerGatewayCmd;
 +import org.apache.cloudstack.api.command.user.vpn.DeleteVpnGatewayCmd;
 +import org.apache.cloudstack.api.command.user.vpn.ListRemoteAccessVpnsCmd;
 +import org.apache.cloudstack.api.command.user.vpn.ListVpnConnectionsCmd;
 +import org.apache.cloudstack.api.command.user.vpn.ListVpnCustomerGatewaysCmd;
 +import org.apache.cloudstack.api.command.user.vpn.ListVpnGatewaysCmd;
 +import org.apache.cloudstack.api.command.user.vpn.ListVpnUsersCmd;
 +import org.apache.cloudstack.api.command.user.vpn.RemoveVpnUserCmd;
 +import org.apache.cloudstack.api.command.user.vpn.ResetVpnConnectionCmd;
 +import org.apache.cloudstack.api.command.user.vpn.UpdateVpnCustomerGatewayCmd;
 +import org.apache.cloudstack.api.command.user.zone.ListZonesByCmd;
 +import org.apache.cloudstack.api.response.ExtractResponse;
 +import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
 +import 
org.apache.cloudstack.engine.subsystem.api.storage.StoragePoolAllocator;
 +import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
 +import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
 +import org.apache.commons.codec.binary.Base64;
 +import org.apache.log4j.Logger;
 +
  import com.cloud.agent.AgentManager;
  import com.cloud.agent.api.GetVncPortAnswer;
  import com.cloud.agent.api.GetVncPortCommand;
@@@ -555,27 -183,86 +556,102 @@@ import com.cloud.utils.exception.CloudR
  import com.cloud.utils.net.MacAddress;
  import com.cloud.utils.net.NetUtils;
  import com.cloud.utils.ssh.SSHKeysHelper;
 -import com.cloud.vm.*;
 +import com.cloud.vm.ConsoleProxyVO;
 +import com.cloud.vm.DiskProfile;
 +import com.cloud.vm.InstanceGroupVO;
 +import com.cloud.vm.SecondaryStorageVmVO;
 +import com.cloud.vm.UserVmVO;
 +import com.cloud.vm.VMInstanceVO;
 +import com.cloud.vm.VirtualMachine;
  import com.cloud.vm.VirtualMachine.State;
 -import com.cloud.vm.dao.*;
 +import com.cloud.vm.VirtualMachineManager;
 +import com.cloud.vm.VirtualMachineProfile;
 +import com.cloud.vm.VirtualMachineProfileImpl;
 +import com.cloud.vm.dao.ConsoleProxyDao;
 +import com.cloud.vm.dao.DomainRouterDao;
 +import com.cloud.vm.dao.InstanceGroupDao;
 +import com.cloud.vm.dao.SecondaryStorageVmDao;
 +import com.cloud.vm.dao.UserVmDao;
 +import com.cloud.vm.dao.VMInstanceDao;
 +
  import edu.emory.mathcs.backport.java.util.Arrays;
  import edu.emory.mathcs.backport.java.util.Collections;
+ import org.apache.cloudstack.acl.ControlledEntity;
+ import org.apache.cloudstack.api.command.admin.autoscale.CreateCounterCmd;
+ import org.apache.cloudstack.api.command.admin.autoscale.DeleteCounterCmd;
+ import org.apache.cloudstack.api.command.admin.cluster.AddClusterCmd;
+ import org.apache.cloudstack.api.command.admin.cluster.DeleteClusterCmd;
+ import org.apache.cloudstack.api.command.admin.cluster.ListClustersCmd;
+ import org.apache.cloudstack.api.command.admin.cluster.UpdateClusterCmd;
+ import org.apache.cloudstack.api.command.admin.config.ListCfgsByCmd;
+ import 
org.apache.cloudstack.api.command.admin.config.ListHypervisorCapabilitiesCmd;
+ import org.apache.cloudstack.api.command.admin.config.UpdateCfgCmd;
+ import 
org.apache.cloudstack.api.command.admin.config.UpdateHypervisorCapabilitiesCmd;
+ import org.apache.cloudstack.api.command.admin.ldap.LDAPConfigCmd;
+ import org.apache.cloudstack.api.command.admin.ldap.LDAPRemoveCmd;
+ import org.apache.cloudstack.api.command.admin.pod.CreatePodCmd;
+ import org.apache.cloudstack.api.command.admin.pod.DeletePodCmd;
+ import org.apache.cloudstack.api.command.admin.pod.ListPodsByCmd;
+ import org.apache.cloudstack.api.command.admin.pod.UpdatePodCmd;
+ import org.apache.cloudstack.api.command.admin.region.AddRegionCmd;
+ import org.apache.cloudstack.api.command.admin.region.RemoveRegionCmd;
+ import org.apache.cloudstack.api.command.admin.region.UpdateRegionCmd;
+ import org.apache.cloudstack.api.command.admin.swift.AddSwiftCmd;
+ import org.apache.cloudstack.api.command.admin.swift.ListSwiftsCmd;
+ import org.apache.cloudstack.api.command.admin.template.PrepareTemplateCmd;
+ import org.apache.cloudstack.api.command.admin.vlan.CreateVlanIpRangeCmd;
+ import org.apache.cloudstack.api.command.admin.vlan.DeleteVlanIpRangeCmd;
+ import org.apache.cloudstack.api.command.admin.vlan.ListVlanIpRangesCmd;
+ import org.apache.cloudstack.api.command.admin.vm.AssignVMCmd;
+ import org.apache.cloudstack.api.command.admin.vm.MigrateVMCmd;
+ import 
org.apache.cloudstack.api.command.admin.vm.MigrateVirtualMachineWithVolumeCmd;
+ import org.apache.cloudstack.api.command.admin.vm.RecoverVMCmd;
+ import org.apache.cloudstack.api.command.admin.zone.CreateZoneCmd;
+ import org.apache.cloudstack.api.command.admin.zone.DeleteZoneCmd;
+ import 
org.apache.cloudstack.api.command.admin.zone.MarkDefaultZoneForAccountCmd;
+ import org.apache.cloudstack.api.command.admin.zone.UpdateZoneCmd;
+ import org.apache.cloudstack.api.command.user.account.AddAccountToProjectCmd;
+ import 
org.apache.cloudstack.api.command.user.account.DeleteAccountFromProjectCmd;
+ import org.apache.cloudstack.api.command.user.account.ListAccountsCmd;
+ import org.apache.cloudstack.api.command.user.account.ListProjectAccountsCmd;
+ import org.apache.cloudstack.api.command.user.address.AssociateIPAddrCmd;
+ import org.apache.cloudstack.api.command.user.address.DisassociateIPAddrCmd;
+ import 
org.apache.cloudstack.api.command.user.address.ListPublicIpAddressesCmd;
+ import org.apache.cloudstack.api.command.user.config.ListCapabilitiesCmd;
+ import org.apache.cloudstack.api.command.user.event.ArchiveEventsCmd;
+ import org.apache.cloudstack.api.command.user.event.DeleteEventsCmd;
+ import org.apache.cloudstack.api.command.user.event.ListEventTypesCmd;
+ import org.apache.cloudstack.api.command.user.event.ListEventsCmd;
+ import org.apache.cloudstack.api.command.user.guest.ListGuestOsCategoriesCmd;
+ import org.apache.cloudstack.api.command.user.guest.ListGuestOsCmd;
+ import org.apache.cloudstack.api.command.user.job.ListAsyncJobsCmd;
+ import org.apache.cloudstack.api.command.user.job.QueryAsyncJobResultCmd;
+ import org.apache.cloudstack.api.command.user.offering.ListDiskOfferingsCmd;
+ import 
org.apache.cloudstack.api.command.user.offering.ListServiceOfferingsCmd;
+ import org.apache.cloudstack.api.command.user.region.ListRegionsCmd;
+ import org.apache.cloudstack.api.command.user.region.ha.gslb.*;
+ import org.apache.cloudstack.api.command.user.ssh.CreateSSHKeyPairCmd;
+ import org.apache.cloudstack.api.command.user.ssh.DeleteSSHKeyPairCmd;
+ import org.apache.cloudstack.api.command.user.ssh.ListSSHKeyPairsCmd;
+ import org.apache.cloudstack.api.command.user.ssh.RegisterSSHKeyPairCmd;
+ import org.apache.cloudstack.api.command.user.tag.CreateTagsCmd;
+ import org.apache.cloudstack.api.command.user.tag.DeleteTagsCmd;
+ import org.apache.cloudstack.api.command.user.tag.ListTagsCmd;
+ import org.apache.cloudstack.api.command.user.vmgroup.CreateVMGroupCmd;
+ import org.apache.cloudstack.api.command.user.vmgroup.DeleteVMGroupCmd;
+ import org.apache.cloudstack.api.command.user.vmgroup.ListVMGroupsCmd;
+ import org.apache.cloudstack.api.command.user.vmgroup.UpdateVMGroupCmd;
+ import org.apache.cloudstack.api.command.user.vmsnapshot.CreateVMSnapshotCmd;
+ import org.apache.cloudstack.api.command.user.vmsnapshot.DeleteVMSnapshotCmd;
+ import org.apache.cloudstack.api.command.user.vmsnapshot.ListVMSnapshotCmd;
+ import 
org.apache.cloudstack.api.command.user.vmsnapshot.RevertToVMSnapshotCmd;
+ import org.apache.cloudstack.api.command.user.zone.ListZonesByCmd;
+ import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
+ import 
org.apache.cloudstack.engine.subsystem.api.storage.StoragePoolAllocator;
+ import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
+ import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
+ 
 +
  public class ManagementServerImpl extends ManagerBase implements 
ManagementServer {
      public static final Logger s_logger = 
Logger.getLogger(ManagementServerImpl.class.getName());
  

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1cff6093/server/test/com/cloud/network/MockNetworkManagerImpl.java
----------------------------------------------------------------------
diff --cc server/test/com/cloud/network/MockNetworkManagerImpl.java
index 7321b0d,45562c6..409835c
--- a/server/test/com/cloud/network/MockNetworkManagerImpl.java
+++ b/server/test/com/cloud/network/MockNetworkManagerImpl.java
@@@ -64,16 -43,22 +64,24 @@@ import com.cloud.user.Account
  import com.cloud.user.User;
  import com.cloud.utils.Pair;
  import com.cloud.utils.component.ManagerBase;
- import com.cloud.vm.Nic;
- import com.cloud.vm.NicProfile;
- import com.cloud.vm.NicSecondaryIp;
- import com.cloud.vm.NicVO;
- import com.cloud.vm.ReservationContext;
- import com.cloud.vm.VMInstanceVO;
- import com.cloud.vm.VirtualMachine;
+ import com.cloud.vm.*;
  import com.cloud.vm.VirtualMachine.Type;
 +import com.cloud.vm.VirtualMachineProfile;
+ import org.apache.cloudstack.acl.ControlledEntity.ACLType;
+ import 
org.apache.cloudstack.api.command.admin.usage.ListTrafficTypeImplementorsCmd;
+ import org.apache.cloudstack.api.command.user.network.CreateNetworkCmd;
+ import org.apache.cloudstack.api.command.user.network.ListNetworksCmd;
+ import org.apache.cloudstack.api.command.user.network.RestartNetworkCmd;
+ import org.apache.cloudstack.api.command.user.vm.ListNicsCmd;
+ import org.springframework.stereotype.Component;
+ 
+ import javax.ejb.Local;
+ import javax.naming.ConfigurationException;
+ import java.util.List;
+ import java.util.Map;
+ import java.util.Set;
+ 
 +
  @Component
  @Local(value = { NetworkManager.class, NetworkService.class })
  public class MockNetworkManagerImpl extends ManagerBase implements 
NetworkManager, NetworkService {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1cff6093/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
----------------------------------------------------------------------
diff --cc server/test/com/cloud/vpc/MockNetworkManagerImpl.java
index 99e16eb,6689357..3745fd1
--- a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
+++ b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
@@@ -79,16 -47,24 +79,26 @@@ import com.cloud.user.Account
  import com.cloud.user.User;
  import com.cloud.utils.Pair;
  import com.cloud.utils.component.ManagerBase;
- import com.cloud.vm.Nic;
- import com.cloud.vm.NicProfile;
- import com.cloud.vm.NicSecondaryIp;
- import com.cloud.vm.NicVO;
- import com.cloud.vm.ReservationContext;
- import com.cloud.vm.VMInstanceVO;
- import com.cloud.vm.VirtualMachine;
+ import com.cloud.vm.*;
  import com.cloud.vm.VirtualMachine.Type;
 +import com.cloud.vm.VirtualMachineProfile;
+ import org.apache.cloudstack.acl.ControlledEntity.ACLType;
+ import 
org.apache.cloudstack.api.command.admin.usage.ListTrafficTypeImplementorsCmd;
+ import org.apache.cloudstack.api.command.user.network.CreateNetworkCmd;
+ import org.apache.cloudstack.api.command.user.network.ListNetworksCmd;
+ import org.apache.cloudstack.api.command.user.network.RestartNetworkCmd;
+ import org.apache.cloudstack.api.command.user.vm.ListNicsCmd;
+ import org.apache.log4j.Logger;
+ import org.springframework.stereotype.Component;
+ 
+ import javax.ejb.Local;
+ import javax.inject.Inject;
+ import javax.naming.ConfigurationException;
+ import java.util.HashMap;
+ import java.util.List;
+ import java.util.Map;
+ 
 +
  @Component
  @Local(value = { NetworkManager.class, NetworkService.class })
  public class MockNetworkManagerImpl extends ManagerBase implements 
NetworkManager, NetworkService {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1cff6093/setup/db/db/schema-410to420.sql
----------------------------------------------------------------------

Reply via email to