You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ts...@apache.org on 2013/04/09 15:21:27 UTC

[50/50] [abbrv] git commit: updated refs/heads/marvin_refactor to 2a99064

Merge branch 'marvin-refactor' into marvin_refactor

rebase hell.

Conflicts:
	client/pom.xml
	client/tomcatconf/applicationContext.xml.in
	client/tomcatconf/componentContext.xml.in
	client/tomcatconf/nonossComponentContext.xml.in
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/NetworkModelImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/user/AccountManagerImpl.java
	server/src/com/cloud/vm/dao/NicDao.java
	setup/db/db/schema-410to420-cleanup.sql
	tools/cli/cloudmonkey/cloudmonkey.py
	tools/marvin/marvin/TestCaseExecuteEngine.py
	tools/marvin/pom.xml
	tools/marvin/setup.py
	ui/scripts/cloud.core.callbacks.js
	ui/scripts/cloudStack.js
	ui/scripts/regions.js
	ui/scripts/system.js
	ui/scripts/ui-custom/regions.js


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

Branch: refs/heads/marvin_refactor
Commit: 2a9906424d8d6df316c0f197f20c36e5cc476b7f
Parents: 9180bd5 cbc5ffa
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Tue Apr 9 18:49:18 2013 +0530
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Tue Apr 9 18:49:27 2013 +0530

