17:00:23 #startmeeting Designate 17:00:24 Meeting started Wed Jul 9 17:00:23 2014 UTC and is due to finish in 60 minutes. The chair is Kiall. Information about MeetBot at http://wiki.debian.org/MeetBot. 17:00:25 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 17:00:27 The meeting name has been set to 'designate' 17:00:34 Heya - Who's here? 17:00:35 o/ 17:00:38 o/ 17:00:39 here 17:00:44 o/ 17:00:45 i'm here! 17:00:50 hey 17:00:50 o/ 17:01:05 #topic Action Items from last week 17:01:21 So - None recorded - was anything not recorded? 17:01:31 dont think so 17:01:36 Okay - Easy :) 17:01:46 #topic Release Management Changes 17:02:13 So - I have a weekly 1:1 with ttx now, and one of things we discussed was him taking over our release management 17:02:34 who is ttx? 17:02:38 So - Starting with juno-2 he'll be handling our releases 17:02:45 Thierry - OpenStack Release Manager 17:02:53 Cool. 17:02:54 thx 17:03:09 So - What does that mean for us? 17:03:18 Well - No more missed/late releases :) 17:03:23 #link https://wiki.openstack.org/wiki/Juno_Release_Schedule 17:03:33 cool :-) 17:03:33 juno-2 is due July 24th 17:03:45 2 weeks and 1 day away 17:04:19 We'll want to focus on items which are important for that release, and are achievable for that date 17:04:41 I'd personally like to see all of jaycaz's doc fixes/changes merged, and betsy's RecordSet API change merged. 17:05:15 Does anyone have any other items they think we we should push for in j2? 17:05:17 Kiall: does that mean he is taking over the targeting of bp / bugs as well? 17:05:32 or do we target, and he deals with them as they go forward? 17:05:35 mugsie: no, he'll mark them "Fix Released" etc 17:05:41 k 17:05:43 but it's up to us to triage and target 17:05:47 Speaking of that... 17:05:51 We're doing it wrong :) 17:06:05 e.g. https://bugs.launchpad.net/designate/+bug/1319112 17:06:07 Launchpad bug 1319112 in python-designateclient "Admins can't see all domains in domain-list" [High,Triaged] 17:06:20 In the table at the top, it should not be "Status tracked in Juno" 17:06:31 there's a button we press to make that happen.. We should stop 17:06:42 yeah - that is only if we are backporting a fix isnt it? 17:07:03 Yea, that's only for targeting to older releases 17:07:30 So - anyone have any other items they think we we should push for in j2? 17:07:50 I’m almost finished porting over the reports, but not a big deal if it doesn’t get in 17:07:58 betsy: cool :) 17:08:12 what about https://blueprints.launchpad.net/designate/+spec/mdns-designate-mdns-functional 17:08:25 I am close to getting done with it 17:08:39 vinod1: if you think you'll have in done in the next 1.5 weeks or so - Yea, I think it's worth including. 17:09:11 yes i will have it done - at least submitted for review - the rest is up to you :-) 17:09:23 Great - OK 17:09:58 Let's move on then, and we'll circle back to j2 tasks again next week. (I'd actually like to make that a standing agenda item from now on) 17:10:16 #topic Division of labor for server pools 17:10:28 vinod1 / mugsie - over to you guys 17:10:46 yup - I asked for people to let me know if they were interested 17:10:57 I wanted to check if the server pools was ready to be divided up? I know rjrjr mentioned earlier that they would be working on it 17:11:11 Oh, I’m interested BTW 17:11:14 i have had one responce - rjrjr_ & I updated the work items in the review 17:11:36 Sorry. Just realized I never responded to your email. 17:11:45 np 17:12:15 I have an idea for how we do it, and it is going ot be part of the sub team stuff I will be sending out tonight 17:12:26 thanks for the update mugsie - are any of the server pool items blocked by mdns? 17:12:31 #link https://review.openstack.org/#/c/101298/ 17:12:43 some of it is 17:12:59 but there is more than enough stuff for us to do before 17:13:23 Yea, I think mdns is close enough that starting pools stuff wouldn't be wasted 17:13:35 nope 17:13:42 thing like the basic services etc 17:13:57 can be started, and we can plug in mdns stuff as it comes along 17:15:21 Cool, so email coming this evening, and we'll get started on it in parallel. 17:15:34 yup 17:15:48 cool 17:15:49 cool. 8^) 17:16:07 mugsie: the BP list the workitems, but they don't seem to be in any particular order. Maybe reordering into the order they can be started? 17:16:29 Or I suppose that's what the LP graph is for 17:18:12 Testing? 17:18:20 Whey - working again 17:18:25 sorry - back 17:18:38 Seems the internet fell over for a minute 17:18:55 yeah, my sshd session died as well 17:18:56 Okay - Unless there's anything else, we'll move on 17:18:58 Alright, I think we can move on. You didn't miss anything :) 17:19:21 #topic SOA records - making them visible and editable in v2 17:19:27 #link https://etherpad.openstack.org/p/soa-records 17:19:32 So, I apologize — I didn’t see the bp for this 17:19:37 #link https://review.openstack.org/#/c/100901/ 17:19:44 But I started thinking about it... 17:19:44 betsy: no problem :) 17:20:05 And I don’t see how the SOA record can be represented as a recordset. There’s no overlappying data between the two 17:20:38 I was thinking, the necessary fields could be edited through domains 17:20:44 Since that’s where they’re stored 17:20:54 And we make an object with all the values to pass to mdns 17:21:10 So, my BP and your etherpad suggest different approaches. 17:21:21 Right. I should have made the comments in the bp 17:21:30 But didn’t see it 17:21:42 Only saw the bug to make SOA and NS records visible in v2 17:22:06 So, you’re right. I’m suggesting a different approach 17:22:06 My approach was to have fields editable on the domain (in the future), and generate the SOA Record/RecordSet when changes are made to the Domain row. That way, mDNS and the API simply sees another record. 17:22:24 And - We introduce a "read-only" flag on recordsets, preventing customers from editing that RRSet directly 17:23:02 So just put all the SOA fields — refresh, retry, expire, etc in the data field? 17:23:12 kiall: with your approach would the api for domains be altered to include the soa information? 17:23:46 vinod1: I didn't address that in my BP, leaving that part for another BP. 17:23:55 But - In theory, they could just be exposed and made editable. 17:24:09 Any change would cause Designate to internally regenerate the SOA record 17:24:28 And stored in the Recordset/Records table? 17:24:42 Yes - Alongside the RRSets/Records 17:25:18 Which means no special casing is needed in the backends/mDNS for it - and the API can be updated to support a generic "read-only" flag on RRSets 17:25:57 That sounds good 17:25:59 So everything goes in the data field? 17:26:37 Kiall: who would be allowed to set the "read-only" flag? 17:26:41 betsy: Yes, a copy of the data anyway, and eventually when we split the records table into per-type tables, each component would be in it's own column 17:26:49 so when and how would the SOA rrset be modified if it is marked as read only? 17:27:02 eankutse: Designate itself - i.e. the system. 17:27:10 ok 17:27:11 So we’ll be storing the same data in multiple db tables 17:27:41 vinod1: thru changes to the domain 17:27:49 betsy: yea, there's advantages and disadvantages to that :) 2 copies of the data vs having anything that needs the SOA to special case building it up 17:28:24 Seems easy enough to write a call to create an internal only SOA record 17:28:28 We read-only would apply to end users (and admins..) Designate, internally, would be able to regenerate the SOA record as changes to the Domain row are made 17:28:39 betsy: yea, I hope so :) 17:29:06 kiall: I mean without actually storing it in the recordset table 17:29:14 recordset/records tables 17:29:50 What’s the advance to storing it in the tables rather than creating it every time? 17:29:53 Oh - Well, then mDNS and the API and the backends would have to do a "Get me all records and the Domain, then, Build a pseudo SOA record and merge it into the records 17:30:06 vs simply "Get me the records" 17:30:07 Central could have a call that did that 17:30:40 We could, but things start getting real complex with paging and sorting etc 17:30:50 I guess my db background is just objecting to having the data stored in two places 17:31:05 Does the SOA record, when sort by record.type is applied, appear on page 1, 2 or 8? etc 17:31:06 But I can live with it if that’s what we want to do 17:31:33 Well - Here's another option.. 17:31:34 de-normalisation isn't always a bad thing ;) 17:31:45 Have the RRSet be the home for it, and remove them from the Domain altogether? 17:31:45 I was thinking it would be a separate call to get the SOA apart from the other records 17:31:59 kiall: i agree with that. 17:32:10 No. Don’t put them in the recordset/records 17:32:26 betsy: yea, but on which page of the API results should you make that call on? And, where in the current page? Should it be at the start/middle/end of the page etc? 17:32:46 True. Ok. 17:33:03 kiall: another option - we could remove it from the domain, once we have the different records in their own tables - so that it is easier to get to the various soa fields 17:33:10 betsy: Well .. Storing them on the domain is a little weird, since they are only used as part of the SOA.. But, I think that's a bigger change 17:33:12 vinod1: ++ 17:33:17 SOA is just a record type. it should be in the recordset/record tables. 17:33:23 kiall: _1 17:33:26 +1 17:33:32 I thought that was a -1 ;) 17:33:43 Nope :D 17:34:02 Either way - I think a good first step is to simply expose the record in the API - read only - with the source of truth being the domains table 17:34:35 Agreed 17:34:36 the source of truth can then be moved, and eventually, the access from the "domain" resource can be removed if we decide we want to do that 17:35:59 Okay .. If there is nothing else, let's move on? 17:36:30 #topic Open Discussion 17:36:35 I have 2 today that didn't warrant a "whole agenda item"... :) 17:36:52 mugsie: hows that oslosphinx stuff looking? Has the second change merged? 17:36:57 yup 17:37:04 and - have you talked to dhellmann about maybe getting a final release :D 17:37:15 tried to get hold of dhellmann yesterday, but he wasnt around 17:37:23 i think he is on atm actually 17:37:28 will grab him after this 17:37:35 Maybe he'll see our mentions :) 17:38:04 Okay - Well, if you can keep on top of it :) 17:38:21 yup 17:38:22 The second I had was - betsy's recordset change and my update's should use objects change. 17:38:27 They conflict like hell. 17:38:30 haha 17:38:38 how’s that going? 17:39:16 betsy: I spent almost all day fighting a fire today, but I intent on having it rebased before you wake up tomorrow 17:39:26 intend* 17:39:41 Nice 17:39:46 I’ll be very impressed 17:39:51 I think the biggest issue is that the obejcts aren't playing nice with having recordset.records = [{},{},{}] 17:39:58 kiall: there are a bunch of object changes for review - do you want them approved and merged if necessary or wait till you try to get the conflicts resolved? 17:40:46 So - I started down this route - https://review.openstack.org/#/c/105021/7 combined with https://review.openstack.org/#/c/105038/ 17:40:50 if you can −1 the changes that you do not want merged - that would be helpful 17:41:12 That would do the recordset.records = [] in a "Objects friendly way", which would hopefully make it easier.. 17:41:29 vinod1: I think I've -2'd everything I don't think is ready 17:41:36 thanks kiall 17:42:16 betsy: did you have a look at either of those reviews of out curisoity? 17:42:27 No, but I can today 17:42:49 They attempted to get the notion of a "ListObject" in, and the second attempted to make the storage layer play nice with that and populate recordset.records = .. 17:43:28 Okay. Let me take a look 17:43:56 I was hoping it would be easier, then with that being "objects" friendly your code would be easier to rebase.. I had to give up at the time though.. it was midnight ;) 17:44:06 Anyway - That's it from me.. 17:44:17 Anyone else have an off-agenda item? 17:44:39 i do 17:45:00 there's a small feature that I was looking to implement but I wanted to see what you guys thought of it 17:45:01 https://blueprints.launchpad.net/designate/+spec/zone-and-record-totalcount 17:45:54 It's about adding a totalEntries value to the view for zones and recordsets that will list the total number of items, even when the collection is paginated 17:46:21 From memory, we talked about that before.. And wrote it off as too big a change, as it would have required changes at every level in order to pass the info back out to to the API 17:46:33 But - Funny enough - https://review.openstack.org/#/c/105021/7 gives us that place :) 17:47:06 Now, since we would be returning our own objects rather than python lists, we have somewhere to "hold" that info 17:47:09 are you sure it's a really big change? don't the count_domains and count_recordsets methods help with that? 17:47:52 those are in the reports extenstion that I’m porting over to v2 17:47:54 Well, an example would have been.. find_recordsets() - that currently returns a simple list, and it would have had to be updated to support returning (metadata, list) 17:48:04 which would have to happen at every level of the stack 17:48:14 100's of places 17:48:45 But... If we merged #105021 - that wouldn't be necessary anymore, and is one of the things I really like about the Objects 17:48:49 they save us from all that crap :) 17:49:07 e.g. https://review.openstack.org/#/c/105021/7/designate/objects/domain.py 17:49:49 There's the "DomainList" class, which is the return from the storage layer when you do a find_domains() - more info + methods can be added to the ListBaseObject to handle things like totalCount, currentOffset etc 17:50:52 jaycaz has a WIP thing he has as a POC, and just looking at it on his computer real quick, it seems to work. He gets the information in the controller and passes it to the view to return. Might be inefficient or something. 17:50:57 Anyway - in case it's not obvious - I'd like to see that kinda info exposed, so long as we can do it clenly. 17:51:18 cleanly* 17:51:33 ah, makes sense 17:51:39 So - API makes two calls to central? 1 for the results, 1 for the counts? 17:51:53 yes, that's what I have as a prototype, anyway 17:52:17 not sure if that counts as clean… 17:52:23 probably not :p 17:52:28 :D 17:52:45 well, if you think it's worth looking into, I'd be glad to take it on 17:52:54 otherwise, I could look into other features to implement 17:52:56 jaycaz: I could talk to you after about how that might work with #105021 ? It's actually one of the things I had in my head while writing that 17:53:05 But only made allowances, didn't implement it 17:53:29 (since we have 5 mins left, want to open to anyone else's topics!) 17:53:32 are we still meeting at the end of July? 17:53:35 Kiall: sure thing, I'd be glad to talk about it 17:53:43 rjrjr_: ah yes, you missed last week's meet 17:53:47 we are - can you make it? 17:53:58 i can. just need to know when and where. 17:54:05 Let me dig out the email 17:54:09 did you send out email? 17:54:14 #topic http://lists.openstack.org/pipermail/openstack-dev/2014-July/039509.html 17:54:14 rjrjr_: I did 17:54:21 lol 17:54:22 #link http://lists.openstack.org/pipermail/openstack-dev/2014-July/039509.html 17:54:27 #topic Open Discussion 17:55:09 rjrjr_: not mentioned in the email - but we're planning to do a dinner on Sunday 27th 17:55:10 mugsie: can you resend me the email? i missed it. 17:55:20 rjrjr_: it was to the mailing list - http://lists.openstack.org/pipermail/openstack-dev/2014-July/039509.html 17:55:37 BTW, eankutse will be remote 17:55:42 need to sign up for that. 8^) 17:55:46 :D 17:55:47 rjrjr_: I will forward ti on to you 17:55:59 vinod1 and I will be there. 17:56:11 and myself / mugsie 17:56:36 cool - betsy you were remote weren't you? 17:56:46 yes 17:56:49 cool 17:56:53 I’ll send you an email asking for an invite 17:57:01 for google hangouts 17:57:04 Okay - Anything else? Clock is ticking :) 17:57:39 * Kiall takes that as a no 17:57:41 * mugsie is good 17:57:49 nothing 17:57:55 jaycaz: give me 5 and I'll be back in #openstack-dns 17:57:59 i'm good. 17:58:02 Kiall: sure thing! 17:58:14 Thanks all 17:58:16 #endmeeting