cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rohit Yadav" <bhais...@apache.org>
Subject Re: Review Request 24611: New DNS provider (GloboDNS)
Date Thu, 21 Aug 2014 10:20:12 GMT


> On Aug. 12, 2014, 9:52 p.m., Rohit Yadav wrote:
> > Hi Daniel,
> > 
> > Thank you for your work, it looks comprehensive. Appreciate the tests and design
doc on the wiki. 
> > 
> > Can you make sure we don't do wildcard imports, I personally don't have any problem
with using them but a lot of community folks (and on our coding guidelines) we don't prefer
these:
> > > import static org.mockito.Mockito.*;
> > 
> > When adding APIs, you can add a "since=4.5.0" field in the APICommand, which simply
help users, who would read apidocs, to know that these APIs/feature were available since that
version/release of ACS.
> > 
> > I'll be able to test this tomorrow, meanwhile can you share with us demo/test credentials
for testing against the DNS service (or point us to a link to sign up for it if it's free).
> 
> Daniel Vega Simoes wrote:
>     I'll fix the imports and the APICommand.
>     We're building a VM to provide DNS service for testing and will let you know as soon
as it's ready.
> 
> Rohit Yadav wrote:
>     Thanks Daniel, the patch applies cleanly.
>     I'll have to test it before I could merge it on master, let me know if the VM is
downloadable somewhere or some other way to test this feature against.
> 
> Daniel Vega Simoes wrote:
>     Rohit,
>     
>     We've fired up a VM on Amazon EC2 to host both the DNS server and the GloboDNS application
that manages it.
>     
>     When you configure the GloboDNS provider, you should use the following info:
>     -> username: admin@example.com
>     -> password: password
>     -> url: http://54.83.77.243:8080/
>     
>     After that, you need to create a network offering (doesn't matter if isolated or
shared) that uses GloboDNS as the DNS provider. Then, feel free to launch as many networks
and VMs as you want. Their names should appear at the GloboDNS (you can login through the
same URL/username/password and take a look).
>     
>     It usually takes about 2 minutes before the application exports the new zones and
records to the Bind server. After that time, you can lookup the full name using nslookup or
dig.
>     
>     Also keep in mind that the plugin only accepts lower-case names for the VMs. If you
do not supply a name, you need to change the global option 'instance.name' to make sure that
the name generated by Cloudstack is also lower-case.
>     
>     Any questions or problems, just let us know :)
> 
> Rohit Yadav wrote:
>     Hey, can you revert back to my email -- I still see the build issues in the patch,
this is another reminder.
>     Cheers.
> 
> Daniel Vega Simoes wrote:
>     Hi Rohit
>     
>     I didn't get it. You said the patches applied cleanly and just needed testing. We
used f6bde7b46bb09aa13cb35049716bd7e1fc5b7774 as base commit for the patch. It doesn't work
anymore?
> 
> Rohit Yadav wrote:
>     Hi Daniel, yes it applies cleanly but since I did not the VM you recently shared
to test against I did not build it with some maven profiles. It was failing for me, so see
if you could do test your patch so that it builds cleanly. I would want to help you test/merge
your work on master soon to avoid conflict from ever changing master branch :)
>     
>     Cheers.
> 
> Daniel Vega Simoes wrote:
>     Hi Rohit
>     
>     Apparently the last patch had some weird errors. I updated it with a new one and
also changed version to be 4.5-SNAPSHOT so it fits well into master.
>     The base commit is 8d0817860faa347eb738c28d30c98f549afb3096.
>     
>     I managed to build it in my machine using the developer profile:
>     $ mvn -Pdeveloper -Dsimulator clean install
>     
>     Should there be any more problems, just let me know.
>     
>     Cheers,

Tested on latest master, it builds cleanly with unit tests and patch applied cleanly too.
Tested to work against simulator.
I'm going ahead to merge it now on master, further issues can be address later if found against
using a real host.

Thank you for this feature.


- Rohit


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


On Aug. 20, 2014, 7:18 p.m., Daniel Vega Simoes wrote:
> 
> -----------------------------------------------------------
> 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.
> 
> 
> 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 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
> -------
> 
> 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