----------------------------------------------------------------------
 api/src/com/cloud/network/vpc/Vpc.java             |   26 +-
 api/src/com/cloud/network/vpc/VpcOffering.java     |   10 +-
 .../cloud/network/vpc/VpcProvisioningService.java  |   10 +-
 api/src/com/cloud/network/vpc/VpcService.java      |   74 +-
 .../api/command/user/network/UpdateNetworkCmd.java |    2 +-
 .../command/user/template/DeleteTemplateCmd.java   |    4 +-
 .../command/user/template/ExtractTemplateCmd.java  |    4 +-
 .../api/response/RemoteAccessVpnResponse.java      |    7 +
 awsapi/conf/applicationContext.xml.in              |    4 +-
 .../vmware/manager/VmwareStorageManagerImpl.java   |    2 +-
 pom.xml                                            |    8 +-
 .../xenserver/Add-To-VCPUs-Params-Live.sh          |    1 -
 server/pom.xml                                     |    2 +-
 .../network/ExternalFirewallDeviceManagerImpl.java |    2 +-
 .../src/com/cloud/network/NetworkServiceImpl.java  |    6 +
 .../com/cloud/network/dao/RemoteAccessVpnVO.java   |    6 +-
 .../com/cloud/network/guru/DirectNetworkGuru.java  |   10 +-
 .../network/guru/DirectPodBasedNetworkGuru.java    |    8 +-
 .../router/VpcVirtualNetworkApplianceManager.java  |    2 +-
 server/src/com/cloud/network/vpc/VpcManager.java   |   26 +-
 .../src/com/cloud/network/vpc/VpcManagerImpl.java  |   10 +-
 .../network/vpn/RemoteAccessVpnManagerImpl.java    |    6 +-
 .../src/com/cloud/server/ManagementServerImpl.java |   16 +
 .../src/com/cloud/storage/VolumeManagerImpl.java   |  107 +-
 server/src/com/cloud/upgrade/DatabaseCreator.java  |   10 +-
 .../src/com/cloud/upgrade/dao/Upgrade410to420.java |    8 +-
 server/test/com/cloud/vpc/MockVpcManagerImpl.java  |    2 +-
 .../networkoffering/CreateNetworkOfferingTest.java |   40 +-
 .../resources/SecurityGroupManagerTestContext.xml  |   18 +-
 server/test/resources/SnapshotDaoTestContext.xml   |   22 +-
 .../test/resources/StoragePoolDaoTestContext.xml   |   22 +-
 server/test/resources/VpcApiUnitTestContext.xml    |   22 +-
 server/test/resources/VpcTestContext.xml           |   24 +-
 server/test/resources/createNetworkOffering.xml    |   92 +-
 server/test/resources/testContext.xml              |   20 +-
 test/integration/smoke/test_ScaleVm.py             |   26 +-
 tools/apidoc/gen_toc.py                            |    1 +
 tools/appliance/definitions/devcloud/cleanup.sh    |    1 -
 tools/marvin/marvin/integration/lib/base.py        | 2426 -
 .../marvin/marvin/integration/lib/base/Account.py  |  103 +
 tools/marvin/marvin/integration/lib/base/Alerts.py |   42 +
 .../marvin/marvin/integration/lib/base/ApiLimit.py |   42 +
 tools/marvin/marvin/integration/lib/base/Apis.py   |   33 +
 .../marvin/integration/lib/base/AsyncJobResult.py  |   34 +
 .../marvin/integration/lib/base/AsyncJobs.py       |   33 +
 .../marvin/integration/lib/base/AutoScalePolicy.py |   62 +
 .../integration/lib/base/AutoScaleVmGroup.py       |   83 +
 .../integration/lib/base/AutoScaleVmProfile.py     |   63 +
 .../integration/lib/base/BigSwitchVnsDevice.py     |   54 +
 .../marvin/integration/lib/base/Capabilities.py    |   33 +
 .../marvin/marvin/integration/lib/base/Capacity.py |   33 +
 .../marvin/integration/lib/base/CloudIdentifier.py |   34 +
 .../integration/lib/base/CloudStackEntity.py       |   25 +
 .../marvin/marvin/integration/lib/base/Cluster.py  |   67 +
 .../marvin/integration/lib/base/Condition.py       |   53 +
 .../marvin/integration/lib/base/Configuration.py   |   43 +
 .../marvin/marvin/integration/lib/base/Counter.py  |   53 +
 .../integration/lib/base/CustomCertificate.py      |   35 +
 .../marvin/integration/lib/base/DiskOffering.py    |   63 +
 tools/marvin/marvin/integration/lib/base/Domain.py |   63 +
 .../marvin/integration/lib/base/DomainChildren.py  |   33 +
 .../integration/lib/base/EgressFirewallRule.py     |   53 +
 .../marvin/integration/lib/base/EventTypes.py      |   33 +
 tools/marvin/marvin/integration/lib/base/Events.py |   42 +
 .../marvin/integration/lib/base/FirewallRule.py    |   53 +
 .../integration/lib/base/GlobalLoadBalancerRule.py |   80 +
 tools/marvin/marvin/integration/lib/base/Host.py   |  107 +
 .../integration/lib/base/HypervisorCapabilities.py |   42 +
 .../marvin/integration/lib/base/Hypervisors.py     |   33 +
 .../marvin/integration/lib/base/InstanceGroup.py   |   63 +
 .../marvin/integration/lib/base/IpAddress.py       |   43 +
 .../integration/lib/base/IpForwardingRule.py       |   53 +
 tools/marvin/marvin/integration/lib/base/Iso.py    |  110 +
 .../marvin/integration/lib/base/IsoPermissions.py  |   44 +
 .../integration/lib/base/LBHealthCheckPolicy.py    |   53 +
 .../integration/lib/base/LBStickinessPolicy.py     |   55 +
 tools/marvin/marvin/integration/lib/base/Ldap.py   |   42 +
 .../integration/lib/base/LoadBalancerRule.py       |   93 +
 .../marvin/marvin/integration/lib/base/Network.py  |   73 +
 .../marvin/integration/lib/base/NetworkACL.py      |   53 +
 .../marvin/integration/lib/base/NetworkDevice.py   |   52 +
 .../marvin/integration/lib/base/NetworkOffering.py |   62 +
 .../integration/lib/base/NetworkServiceProvider.py |   64 +
 tools/marvin/marvin/integration/lib/base/Nic.py    |   56 +
 .../marvin/integration/lib/base/NiciraNvpDevice.py |   66 +
 .../marvin/integration/lib/base/OsCategories.py    |   33 +
 .../marvin/marvin/integration/lib/base/OsTypes.py  |   33 +
 .../marvin/integration/lib/base/PhysicalNetwork.py |   61 +
 tools/marvin/marvin/integration/lib/base/Pod.py    |   61 +
 .../integration/lib/base/PortForwardingRule.py     |   65 +
 .../marvin/integration/lib/base/PrivateGateway.py  |   52 +
 .../marvin/marvin/integration/lib/base/Project.py  |  107 +
 .../integration/lib/base/ProjectInvitation.py      |   53 +
 .../integration/lib/base/PublicIpAddresses.py      |   33 +
 tools/marvin/marvin/integration/lib/base/Region.py |   65 +
 .../marvin/integration/lib/base/RemoteAccessVpn.py |   54 +
 .../marvin/integration/lib/base/ResourceCount.py   |   34 +
 .../marvin/integration/lib/base/ResourceLimit.py   |   43 +
 tools/marvin/marvin/integration/lib/base/Router.py |   73 +
 tools/marvin/marvin/integration/lib/base/S3.py     |   45 +
 .../marvin/integration/lib/base/SSHKeyPair.py      |   64 +
 .../integration/lib/base/SecondaryStorage.py       |   34 +
 .../marvin/integration/lib/base/SecurityGroup.py   |   82 +
 .../integration/lib/base/ServiceForRouter.py       |   35 +
 .../integration/lib/base/ServiceForSystemVm.py     |   35 +
 .../lib/base/ServiceForVirtualMachine.py           |   35 +
 .../marvin/integration/lib/base/ServiceOffering.py |   63 +
 .../marvin/integration/lib/base/Simulator.py       |   35 +
 .../marvin/marvin/integration/lib/base/Snapshot.py |   52 +
 .../marvin/integration/lib/base/SnapshotPolicy.py  |   52 +
 .../marvin/integration/lib/base/StaticNat.py       |   45 +
 .../marvin/integration/lib/base/StaticRoute.py     |   53 +
 .../integration/lib/base/StorageNetworkIpRange.py  |   63 +
 .../marvin/integration/lib/base/StoragePool.py     |   81 +
 .../integration/lib/base/StorageProviders.py       |   33 +
 .../lib/base/SupportedNetworkServices.py           |   33 +
 tools/marvin/marvin/integration/lib/base/Swift.py  |   43 +
 .../marvin/marvin/integration/lib/base/SystemVm.py |   84 +
 tools/marvin/marvin/integration/lib/base/Tags.py   |   54 +
 .../marvin/marvin/integration/lib/base/Template.py |  114 +
 .../integration/lib/base/TemplatePermissions.py    |   44 +
 .../marvin/integration/lib/base/TrafficMonitor.py  |   55 +
 .../marvin/integration/lib/base/TrafficType.py     |   65 +
 .../lib/base/TrafficTypeImplementors.py            |   33 +
 .../marvin/integration/lib/base/UsageRecords.py    |   46 +
 .../marvin/integration/lib/base/UsageTypes.py      |   33 +
 tools/marvin/marvin/integration/lib/base/User.py   |  112 +
 .../marvin/integration/lib/base/VMPassword.py      |   34 +
 .../marvin/integration/lib/base/VMSnapshot.py      |   53 +
 tools/marvin/marvin/integration/lib/base/VPC.py    |   71 +
 .../marvin/integration/lib/base/VPCOffering.py     |   62 +
 .../marvin/integration/lib/base/VirtualMachine.py  |  178 +
 .../integration/lib/base/VirtualRouterElement.py   |   54 +
 .../marvin/integration/lib/base/VlanIpRange.py     |   53 +
 tools/marvin/marvin/integration/lib/base/Volume.py |  109 +
 .../marvin/integration/lib/base/VpnConnection.py   |   63 +
 .../integration/lib/base/VpnCustomerGateway.py     |   68 +
 .../marvin/integration/lib/base/VpnGateway.py      |   53 +
 .../marvin/marvin/integration/lib/base/VpnUser.py  |   54 +
 tools/marvin/marvin/integration/lib/base/Zone.py   |   63 +
 .../marvin/marvin/integration/lib/base/__init__.py |   16 +
 .../integration/lib/factory/AccountFactory.py      |   45 +
 .../lib/factory/AccountFromProjectFactory.py       |    8 +
 .../lib/factory/AccountToProjectFactory.py         |    7 +
 .../integration/lib/factory/AlertsFactory.py       |    5 +
 .../marvin/integration/lib/factory/ApisFactory.py  |    5 +
 .../lib/factory/AsyncJobResultFactory.py           |    7 +
 .../integration/lib/factory/AsyncJobsFactory.py    |    5 +
 .../lib/factory/AutoScalePoliciesFactory.py        |    5 +
 .../lib/factory/AutoScalePolicyFactory.py          |   25 +
 .../lib/factory/AutoScaleVmGroupFactory.py         |   28 +
 .../lib/factory/AutoScaleVmProfileFactory.py       |   25 +
 .../integration/lib/factory/CapabilitiesFactory.py |    5 +
 .../integration/lib/factory/CapacityFactory.py     |    5 +
 .../lib/factory/CloudIdentifierFactory.py          |    7 +
 .../lib/factory/CloudStackBaseFactory.py           |   27 +
 .../integration/lib/factory/ClusterFactory.py      |   25 +
 .../integration/lib/factory/ConditionFactory.py    |   25 +
 .../integration/lib/factory/ConfigFactory.py       |    9 +
 .../lib/factory/ConfigurationFactory.py            |   11 +
 .../integration/lib/factory/CounterFactory.py      |   25 +
 .../lib/factory/CustomCertificateFactory.py        |    8 +
 .../lib/factory/DefaultZoneForAccountFactory.py    |    9 +
 .../integration/lib/factory/DiskOfferingFactory.py |   42 +
 .../lib/factory/DomainChildrenFactory.py           |    5 +
 .../integration/lib/factory/DomainFactory.py       |   24 +
 .../lib/factory/EgressFirewallRuleFactory.py       |   24 +
 .../integration/lib/factory/EventTypesFactory.py   |    5 +
 .../integration/lib/factory/EventsFactory.py       |    5 +
 .../integration/lib/factory/FirewallRuleFactory.py |   24 +
 .../lib/factory/FromLoadBalancerRuleFactory.py     |    8 +
 .../marvin/integration/lib/factory/HostFactory.py  |   31 +
 .../lib/factory/HostForMaintenanceFactory.py       |    7 +
 .../lib/factory/HostMaintenanceFactory.py          |    7 +
 .../integration/lib/factory/HostPasswordFactory.py |    8 +
 .../lib/factory/HypervisorCapabilitiesFactory.py   |    9 +
 .../integration/lib/factory/HypervisorsFactory.py  |    5 +
 .../lib/factory/InstanceGroupFactory.py            |   23 +
 .../integration/lib/factory/IpAddressFactory.py    |   22 +
 .../lib/factory/IpForwardingRuleFactory.py         |   25 +
 .../marvin/integration/lib/factory/IsoFactory.py   |   26 +
 .../lib/factory/IsoPermissionsFactory.py           |   12 +
 .../lib/factory/LBStickinessPoliciesFactory.py     |    7 +
 .../lib/factory/LBStickinessPolicyFactory.py       |   25 +
 .../lib/factory/LoadBalancerRuleFactory.py         |   26 +
 .../factory/LoadBalancerRuleInstancesFactory.py    |    7 +
 .../integration/lib/factory/NetworkACLFactory.py   |   24 +
 .../lib/factory/NetworkDeviceFactory.py            |   15 +
 .../integration/lib/factory/NetworkFactory.py      |   26 +
 .../lib/factory/NetworkOfferingFactory.py          |   85 +
 .../lib/factory/NetworkServiceProviderFactory.py   |   22 +
 .../lib/factory/NiciraNvpDeviceFactory.py          |   20 +
 .../lib/factory/NiciraNvpDeviceNetworksFactory.py  |    7 +
 .../integration/lib/factory/OsCategoriesFactory.py |    5 +
 .../integration/lib/factory/OsTypesFactory.py      |    5 +
 .../factory/PasswordForVirtualMachineFactory.py    |    7 +
 .../lib/factory/PhysicalNetworkFactory.py          |   24 +
 .../marvin/integration/lib/factory/PodFactory.py   |   27 +
 .../lib/factory/PortForwardingRuleFactory.py       |   27 +
 .../lib/factory/PrivateGatewayFactory.py           |   27 +
 .../lib/factory/ProjectAccountsFactory.py          |    7 +
 .../integration/lib/factory/ProjectFactory.py      |   24 +
 .../lib/factory/ProjectInvitationFactory.py        |   16 +
 .../lib/factory/PublicIpAddressesFactory.py        |    5 +
 .../lib/factory/RemoteAccessVpnFactory.py          |   23 +
 .../integration/lib/factory/RemoveFactory.py       |    5 +
 .../lib/factory/ResourceCountFactory.py            |    7 +
 .../lib/factory/ResourceLimitFactory.py            |   11 +
 .../integration/lib/factory/RouterFactory.py       |   26 +
 .../marvin/integration/lib/factory/S3Factory.py    |   12 +
 .../integration/lib/factory/SSHKeyPairFactory.py   |   23 +
 .../lib/factory/SecondaryStorageFactory.py         |    7 +
 .../lib/factory/SecurityGroupEgressFactory.py      |   11 +
 .../lib/factory/SecurityGroupFactory.py            |   23 +
 .../lib/factory/SecurityGroupIngressFactory.py     |   11 +
 .../lib/factory/ServiceForRouterFactory.py         |    8 +
 .../lib/factory/ServiceForSystemVmFactory.py       |    8 +
 .../lib/factory/ServiceForVirtualMachineFactory.py |    8 +
 .../lib/factory/ServiceOfferingFactory.py          |   38 +
 .../integration/lib/factory/SnapshotFactory.py     |   23 +
 .../lib/factory/SnapshotPoliciesFactory.py         |   10 +
 .../lib/factory/SnapshotPolicyFactory.py           |   27 +
 .../integration/lib/factory/StaticNatFactory.py    |   13 +
 .../integration/lib/factory/StaticRouteFactory.py  |   24 +
 .../lib/factory/StorageMaintenanceFactory.py       |   12 +
 .../lib/factory/StorageNetworkIpRangeFactory.py    |   26 +
 .../integration/lib/factory/StoragePoolFactory.py  |   30 +
 .../lib/factory/SupportedNetworkServicesFactory.py |    5 +
 .../marvin/integration/lib/factory/SwiftFactory.py |   10 +
 .../integration/lib/factory/SystemVmFactory.py     |   32 +
 .../marvin/integration/lib/factory/TagsFactory.py  |   25 +
 .../integration/lib/factory/TemplateFactory.py     |   32 +
 .../lib/factory/TemplatePermissionsFactory.py      |   12 +
 .../lib/factory/ToLoadBalancerRuleFactory.py       |    8 +
 .../lib/factory/TrafficMonitorFactory.py           |   18 +
 .../integration/lib/factory/TrafficTypeFactory.py  |   23 +
 .../lib/factory/TrafficTypeImplementorsFactory.py  |    5 +
 .../integration/lib/factory/UsageRecordsFactory.py |   14 +
 .../integration/lib/factory/UsageTypesFactory.py   |    5 +
 .../marvin/integration/lib/factory/UserFactory.py  |   29 +
 .../integration/lib/factory/UserKeysFactory.py     |   23 +
 .../integration/lib/factory/VMPasswordFactory.py   |    7 +
 .../integration/lib/factory/VMSnapshotFactory.py   |   23 +
 .../marvin/integration/lib/factory/VPCFactory.py   |   27 +
 .../integration/lib/factory/VPCOfferingFactory.py  |   25 +
 .../lib/factory/VirtualMachineFactory.py           |   28 +
 .../lib/factory/VirtualRouterElementFactory.py     |   23 +
 .../integration/lib/factory/VlanIpRangeFactory.py  |   23 +
 .../integration/lib/factory/VolumeFactory.py       |   23 +
 .../lib/factory/VpnConnectionFactory.py            |   24 +
 .../lib/factory/VpnCustomerGatewayFactory.py       |   27 +
 .../integration/lib/factory/VpnGatewayFactory.py   |   23 +
 .../integration/lib/factory/VpnUserFactory.py      |   17 +
 .../marvin/integration/lib/factory/ZoneFactory.py  |   26 +
 .../marvin/integration/lib/factory/__init__.py     |   16 +
 .../integration/lib/factory/test/__init__.py       |   16 +
 .../integration/lib/factory/test/testFactories.py  |  119 +
 .../marvin/marvin/integration/lib/generateBase.py  |  202 +
 tools/marvin/marvin/integration/lib/newbase.py     |62907 +++++++++++++++
 tools/marvin/marvin/integration/lib/oldbase.py     | 2426 +
 tools/marvin/marvin/jsonHelper.py                  |   28 +-
 ui/scripts/accounts.js                             |  145 +-
 ui/scripts/zoneWizard.js                           |   12 +-
 .../src/com/cloud/utils/component/AdapterBase.java |    2 +-
 .../cloud/utils/component/ComponentContext.java    |   32 +-
 .../ComponentInstantiationPostProcessor.java       |   24 +-
 .../component/ComponentMethodInterceptor.java      |    2 +-
 .../utils/component/ComponentNamingPolicy.java     |    6 +-
 utils/src/com/cloud/utils/db/GenericDaoBase.java   |    2 +-
 .../cloud/utils/db/TransactionContextBuilder.java  |   24 +-
 utils/test/resources/testContext.xml               |   16 +-
 271 files changed, 73816 insertions(+), 2974 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2a990642/server/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2a990642/server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2a990642/server/src/com/cloud/network/NetworkServiceImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2a990642/server/src/com/cloud/network/guru/DirectNetworkGuru.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/network/guru/DirectNetworkGuru.java
