It looks like the DnsProvider calls the REST API of the RoR-based DNSAPI. +1, but as Rohit said, I’d love to see the design details on the Wiki. This will make it easier for folks like Erik to integrate PowerDns. Does the VR use the Bind server for name resolution? That is, is the Bind server the same as the zone DNS? Is this configured on a region level or a zone level? Or is it strictly per network offering?
From: Rohit Yadav <bhais...@apache.org<mailto:bhais...@apache.org>> Reply-To: "dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>" <dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>> Date: Friday, June 13, 2014 at 6:53 AM To: "dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>" <dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>> Subject: Re: [DISCUSS] [PROPOSAL] Implementation of DNS Provider for Bind (for 4.5) Hi Silvano, On Fri, Jun 13, 2014 at 10:51 AM, Silvano Nogueira Buback < silv...@corp.globo.com<mailto:silv...@corp.globo.com>> wrote: Hi there, I work at Globo.com, a media company in Brazil. Here we use a cloudstack private network with an advanced zone setup (isolated vlans). For some couple of reasons, the name of virtual machine needs to be available not only on virtual router network context, but on our internal DNS servers. Our proposal is integrate cloudstack (v 4.5) with DNS server (Bind server) thru an open source API written by globo.com called DNSAPI. More info at https://github.com/globocom/Dns-Api. Thanks for the proposal. I recommend that you document your design goals in 4.5 or above design docs wiki: https://cwiki.apache.org/confluence/display/CLOUDSTACK/4.5+Design+Documents I saw the video you shared, it looked seamless but I could not figure out how the ACS plugin interacts with the DNS provider. The API library you mentioned is written in Ruby, so how does it integrate or work with the dns plugin in ACS, is it over HTTP or RPC/Thrift? Regards. To make this implementation of DNS provider, we based our plugin on "dns-notifier", but we had to add more classes for our implementation. * DnsAPINetworkDAO to manage the networkDomain for each network. * DnsAPIVirtualMachineDAO to manage DNS records for vms. * DnsAPIElement, this class implements the provider itself. * DnsAPIResource, implements all communications with DNSAPI (ServerResource). Besides this classes, another one was necessary to the call to DnsAPIResource and return the answer, and one API command was created to configure the provider in Zone. Above a video that show you how everything was integrated. https://www.youtube.com/watch?v=fAB53T_NZMI We really appreciate all your comments about our implementation, thanks in advance PS: Sorry about duplicated e-mail in mailing list, but I forget to use DISCUSS and send using company e-mail)