-----------------------------------------------------------
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

Reply via email to