> On Oct 1, 2013, at 3:37 PM, Michael Basnight <mbasni...@gmail.com> wrote: > >> On Oct 1, 2013, at 3:06 PM, Ilya Sviridov <isviri...@mirantis.com> wrote: >> >> >>> On Tue, Oct 1, 2013 at 6:45 PM, Tim Simpson <tim.simp...@rackspace.com> >>> wrote: >>> Hi fellow Trove devs, >>> >>> With the Designate project ramping up, its time to refactor the ancient DNS >>> code that's in Trove to work with Designate. >>> >>> The good news is since the beginning, it has been possible to add new >>> drivers for DNS in order to use different services. Right now we only have >>> a driver for the Rackspace DNS API, but it should be possible to write one >>> for Designate as well. >> >> How it corelates with Trove dirrection to use HEAT for all provisioning and >> managing cloud resources? >> There are BPs for Designate resource >> (https://blueprints.launchpad.net/heat/+spec/designate-resource) and >> Rackspace DNS (https://blueprints.launchpad.net/heat/+spec/rax-dns-resource) >> as well and it looks logically to use the HEAT for that. >> >> Currently Trove has logic for provisioning instances, dns driver, creation >> of security group, but with switching to HEAT way, we have duplication of >> the same functionality we have to support. > > +1 to using heat for this. However, as people are working on heat support > right now to make it more sound, if there is a group that wants/needs DNS > refactoring now, I'd say lets add it in. If no one is in need of changing > what's existing until we get better heat support, then we should just abandon > the review and leave the existing DNS code as is. > > I would prefer, if there is no one in need, to abandon the exiting review and > add it to heat support. >
I would hate to wait til we have full Heat integration before getting Designate support, considering Heat does not yet have Designate support. My vote is to move forward with a DNS driver in trove that can be deprecated once everything works with Heat. As far as supporting only Designate, I would be fine with a driver interface that could potentially wrap Designate as well as Rax DNS. Given that both will be somewhat temporary, I don't see a reason why we have to rip out rsdns at this point. >> >>> >>> However, there's a bigger topic here. In a gist sent to me recently by >>> Dennis M. with his thoughts on how this work should proceed, he included >>> the comment that Trove should *only* support Designate: >>> https://gist.github.com/crazymac/6705456/raw/2a16c7a249e73b3e42d98f5319db167f8d09abe0/gistfile1.txt >>> >>> I disagree. I have been waiting for a canonical DNS solution such as >>> Designate to enter the Openstack umbrella for years now, and am looking >>> forward to having Trove consume it. However, changing all the code so that >>> nothing else works is premature. >> >> All non mainstream resources like cloud provider specific can be implemented >> as HEAT plugins (https://wiki.openstack.org/wiki/Heat/Plugins) >> >>> >>> Instead, let's start work to play well with Designate now, using the open >>> interface that has always existed. In the future after Designate enters >>> integration status we can then make the code closed and only support >>> Designate. >> >> Do we really need playing with Designate and then replace it? I expect >> designate resource will come together with designate or even earlier. >> >> With best regards, >> Ilya Sviridov >> >>> >>> Denis also had some other comments about the DNS code, such as not passing >>> a single object as a parameter because it could be None. I think this is in >>> reference to passing around a DNS entry which gets formed by the DNS >>> instance entry factory. I see how someone might think this is brittle, but >>> in actuality it has worked for several years so if anything changing it >>> would introduce bugs. The interface was also written to use a full object >>> in order to be flexible; a full object should make it easier to work with >>> different types of DnsDriver implementations, as well as allowing more >>> options to be set from the DnsInstanceEntryFactory. This later class >>> creates a DnsEntry from an instance_id. It is possible that two deployments >>> of Trove, even if they are using Designate, might opt for different >>> DnsInstanceEntryFactory implementations in order to give the DNS entries >>> associated to databases different patterns. If the DNS entry is created at >>> this point its easier to further customize and tailor it. This will hold >>> true even when Designate is ready to become the only DNS option we support >>> (if such a thing is desirable). >>> >>> Thanks, >>> >>> Tim >>> >>> >>> >>> >>> _______________________________________________ >>> OpenStack-dev mailing list >>> OpenStack-dev@lists.openstack.org >>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >> >> _______________________________________________ >> OpenStack-dev mailing list >> OpenStack-dev@lists.openstack.org >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > _______________________________________________ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev