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