Hi Ilya, I put the plugin code in https://github.com/globocom/cloudstack/tree/4.3.0-globo/plugins/network-elements/dns-api. We use it with Shared/Advanced network zones. But in order to communicate with other networks (bind server network, for example), it is necessary to define and implement an ACL. In Globo.com this is made automatically by our NetworkAPI that has common ACLs to new networks that allow all virtual machines to access DNSAPI on port 53. The IP of bind managed by DNSAPI is the same of internal DNS configured in the zone. DNSAPI works without NetworkAPI as well, you just have to configure ACLs manually.
I will prepare the Design Document, which will explain all changes made and send it to this mailing list. We are working to improve DNS-API Documentation too. You can check it out now, but we're still working on it: https://github.com/globocom/Dns-Api. We intend to make NetworkAPI code open source too to manage shared networks. Using NetworkAPI, shared network are created by regular users, because this api are responsible to choose ip address and vlan number, and to create network in different equipment too. I want to talk about this in another thread, when I submit the code of NetworkAPI to community. Inside Globo we are working in our own tool of Database as a Service ( https://github.com/globocom/database-as-a-service). The module you saw at github is responsible to provision new VMs using Cloudstack. We are developing an connector to Cloud Portal Business Manager too. If you want more information about DBaaS, you can send an e-mail to db...@corp.globo.com. People there can explain detail about the implementation / feature and plans. I'm in that list too. Regards, Silvano Buback Globo.com Infra-structure Expert On Fri, Jun 13, 2014 at 3:24 AM, ilya musayev <ilya.mailing.li...@gmail.com> wrote: > Hi Silvano, > > I really liked what you did. > > I'm curious if this DNS provider will work with non-isolated/shared > advanced network zones as well. > Otherwise, great approach to solving the last DNS puzzle. I now wonder how > easy it would be to add other DNS Providers support into CloudStack besides > Bind. > > Can you share the changes you've made to your cloudstack env to support > DNSApis? > > Also noticed DBaaS-CloudStack in github, sounds interesting, what is it > based on? If you can, please kindly explain. > > Regards > ilya > > On 6/12/14, 10:21 PM, Silvano Nogueira Buback 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. >> >> 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) >> >> >