-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/24611/
-----------------------------------------------------------
(Updated Aug. 12, 2014, 9:43 p.m.)
Review request for cloudstack, Chiradeep Vittal, Murali Reddy, Rohit Yadav, and
Hugo Trippaers.
Bugs: CLOUDSTACK-6998
https://issues.apache.org/jira/browse/CLOUDSTACK-6998
Repository: cloudstack-git
Description
-------
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
-----
api/src/com/cloud/network/Network.java b5e8173
api/src/org/apache/cloudstack/network/ExternalNetworkDeviceManager.java
32f13f8
client/pom.xml 3995f6e
client/tomcatconf/commands.properties.in add35dd
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 4f7805a
ui/scripts/system.js 0c56baf
Diff: https://reviews.apache.org/r/24611/diff/
Testing
-------
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