17:02:07 #startmeeting DNSaaS 17:02:08 Meeting started Wed Oct 31 17:02:07 2012 UTC. The chair is Ryan_Lane. Information about MeetBot at http://wiki.debian.org/MeetBot. 17:02:09 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 17:02:10 The meeting name has been set to 'dnsaas' 17:02:12 will that be in the log ;-) 17:02:27 heh 17:02:51 aloha 17:02:57 Hiya 17:03:12 greeting all (attempt #2) 17:03:46 let me find the etherpad 17:03:51 anyone have a link handy? 17:03:54 https://etherpad.openstack.org/openstack-dns 17:03:56 o/ 17:04:14 + http://wiki.openstack.org/DNSaaS 17:04:14 + https://docs.google.com/document/d/1UFoAc7E17XivlV7h2PD4SCMeEhLecvPw0GAaoq_JKCk/edit 17:05:03 I update http://wiki.openstack.org/DNSaaS with links 17:05:16 https://etherpad.openstack.org/DNSaaS_initial_meeting 17:05:22 that was for agenda 17:05:44 well, let's get started then 17:06:03 #topic agreement/recap of the initial feature set 17:06:20 has everyone had a chance to go over the linked information? 17:06:36 I have 17:06:39 I added this one: Are we still agreeing on supporting only notification based A/PTR creation ? 17:06:55 for fixed IP and floating IP ? 17:07:00 anyone from GD here ? 17:07:30 hm. seems not. that's going to be a problem. 17:07:32 Yes 17:07:35 ah. good 17:07:40 I'm from GD 17:07:46 rlz: ok :) 17:07:57 jcmartin, that depends on the initial scope, internal DNS/internal+external DNS/external DNS 17:08:16 even the nova DNS driver has support for managing zones 17:08:16 I'm from GD 17:08:31 FYI: I wasn't at the summit - and could barely hear a thing on WebEx 17:08:53 So - It's possible I'm in the dark around a few decisions 17:09:06 that's why i propose we recap 17:09:17 Hi everyone, please to introduce you to Kiall, the fellow I was IRCing with 17:09:26 well, let's discuss the initial feature set that we should be targeting 17:10:21 tenant private zone with A record for UUID and instance name ? 17:11:04 public zone with floating ip A record (or CNAME) ? 17:11:26 I think those are definitely needed for initial feature set 17:11:27 PTR records ? 17:11:33 I think zone creation is also likely needed 17:11:35 PTR too 17:11:49 zone creation, A, CNAME, MX, ... 17:11:53 PTR records should also be supported, if the backend needs them (some powerdns ldap backends don't) 17:11:54 Ryan_Lane: managed by tenant ? 17:12:02 I would be looking for public zones with arbitrary records, in additional to generated A/PTR's for fixed and floating Ips 17:12:31 Kiall: should be second phase in my opinion 17:12:38 Is it good idea to generate names for floating IP automatically? 17:13:18 jcmartin, any reasoning for that? 17:13:28 Should we postpone floating IP for now ? 17:13:44 Kiall: one reason is then backends need to have some way of saying "I can't add records like that" 17:13:48 Does arbitrary zone and record creation not provide the core of what's needed to handle automated record creation and deletion? 17:14:00 Kiall: would require REST service. Just phasing 17:14:06 jcmartin: I think floating IP is very much needed for initial feature set 17:14:19 jcmartin, right, but both nova-dns and Moniker have REST interfaces already 17:14:59 uhm 17:15:01 I'm fine if there is time to implement everything, but it seems tight ... 17:15:19 for floating IP's is really easy I think, just grab the last bits of the uuid and make a record ? 17:15:39 As I remember we were going to merge implementations first? 17:15:45 yes 17:15:51 that's another topic, though 17:16:30 since there is no parity, between implementations, we need to work on feature set first 17:16:35 rlz, you're Dmitry, yes? One of the nova-dns authors? 17:16:45 Why only last bits of the uuid? 17:17:18 Yes, I'm Dmitry 17:17:31 rlz: cause anymore isn't needed or ? 17:17:54 Can we recap quickly on what is not controversial: A & PTR record for Fixed IP based on notification ? 17:18:10 that's not controversial. 17:18:20 rlz: Let's set aside implementation for now, and call that feature "Automatic record creation upon floating_ip assignment." Presumably the associated name will be something arbitrary and unique. 17:18:20 I don't think floating IPs are either 17:18:27 in a tenant private zone, with tenant id as a name ? 17:18:36 instance_name_template <-- 17:18:40 it should likely use that 17:18:49 anyway, that's an implementation detail 17:18:57 jcmartin, That's what I was thinking for auto fixed+floading IP records 17:19:06 floating* 17:19:39 can we record this with the meetbot thingy ? Ryan ? 17:19:42 Ryan_Lane, agreed - lets not dig down into implementation detail just yet 17:19:45 https://etherpad.openstack.org/GrizzlyDNSaaS 17:19:56 I think meetbot is already running. 17:20:02 should this be under #action? 17:20:08 "#agreed" 17:20:19 action is a "todo" 17:20:33 (sorry, maybe adding etherpad to the mix is one too many channels) 17:21:02 #agreed A/PTR for fixed IP networks should be in initial feature set 17:21:26 #agreed 17:21:32 Zone name = tenant id ? 17:21:53 actually, I'm a little confused by that 17:22:01 isn't that something that would go into quantum? 17:22:09 that's what nova-dns does today i think 17:22:18 exactly 17:22:24 Yes nova-dns behave in this way 17:22:35 so, the dns service itself doesn't need to handle that 17:22:49 dns service has to create the zone though 17:23:07 As I remember quantum do not want to know about DNS anything. Just send notifications about addresses. 17:23:31 rlz, I agree with that - notifications are sent, the DNS service can act on them 17:23:33 Zone can be configured only in DNS service 17:23:33 yes, first feature is autopilot based on notification. No tenant involvement 17:23:47 ok 17:24:24 what's the status on zone naming then ? 17:24:30 zone naming? 17:24:38 zone name = tenant id 17:24:44 in quantum instance can have several associated IPs. Which one to use in DNS for A record ? 17:25:00 all of them ? 17:25:04 I think it depends on the network type 17:25:13 jcmartin, Personally, that makes sense to me. But - I think that's an implementation detail. 17:25:29 (Which can be decided later) 17:25:45 Kiall: I'm fine postponing. let's move on 17:25:54 Kiall, what is implementation detail? 17:25:58 ok. floating IPs? 17:26:21 Floating IP yes 17:26:22 for floating IPs we likely need the ability to create and associate zones with tenants 17:26:47 n.b. can we try to say 'domain' rather than 'zone'? 'zone' has a meaning within Nova so is ambiguous. 17:26:50 rlz, the decision to use incrementing integer IDs or UUIDs for database recrods would be an implementation detail (most of the time) 17:26:53 sorry, yes 17:27:00 domain too in libvirt 17:27:07 ugh. domains are in keystone too 17:27:08 crap! 17:27:11 let's use DNS zone 17:27:24 yep, ok. 17:27:26 :p 17:27:41 Same for fixed IPs - we need ability to create zones and associate them with tenant 17:27:56 (sorry! love, -keystone) 17:28:01 So right now we're talking about automatic entry creation for floating IPs right? 17:28:07 rlz: who does that, tenant ? 17:28:09 andrewbogott, yes 17:28:10 rlz: shouldn't the "Tenant" maybe be allowed to "set" their local zone themselves ? 17:28:14 or their zones 17:28:15 So I think the question of dns zones: tenants is the same for both. 17:28:20 rlz: I mean via the REST api 17:28:21 zykes-, one issue with that is overlaps 17:28:36 Kiall: overlaps how ? 17:28:53 in nova-dns zone created for tenant in nova-dns service lazy way. 17:28:54 oh. automatic entry creation? 17:29:04 sorry, I was thinking end-user entry creation 17:29:05 Same for me: I want to API to create and set zone to use for fixed and floating API separatly 17:29:16 So the simple version is to use a template and create the dns zone the first time it is needed. 17:29:23 zykes-, two tenants choosing the same DNS zone name. 17:29:31 The complicated version is to add REST api to explicitly associate specific tenants with specific Zones. 17:29:40 managing floating IPs creation and fixed IP creation is basically the same thing 17:30:01 andrewbogott, yes - while that would be nice. I think that's probably more complicated than it seems at first glance. 17:30:05 if we are using notifications for fixed, we could use them for floating, too 17:30:08 I suppose that the top level DNS zone will be provider owned, right ? 17:30:33 jcmartin, Yes - I would say so 17:30:35 notification for floating ip, yes. But what is used as the label/name ? 17:30:35 if we're talking about auto-creation, yes 17:30:40 Yes, we will have a 'phase one' feature set that's based entirely on notifications and templates. Then phase two will include REST that allows customization of a ton of things. 17:30:47 * andrewbogott suggests 17:30:56 jcmartin: well, many providers use the IP in the name 17:31:15 I think basing it on a template is best, though 17:31:16 also - nothing stopping you from registering lots of A records.. 17:31:18 eg 17:31:19 but that's implementation 17:31:33 jcmartin: Can be a template that has access to one of many instance descriptors from the notification. 17:31:34 jcmartin: e.g. uuid, ip, display name, etc. 17:31:35 UUID.zone, instance_name.zone, secgroup.zone etc 17:32:06 template is fine. 17:32:32 so, agreed that auto-creation of floating dns should also be in initial implementation? 17:32:43 #agreed 17:32:44 however, you might be constrained by what is in the notification 17:33:06 jcmartin, if needs be, we can query the nova/quantum APIs for more info 17:33:12 (Or get the info added to the notification) 17:33:18 ok 17:33:50 #agreed auto-creation of floating dns should also be in initial implementation 17:34:03 If there are items missing from the Quantum notifications we should generate bugs 17:34:10 indeed 17:34:22 most notifications include all of the info that Qunatum has on hand 17:34:24 any other features we should target for initial feature set? 17:34:39 so to recap, first phase is: based on notification, we will create A & PTR record for fixed and floating ip. Zone will be created based on template driven schema 17:34:41 Can we also clarify what an automatic record will look like? Are we strictly talking about a records, or is this configurable somehow? 17:34:42 Ryan_Lane, I would argue for arbitrary zones and records. for 2 reasons: 17:34:47 rest API IMHO should be in the first implementation 17:34:47 Oh, ok, there it is :) 17:34:54 1) Moniker already has this implemented ;) 17:35:20 2) Its *almost* free after being able to create/delete zones and add remove/records from the notifications 17:35:28 I agree 17:35:52 Implementing the REST is easy, agreeing on the feature set will be the hard part. 17:36:02 anyone disagree with rest API for managing zones and arbitrary records? 17:36:13 Ok with me 17:36:23 already in nova-dns 17:36:26 …or maybe not! 17:36:46 #agreed rest API for managing zones and arbitrary records will be in initial feature set 17:36:57 ok. I think that's more than enough features ;) 17:37:00 next topic? 17:37:14 #topic merging of projects 17:37:15 there is nothing left in term of features anyway ;-) 17:37:18 heh 17:37:25 jcmartin: that's not true :) 17:37:28 n39 17:37:35 RR DNS, geodns, etc 17:37:41 DNSSEC ;) 17:37:44 Loads more to do. 17:37:47 indeed 17:37:56 DNSSEC :) 17:38:05 I tried to do a comparison : https://docs.google.com/document/d/1UFoAc7E17XivlV7h2PD4SCMeEhLecvPw0GAaoq_JKCk/edit 17:38:11 what about things like multicast? 17:38:37 CaptTofu, you mean mDSN? 17:38:39 mDNS* 17:38:56 CaptTofu: I think we have enough features for initial project 17:39:14 Just thinking of it. 17:39:56 jcmartin, for the most part that doc was accurate for Moniker. 17:39:57 going back to merge : nova-dns seems a superset, but architecture is less aligned with end goal 17:39:57 so, we have two projects that we could base the project on. both are fairly mature. we need to decide which one we'll use and how we'll merge 17:40:25 let's start this the easy way 17:40:31 Probably worth mentioning by bias ;) 17:40:35 my bias* 17:40:37 is one project willing to merge themselves into the other? :) 17:40:49 heh 17:41:01 what does merge mean in this case? 17:41:07 Which of the two stand-alone implementations are the most OpenStack like? e.g. does either use common classes? The sqlalchemy, wsgi, etc? 17:41:08 CaptTofu, yea. 17:41:23 the latter does yes 17:41:24 I captured that in the doc 17:41:32 moniker does, I mean 17:41:34 For me - Merging means people, rather than code. Both are very different from a code POV 17:41:39 Moniker is the most openstack compliant 17:41:54 (and by the way, I like the codename too) 17:41:57 andrewbogott, Moniker is almost exclusively openstack-common code 17:42:02 jcmartin, thanks ;) 17:42:26 nova-dns is more of an extension of nova 17:42:32 moniker is based on rackspace api right? 17:42:39 if you skeletonized it, it'd make a good study on an openstack project 17:42:46 somewhat 17:42:46 anyone from rackspace here? 17:42:50 Ryan_Lane, It started that way. The API is not compatible anymore. 17:42:52 But 17:42:53 damn, I should let Kiall answer 17:43:02 The API is built to be switchable 17:43:13 Ryan_Lane: im from rackspace, sorry been lurking :) 17:43:14 implementing RS or R53's API would be trivial 17:43:15 one thing through me out in moniker: what is schema in the api ? 17:43:31 well, it may not be a problem to be incompatible 17:43:38 jcmartin, JSON Schemas - Used to define for format and rules for the API's JSON 17:43:45 if rackspace is willing to work with us and base their api on ours for their next version 17:43:48 #link http://json-schema.org/ 17:44:07 Ryan_Lane: we're definintely interested in collaborating on this 17:44:10 Ryan_Lane, I open to re-doing the API 17:44:11 great 17:44:31 I personally prefer my way ;) But am not overly attached. 17:44:34 proposal : start with moniker and merge in code from nova-dns 17:44:52 this is just getting on my radar and i'd love to get my team more involved. was just trying to ensure we were trying to solve the same problem, which it seems like we are. 17:45:12 yeah 17:45:12 jcmartin: I think that's a good approach. Does moniker already have a well-defined back-end API for different DNS implementations? 17:45:28 back end need work IMHO 17:45:45 andrewbogott, it's based on RPC agents - different actions trigger an RPC event for the DNS server agents to pick up 17:45:45 need more plugin based model 17:46:01 as jcmartin says - the current backend implementation is far from stable 17:46:13 rpc agen can be one implementation of the driver for file based DNS 17:46:21 I actually have a PowerDNS agent implementation - but it's based on my clients code. 17:46:32 So - for legal reasons - I simply can't release it 17:46:57 back to decision : merge which way ? 17:47:09 There's a third candidate besides moniker and nova-dns, right? 17:47:14 I'd say let's use moniker and merge nova-dns 17:47:29 My bias should be obvious merge into Moniker, but I really want to hear what others this is best! 17:47:30 is there any objection? should we take a vote? 17:47:32 +1 on Kiall 17:47:51 let use the bot thinghy 17:47:52 +1 on Moniker 17:47:56 psst - Ryan_Lane #startvote 17:48:01 #startvote 17:48:14 psst - Ryan_Lane #startvote I think 17:48:25 #startvote Use moniker and merge other projects in 17:48:30 Um… wait, I don't understand what the alternatives are yet. I think we need to be clear on whose code we are discarding so that we have buy-in from the owners of that code. 17:48:37 So, for example -- nova-dns is mine, you have my buy-in :) 17:48:48 andrewbogott, there are 2 nova-dns projects ;) 17:48:52 there's basically 3 17:48:53 The one built into nova 17:48:57 Oh! I see. 17:49:03 and github.com/griddynamics/nova-dns 17:49:05 ours, grid-dynamics and moniker 17:49:07 So when we've been saying 'nova-dns' we were talking about griddynamics. 17:49:10 #vote yes 17:49:16 In that case we're good. 17:49:17 #vote yes 17:49:22 #vote yes 17:49:23 #vote yes 17:49:25 #vote yes 17:49:33 #vote yes 17:49:43 gd guys ? 17:50:01 Yea - I really do want to hear from the GD crowd 17:50:06 We can agree but we need all functionally from current nova-dns 17:50:06 agreed 17:50:22 rlz: does the initial feature set proposed match it? 17:51:33 Not sure 17:51:53 so, this won't mean that your project needs to immediately go away 17:52:08 it's just that we're picking a specific project that we'll want to push into incubation 17:52:19 Yes. We will stay on our project and wait 17:52:20 rlz, can you produce a list of all current nova-dns features over the next few days? I would love to have that info readily available 17:52:23 by the way, does moniker now listen for notifications and add/remove records in dns for instances ? 17:52:23 and that over time, when moniker is ready for you, you can kill your other project 17:52:37 rlz: but it means that you'll need to start putting some of your code into moniker 17:52:42 nsavin : it does not, that's why your code is required 17:52:42 nsavin, not yet. I actually started work on that a about an hour ago though 17:52:54 But - Its far from working 17:52:55 ;) 17:52:56 merge means 1+1 17:53:08 I would love to get some code handed to me instead :) 17:53:12 for me nova-dns(our representation) looks like working thing. 17:53:27 rlz: basically it means you'll be maintaining code in two places for a while 17:53:38 and moniker - as skeleton of something distributed and not fully understandable for me 17:53:43 nsavin: your code is querying nova db : bad 17:53:57 yeah. but better than do nothing ;) 17:54:13 through. but if we merge, I would think we can do it right 17:54:39 nsavin, You're right - moniker currently does not listen to notifications, but does provide much of the other groundwork for actually actioning those notifications. 17:54:56 can we close on the vote ? 17:55:14 it would be good to get a yes or no from the gd people :) 17:55:18 or abstain 17:55:51 Ryan_Lane, whenever your ready.. it's #endvote Found the meetbot docs: http://ci.openstack.org/meetbot.html 17:55:53 #vote no - moniker for me now just an "thing which possibly will work later" 17:55:53 Also I want to review API to make decision 17:56:22 ok. ending vote in 30 seconds 17:56:26 rlz, by API do you mean REST API? 17:56:28 Is current API described? 17:56:35 Yes, REST API 17:56:36 rlz:nsavin : you can start by reviewing and commenting on https://docs.google.com/document/d/1UFoAc7E17XivlV7h2PD4SCMeEhLecvPw0GAaoq_JKCk/edit#heading=h.r8knc0f9p9tq 17:56:49 #endvote 17:57:03 It's described by the JSON schemas here: https://github.com/managedit/moniker/blob/master/moniker/api/v1/schemas.py 17:57:13 (and json-schema.org ) 17:57:20 jsmartin: can' 17:57:22 But - It's not documented yet. 17:57:40 jcmartin: can't edit this document 17:58:18 jcmartin, can you port that doc to the wiki? 17:58:26 so, I'm not very sure what decision that vote actually makes. 17:58:59 are we going forward with moniker as a project that we'll eventually push into incubation? 17:59:11 Ryan_Lane, The vote was " #startvote Use moniker and merge other projects in" 17:59:11 i'll mov the doc to the wiki if it's easier 17:59:11 or do we need another meeting on this topic? 17:59:17 Rough count of 6 or so yes and 1 no 17:59:42 * Ryan_Lane nods 17:59:53 no buy in from one of the three merging projects, though 18:00:15 JSON schemas is not an API description. It is just some JSON document description. It is not clear how to use this JSON documents, and way can be done through API 18:00:33 rlz, agreed. Real documentation is certainly needed 18:00:56 ok. we're out of time 18:00:58 so can I ask that is now in and working in moniker project ? 18:01:18 http://openstack.griddynamics.com/docs/nova-dns/restapi.html 18:01:29 we'll need to continue this off channel 18:01:31 nsavin: you mean who is working on it? 18:01:34 #endmeeting