cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Vega Simoes" <daniel.sim...@corp.globo.com>
Subject Review Request 24611: New DNS provider (GloboDNS)
Date Tue, 12 Aug 2014 19:05:32 GMT

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

Review request for cloudstack.


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


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message