index 84008c0,c53bbb7..870ae80
--- a/server/src/com/cloud/network/guru/DirectNetworkGuru.java
+++ b/server/src/com/cloud/network/guru/DirectNetworkGuru.java
@@@ -257,9 -257,9 +257,9 @@@ public class DirectNetworkGuru extends 
              if (ip != null) {
                  Transaction txn = Transaction.currentTxn();
                  txn.start();
-                 
+ 
                  // if the ip address a part of placeholder, don't release it
 -                Nic placeholderNic = _networkModel.getPlaceholderNic(network, null);
 +                Nic placeholderNic = _networkModel.getPlaceholderNicForRouter(network, null);
                  if (placeholderNic != null && placeholderNic.getIp4Address().equalsIgnoreCase(ip.getAddress().addr())) {
                      s_logger.debug("Not releasing direct ip " + ip.getId() +" yet as its ip is saved in the placeholder");
                  } else {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2a990642/server/src/com/cloud/network/guru/DirectPodBasedNetworkGuru.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/network/guru/DirectPodBasedNetworkGuru.java
index cf27986,8f15d5a..e2ab17d
--- a/server/src/com/cloud/network/guru/DirectPodBasedNetworkGuru.java
+++ b/server/src/com/cloud/network/guru/DirectPodBasedNetworkGuru.java
@@@ -197,13 -196,13 +197,13 @@@ public class DirectPodBasedNetworkGuru 
              }
              nic.setReservationId(String.valueOf(ip.getVlanTag()));
              nic.setMacAddress(ip.getMacAddress());
-             
+ 
              //save the placeholder nic if the vm is the Virtual router
              if (vm.getType() == VirtualMachine.Type.DomainRouter) {
 -                Nic placeholderNic = _networkModel.getPlaceholderNic(network, null);
 +                Nic placeholderNic = _networkModel.getPlaceholderNicForRouter(network, pod.getId());
                  if (placeholderNic == null) {
 -                    s_logger.debug("Saving placeholder nic with ip4 address " + nic.getIp4Address() + " for the network " + network + " with the gateway " + podRangeGateway);
 -                    _networkMgr.savePlaceholderNic(network, nic.getIp4Address());
 +                    s_logger.debug("Saving placeholder nic with ip4 address " + nic.getIp4Address() + " for the network " + network);
 +                    _networkMgr.savePlaceholderNic(network, nic.getIp4Address(), VirtualMachine.Type.DomainRouter);
                  }
              }
              txn.commit();

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2a990642/server/src/com/cloud/server/ManagementServerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2a990642/server/src/com/cloud/storage/VolumeManagerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2a990642/server/src/com/cloud/upgrade/dao/Upgrade410to420.java
----------------------------------------------------------------------