----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/11027/ -----------------------------------------------------------
(Updated May 10, 2013, 1:50 p.m.) Review request for cloudstack, Abhinandan Prateek and Koushik Das. Changes ------- Rebased with latest master. Description ------- Cloudstack-702. Multiple ip ranges in different subnets. This feature enables adding of guest ip ranges (public ips) form different subnets. In order to provide the dhcp service to a different subnet we create an ipalias on the router. This allows the router to listen to the dhcp request from the guest vms and respond accordingly. Every time a vm is deployed in the new subnet we configure an ip alias on the router. Cloudstack uses dnsmasq to provide dhcp service. We need to configure the dnsmasq to issue ips on the new subnets. Added a new class dnsmasqconfigurator which generates the dnsmasq confg file, this file replaces the old config in the router. The details of the alias ips are stored in db in the nic_ip_alias table. Every time a new subnet is added one of the ip from the subnet is used to configure the ip alias. I have pushed the code to https://github.com/bvbharatk/cloud-stack/tree/Cloudstack-702 , also rebased the code with master. I need to test the code for advanced sg enabled network using kvm. This is duplicate of the pervious review request https://reviews.apache.org/r/10948/. please ignore it. I have added the unit test Marvin tests are at https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=53e4965 Also accomodated some of the changes suggested by koushik. corrected the import statements. renamed the IpAlias command to createIpAlias command. This feature supports only ipv4 This addresses bug Cloudstack-702. Diffs (updated) ----- api/src/com/cloud/agent/api/to/DnsmasqTO.java PRE-CREATION api/src/com/cloud/exception/MissingParameterValueException.java PRE-CREATION api/src/com/cloud/network/element/DhcpServiceProvider.java f73590c api/src/com/cloud/vm/NicIpAlias.java PRE-CREATION client/tomcatconf/applicationContext.xml.in 67c8ccf core/src/com/cloud/agent/api/routing/DeleteIpAliasCommand.java PRE-CREATION core/src/com/cloud/agent/api/routing/DnsMasqConfigCommand.java PRE-CREATION core/src/com/cloud/agent/api/routing/IpAliasTO.java PRE-CREATION core/src/com/cloud/agent/api/routing/createIpAliasCommand.java PRE-CREATION core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java b9bda4d core/src/com/cloud/network/DnsMasqConfigurator.java PRE-CREATION engine/schema/src/com/cloud/dc/dao/VlanDao.java cc82632 engine/schema/src/com/cloud/dc/dao/VlanDaoImpl.java 100295b engine/schema/src/com/cloud/network/dao/IPAddressDao.java 3d588fa engine/schema/src/com/cloud/network/dao/IPAddressDaoImpl.java 73f310f engine/schema/src/com/cloud/vm/dao/NicDao.java 12efe08 engine/schema/src/com/cloud/vm/dao/NicDaoImpl.java fa30168 patches/systemvm/debian/config/root/createIpAlias.sh PRE-CREATION patches/systemvm/debian/config/root/deleteIpAlias.sh PRE-CREATION patches/systemvm/debian/config/root/dnsmasq.sh PRE-CREATION plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java b72d1c8 plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java 6d7e0e7 plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java bac361d plugins/network-elements/midonet/src/com/cloud/network/element/MidoNetElement.java 804e4a6 scripts/vm/hypervisor/xenserver/createipAlias.sh PRE-CREATION scripts/vm/hypervisor/xenserver/deleteipAlias.sh PRE-CREATION scripts/vm/hypervisor/xenserver/vmops 30b5300 scripts/vm/hypervisor/xenserver/xcpserver/patch b7961bb scripts/vm/hypervisor/xenserver/xenserver56/patch 36dba3d scripts/vm/hypervisor/xenserver/xenserver56fp1/patch d20e60f scripts/vm/hypervisor/xenserver/xenserver60/patch c9125f4 server/src/com/cloud/configuration/ConfigurationManager.java d2f8319 server/src/com/cloud/configuration/ConfigurationManagerImpl.java fdc0ffb server/src/com/cloud/network/NetworkManager.java 34a092a server/src/com/cloud/network/NetworkManagerImpl.java c912430 server/src/com/cloud/network/addr/PublicIp.java 25e9d30 server/src/com/cloud/network/element/VirtualRouterElement.java 28473cc server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java fcf650f server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java e3dd06b server/src/com/cloud/vm/dao/NicIpAliasDao.java PRE-CREATION server/src/com/cloud/vm/dao/NicIpAliasDaoImpl.java PRE-CREATION server/src/com/cloud/vm/dao/NicIpAliasVO.java PRE-CREATION server/test/com/cloud/configuration/ValidateIpRangeTest.java PRE-CREATION server/test/com/cloud/network/MockNetworkManagerImpl.java eb5fc25 server/test/com/cloud/vpc/MockConfigurationManagerImpl.java 9058798 server/test/com/cloud/vpc/MockNetworkManagerImpl.java 84ae818 server/test/com/cloud/vpc/MockVpcVirtualNetworkApplianceManager.java 9010f1f server/test/org/apache/cloudstack/networkoffering/CreateNetworkOfferingTest.java 92aa2a2 server/test/resources/createNetworkOffering.xml 90342c5 setup/db/db/schema-410to420.sql 065b35c Diff: https://reviews.apache.org/r/11027/diff/ Testing ------- Tested this with xenserver in basic zone. Thanks, bharat kumar