-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/24611/
-----------------------------------------------------------

(Updated Aug. 20, 2014, 7:18 p.m.)


Review request for cloudstack, Chiradeep Vittal, Murali Reddy, Rohit Yadav, and 
Hugo Trippaers.


Changes
-------

Fixed some errors in previous patch and included version 4.5-SNAPSHOT in 
pom.xml.
New base line commit is 8d0817860faa347eb738c28d30c98f549afb3096.


Bugs: CLOUDSTACK-6998
    https://issues.apache.org/jira/browse/CLOUDSTACK-6998


Repository: cloudstack-git


Description (updated)
-------

This is a feature to handle DNS entries by means of an external DNS Provider, 
such as Bind. These entries include DNS domains and reverse domains, VM records 
and reverse records.

For a complete description, please refer to the design document available at 
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Bind+and+PowerDNS+integration+by+Globo+DNSAPI

For the discussion about this feature on the dev mailing list, please refer to 
http://markmail.org/thread/fvwf36hpxotiibka

Summary:
- new Network Service Provider called GloboDNS
- new Network Element to manage network domains and VM records (entries) on an 
external API
- new Network Resource to communicate with GloboDNS (open source)
- new API command to add DNS server
- new global option to determine if this provider should override VM entries on 
external DNS server
- changes in UI to include GloboDNS in Providers list


Diffs (updated)
-----

  api/src/com/cloud/network/Network.java 55502df 
  api/src/org/apache/cloudstack/network/ExternalNetworkDeviceManager.java 
f38e9e6 
  client/pom.xml d87fc45 
  client/tomcatconf/commands.properties.in 3191bbf 
  plugins/network-elements/globodns/pom.xml PRE-CREATION 
  
plugins/network-elements/globodns/resources/META-INF/cloudstack/globodns/module.properties
 PRE-CREATION 
  
plugins/network-elements/globodns/resources/META-INF/cloudstack/globodns/spring-globodns-context.xml
 PRE-CREATION 
  
plugins/network-elements/globodns/src/com/globo/globodns/cloudstack/api/AddGloboDnsHostCmd.java
 PRE-CREATION 
  
plugins/network-elements/globodns/src/com/globo/globodns/cloudstack/commands/CreateOrUpdateDomainCommand.java
 PRE-CREATION 
  
plugins/network-elements/globodns/src/com/globo/globodns/cloudstack/commands/CreateOrUpdateRecordAndReverseCommand.java
 PRE-CREATION 
  
plugins/network-elements/globodns/src/com/globo/globodns/cloudstack/commands/RemoveDomainCommand.java
 PRE-CREATION 
  
plugins/network-elements/globodns/src/com/globo/globodns/cloudstack/commands/RemoveRecordCommand.java
 PRE-CREATION 
  
plugins/network-elements/globodns/src/com/globo/globodns/cloudstack/commands/SignInCommand.java
 PRE-CREATION 
  
plugins/network-elements/globodns/src/com/globo/globodns/cloudstack/element/GloboDnsElement.java
 PRE-CREATION 
  
plugins/network-elements/globodns/src/com/globo/globodns/cloudstack/element/GloboDnsElementService.java
 PRE-CREATION 
  
plugins/network-elements/globodns/src/com/globo/globodns/cloudstack/resource/GloboDnsResource.java
 PRE-CREATION 
  
plugins/network-elements/globodns/src/com/globo/globodns/cloudstack/response/GloboDnsDomainListResponse.java
 PRE-CREATION 
  
plugins/network-elements/globodns/src/com/globo/globodns/cloudstack/response/GloboDnsDomainResponse.java
 PRE-CREATION 
  
plugins/network-elements/globodns/src/com/globo/globodns/cloudstack/response/GloboDnsExportResponse.java
 PRE-CREATION 
  
plugins/network-elements/globodns/src/com/globo/globodns/cloudstack/response/GloboDnsRecordListResponse.java
 PRE-CREATION 
  
plugins/network-elements/globodns/src/com/globo/globodns/cloudstack/response/GloboDnsRecordResponse.java
 PRE-CREATION 
  
plugins/network-elements/globodns/test/com/globo/globodns/cloudstack/element/GloboDnsElementTest.java
 PRE-CREATION 
  
plugins/network-elements/globodns/test/com/globo/globodns/cloudstack/resource/GloboDnsResourceTest.java
 PRE-CREATION 
  plugins/network-elements/globodns/test/resources/db.properties PRE-CREATION 
  plugins/network-elements/globodns/test/resources/log4j.properties 
PRE-CREATION 
  plugins/pom.xml 0b1b62d 
  ui/scripts/system.js fe51acb 

Diff: https://reviews.apache.org/r/24611/diff/


Testing (updated)
-------

The implemented feature is widely covered by several unit tests, which check 
use cases like:
- creation of GloboDNS host (external resource)
- creation of a DNS domain when override flag is true or false
- creation of a VM record when override flag is true
- creation of a VM record fails when override flag is false and record exists
- uppercase letters are not allowed for VM records
- updating VM records when override flag is true and false
- removal of a record entry when VM is destroyed
- removal of DNS domains when network is destroyed

You can check all use cases related to the override flag on the design document.

On this first release, tests were performed using Bind server as DNS server. 
Further improvements could include PowerDNS as well.


Thanks,

Daniel Vega Simoes

Reply via email to