----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/11027/ -----------------------------------------------------------
Review request for cloudstack, Abhinandan Prateek and Koushik Das. 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 Also accomodated some of the changes suggested by koushik. corrected the import statements. renamed the IpAlias command to createIpAlias command. This addresses bug Cloudstack-702. Diffs ----- 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 36f232c 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 67c1e07 engine/schema/src/com/cloud/vm/dao/NicDaoImpl.java c70d194 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 d87da64 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 bce1776 server/src/com/cloud/configuration/ConfigurationManagerImpl.java 37ca793 server/src/com/cloud/network/NetworkManager.java 4af716c server/src/com/cloud/network/NetworkManagerImpl.java 4fffbc1 server/src/com/cloud/network/addr/PublicIp.java 25e9d30 server/src/com/cloud/network/element/VirtualRouterElement.java f601f4f server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java f49ab79 server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java 6620e0a 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 2f717c8 server/test/com/cloud/vpc/MockConfigurationManagerImpl.java 83b1924 server/test/com/cloud/vpc/MockNetworkManagerImpl.java f884ba1 server/test/com/cloud/vpc/MockVpcVirtualNetworkApplianceManager.java ef5478b setup/db/db/schema-410to420.sql c8ac1ec Diff: https://reviews.apache.org/r/11027/diff/ Testing ------- Tested this with xenserver in basic zone. Thanks, bharat kumar