17:01:38 <Kiall> #startmeeting Designate
17:01:38 <openstack> Meeting started Wed Dec  3 17:01:38 2014 UTC and is due to finish in 60 minutes.  The chair is Kiall. Information about MeetBot at http://wiki.debian.org/MeetBot.
17:01:39 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
17:01:41 <openstack> The meeting name has been set to 'designate'
17:01:49 <Kiall> Heya - Who's about?
17:01:51 <rjrjr_> o/
17:01:56 <timsim> o/
17:02:01 <mugsie> o/
17:02:23 <Kiall> vinod1 / betsy about today?
17:02:39 <Kiall> Guess not :)
17:03:05 <timsim> They'll be along shortly I bet
17:03:06 <Kiall> Quick off-agenda item - Kilo-1 status page .. Anything we're missing from it, please add https://launchpad.net/designate/+milestone/kilo-1
17:03:09 <betsy> yes
17:03:10 <betsy> o/
17:03:21 <Kiall> #topic Actions Items from last week
17:03:53 <Kiall> I'll skip a few of these that are duplicates ;)
17:03:53 <Kiall> timsim file bug for PUT behavior in the API - Done
17:03:53 <Kiall> Kiall give timsim mockup code for totalcount - Done
17:04:00 <Kiall> mugsie push horzion code upstream - Done - Needs a +A
17:04:10 <rjrjr_> transition powerdns backend to MDNS. - is that needed?
17:04:13 <Kiall> people review ekarlso- 's secondary zones / v2 API bindings - Any takers on that one?
17:04:22 <Kiall> rjrjr_: I think it needs to be renamed to pools :)
17:04:28 <vinod1> I am looking at the secondary zones
17:04:32 <timsim> I reviewed secondary zones, I think vinod did/is in progress
17:04:34 <mugsie> ^ is just an initial push of internal code, so unless there is glaring errors, can we get it merged?
17:04:39 <Kiall> Anyway - We can discuss those in detail next week, I'll be putting Kilo release status on
17:04:48 <Kiall> the agenda from then on
17:05:03 <vinod1> i can do a quick scan of the horizon code today
17:05:06 <Kiall> Just want people to fill  out any missing stuff before next week :)
17:05:23 <Kiall> vinod1: excellent :)
17:05:40 <Kiall> Okay - Moving on!
17:05:41 <Kiall> #topic Pools - Where are we? (kiall)
17:05:53 <Kiall> So - We've got lots merged, where do we go from here? :)
17:06:15 <betsy> I’ve still got my work
17:06:17 <mugsie> i think testing multiple pools, (even with manual switching) and seeing what breaks
17:06:24 <betsy> Almost done just getting the tests working
17:06:35 <mugsie> betsy: cool
17:06:42 <rjrjr_> i'm in the middle of a integrating pool manager with central without going through the backend proxy.
17:06:50 <Kiall> mugsie: ++
17:06:53 <betsy> Afraid there’s going to be crazy merge issues
17:07:03 <mugsie> betsy: there always is
17:07:13 <Kiall> Beyond that - We'll need to port over the backends (PowerDNS, Fake, NSD4 etc. We'll discuss IPA style in the next topic)
17:07:17 <betsy> :)
17:07:33 <Kiall> I've started PowerDNS - But hit a blocker and it was late ;)
17:07:47 <rjrjr_> we also need to decide how to display via CLI/API the status and action.
17:07:48 <Kiall> Do we have any takers for the other easily portable backends?
17:08:15 <mugsie> i will have a look at nsd
17:08:23 <rjrjr_> i handled fake already. 8^)
17:08:38 <timsim> rjrjr_: You're doing bind9 too or no?
17:08:47 <Kiall> Easily portable: Fake (done), NSD4 (mugsie), PowerDNS (me), DynECT
17:09:05 <rjrjr_> bind9 is done.
17:09:08 <Kiall> I'm guessing myself / ekarlso- / mugsie will need to do DynECT due to having an account with them
17:09:13 <timsim> Cool.
17:09:20 <Kiall> I'll ask ekarlso- to, as he wrote it the first time ;)
17:09:46 <Kiall> Okay .. During porting - I'd suggest we replace the old backend, rather than add a new _pool version. Thoughts?
17:09:57 <vinod1> +1
17:10:09 <rjrjr_> i think we should wait until we have pool manager integrated completely.
17:10:34 <Kiall> well - there's a catch-22 there of can't kill the old code without breaking all the old-style backends
17:10:39 <rjrjr_> never mind.  you are correct.  go for it.
17:11:06 <vinod1> rjrjr_: With your current patchset - would the pool manger integration be complete?
17:11:19 <rjrjr_> when it is  completed, yes.
17:11:22 <Kiall> okay - so, beyond those ports (and IPA style backends, which we'll come to in the next topic). API chanegs to expose the status etc was suggested as a next step?
17:11:42 <rjrjr_> i have questions about unit testing, but i'll wait until the open discussion.
17:12:15 <Kiall> kk.. I guess that leads into the next topic then.. Any more general pools status / progress / questions?
17:12:35 <vinod1> Kiall - your code for recordsets seems to be propagating to pool attributes and now domain attributes
17:12:49 <vinod1> so we need to get that cleaned up
17:13:01 <Kiall> vinod1: ah yes, timsim filed a bug for that..
17:13:17 <Kiall> Do we have any takers on it?
17:13:26 <mugsie> whats the bug?
17:13:31 <Kiall> (I can't remember if tim assigned himself, or just filed it)
17:13:41 <timsim> Nah I didn't assign it to myself.
17:13:43 <Kiall> bug 1396720
17:13:47 <uvirtbot> Launchpad bug 1396720 in designate "PUT on a Recordset with multiple Records results in delete/recreation of all Records" [High,Triaged] https://launchpad.net/bugs/1396720
17:14:10 <mugsie> I can look at it
17:14:19 <mugsie> havent done much upstream workn this month ;)
17:14:26 <Kiall> Thanks mugsie ..
17:14:36 <rjrjr_> i hope we are not making any big changes to central until i get this patch in.  just a wish really. 8^)
17:14:45 <Kiall> rjrjr_: lol...
17:15:01 <mugsie> rjrjr_: I am going to change everyhthing
17:15:05 <Kiall> It should be an API layer fix ;)
17:15:08 <mugsie> just for the fun of it ;)
17:15:11 <Kiall> Okay.. Moving on :)
17:15:18 <Kiall> #topic Pools - Removing the old backend code, migration path for IPA style backends? (kiall)
17:15:53 <Kiall> rjrjr_: patchset has started this, but myself and mugsie started talking about it last night..
17:16:31 <Kiall> We're thinking we really need to provide the migration path for IPA style backends (also applies to the InfoBlox backend which should arrive soon)
17:16:33 <rjrjr_> based on the conversation yesterday, it seems like we will drop support for IPA in Kilo and add it back in the next cycle. 8^)
17:17:00 <mugsie> I think that we can avoid that - hopefully
17:17:03 <timsim> What does that entail?
17:17:03 <Kiall> mugsie managed to change my mind on that, so wanted to discuss with the group and come to a decision.
17:17:23 <Kiall> We figure it kinda fits into timsim's new-agent proposal ..
17:17:35 <mugsie> I would think that we can re purpose the "new agent", by extending it slightly
17:18:07 <Kiall> If we wanted old-style backends to work as is.. Agent listens for NOTIFY, does AXFR (i.e copy the secondary zone code), then splits that into a backend - for bind - that would just re-render the zonefile and rndc reload..
17:18:23 <timsim> What extra work is there for that backend for IPA style things?
17:18:29 <Kiall> For IPA, it might do an AXFR against IPA, compare, and call the old-style backend methods to write our the changes
17:18:50 <timsim> Seems doable.
17:18:56 <mugsie> yeah, i think so
17:19:10 <Kiall> Yea, I think it sounds doable at 1000 ft alright :)
17:19:24 <mugsie> i just don't want to dump some of the backends, with out an attempt to help them work
17:19:28 <betsy> kiall: It always does :D
17:19:38 <rjrjr_> so, what does that mean for my current work?
17:19:51 <rjrjr_> once it is accepted, IPA is broken. 8^(
17:20:10 <rjrjr_> the timing here is going to be tricky.
17:20:14 <mugsie> i think we can get ^ done fairly quickly
17:20:17 <Kiall> Anyway, If we want to ensure we keep that support - then getting that work (work == bones of new-agent) done becomes a priority... thoughts?
17:20:44 <timsim> I'd agree.
17:20:44 <Kiall> rjrjr_: yea, that's where I'm hoping we come to a decision and get the bones written up really quickly so as to not block you for too long
17:21:00 <rjrjr_> i'm concerned, but that's because i see what still needs to happen with pool manager.
17:21:00 <mugsie> I would like to make it a prioroty
17:21:12 <timsim> (The Agent is a rather large RAX priority, so it looks like I was going to be working on it anyway)
17:21:36 <Kiall> rjrjr_: Yea, finding the balance is the fun one ;)
17:21:46 <Kiall> #link https://wiki.openstack.org/wiki/Kilo_Release_Schedule
17:21:47 <mugsie> i think that we can have 2 groups working in tandem, and then we can do some git foo to have the switch done right
17:22:00 <timsim> mugsie: We can do a topic branch! oh wait...
17:22:07 <Kiall> k1 is Dec 18th, and we've been hoping for Pools to be effectively feature complete by then..
17:22:31 <mugsie> timsim: funnily, neutron has topic branches
17:22:33 <mugsie> :D
17:22:59 <Kiall> which is  431 commits behind master ;)
17:23:03 <timsim> Kiall: So would you want to wait on merging any "agent" stuff until after k1?
17:23:05 <Kiall> Gonna be a fun rebase!
17:23:06 <mugsie> I think we can look a tthe spec for the agent, propose changes today / tomorrow, and get work started quickly
17:23:27 <rjrjr_> but, pool manager implies broken IPA without agent.
17:23:29 <mugsie> for K1 the agent doesnt have to pretty or quick
17:23:35 <Kiall> timsim: well, I dunno.. Do we break IPA style for K1, and fix it in K2? or not have 100% pools in K1?
17:23:38 <mugsie> have to be*
17:23:57 <rjrjr_> i think pools should be the priority.  but i'm biased. 8^)
17:24:12 <Kiall> I think I'm OK with breaking IPA style in K1, assuming we commit to fixing it in K2
17:24:12 <timsim> Kiall: Might be a stretch to get the agent+IPA business done by K1
17:24:23 <mugsie> i think we can postpone that call till next week. if next week there is not much progress, we break IPA in K1
17:24:31 <timsim> I think that seems reasonable.
17:25:09 <timsim> So action people to review the agent spec then?
17:25:09 <rjrjr_> i'm okay with that.
17:25:15 <mugsie> yup
17:25:18 <Kiall> Any other opinions or shall we call it break IPA-style in K1,commit to fixing in K2, unless we can agree next week that Pools+Agent is doable by K1?
17:25:34 <Kiall> #action all review new-agent spec
17:25:42 <mugsie> aim to keep it, and decide next week
17:25:49 <timsim> mugsie: +1
17:25:52 <Kiall> mugsie: yea, aim to keep, see how reality based that is
17:26:05 <timsim> #link https://review.openstack.org/#/c/131530/2 Agent spec
17:26:18 <rjrjr_> this is going to be fun...
17:26:24 <mugsie> rjrjr_: :)
17:26:27 <Kiall> rjrjr_: yea, sorry :(
17:26:43 <Kiall> On the plus side, you'll learn more about git rebase :D
17:26:48 * Kiall ducks for cover
17:26:53 <timsim> You're going to be a rebase master rjrjr_ :P
17:26:54 <rjrjr_> yeah, there is that.
17:27:01 <Kiall> Okay - Anything else on this before Open Discussion
17:27:05 <Kiall> ?*
17:27:08 <mugsie> I am good.
17:27:13 <timsim> I'm good.
17:27:42 <Kiall> #topic Open Discussion
17:27:46 <rjrjr_> mid-cycle summit - will rackspace be able to attend in San Jose?
17:27:50 <vinod1> rjrjr: Just wanted to check if you had any inputs on the horizon code
17:27:52 <Kiall> Any other topics? rjrjr_, you had one?
17:28:11 <vinod1> since ebay was interested in horizon
17:28:24 <rjrjr_> i handed the code to PK.  he is in the process of getting it up and running.  i'll check with him today and get back to you about it.
17:28:37 <rjrjr_> mid-cycle summit?
17:28:41 <Kiall> rjrjr_: if he's stick, ping us :)
17:28:50 <Kiall> stuck*
17:28:55 <mugsie> yeah, I have been talkig to him
17:28:58 <rjrjr_> sure.  stick or stuck.
17:28:59 <Kiall> kk
17:29:39 <vinod1> for the mid-cycle summit - i still haven't heard back anything from the higher ups
17:29:51 <rjrjr_> okay.
17:30:02 <Kiall> If I remember right - Joe had said it should be fine, but official approval etc etc
17:30:08 <vinod1> correct
17:30:11 <timsim> Yeah, that's what it looks like.
17:30:18 <rjrjr_> can we get a go/no go by 12/24?
17:30:35 <timsim> We can try
17:30:46 <Kiall> It's a "go" from HP anyway...
17:30:52 <rjrjr_> cool!
17:30:57 <timsim> We'll sick Joe on it :P
17:31:06 <rjrjr_> okay, now a question about unit testing...
17:31:24 <rjrjr_> so, if i'm understanding what i'm seeing, i need to have central, pool manager, and mdns running.
17:31:33 <rjrjr_> pool manager will use the fake backend i wrote.
17:31:46 <rjrjr_> mdns needs fake stuff too, correct?
17:31:48 <Kiall> Ideally, we fix Pool Mgr's shiney new tests to, well, not need all that
17:32:24 <rjrjr_> the problem is central is failing miserably on tests.
17:33:03 <rjrjr_> ideally, mdns would have fake calls for NOTIFY, AXFR, etc.
17:33:15 <rjrjr_> since we won't really have a backend.
17:33:28 <Kiall> If I remember right, all central calls -> pools are cast - i.e. fire and forget - those can be mocked easily, and we can just validate the right stuff has been passed into the call
17:33:54 <rjrjr_> so, a mock pool manager then?  do we have an example of a mock service?
17:34:08 <Kiall> Well, not a full mock... you can do something like this..
17:34:14 <rjrjr_> i'm new to Python unit testing, so any guidance you can provide is appreciated.
17:34:30 <Kiall> with mock.patched(pool_manager_api, 'some_method') as m:
17:34:56 <Kiall> then when central calls "some_method" it'll be just record the args and return nothing (like the real call would)
17:35:17 <Kiall> and m.calls[0].args or similar will let you validate the correct things are passed in
17:36:26 <rjrjr_> okay.  this is a learning curve for me.  this might take me a couple of days.
17:36:51 <Kiall> https://github.com/openstack/designate/blob/master/designate/tests/test_mdns/test_notify.py#L37
17:37:00 <Kiall> ^ Similar example from mDNS code
17:37:28 <Kiall> In that case, patching the dns.query.udp() method
17:37:35 <Kiall> We can sync up after the meet if you like?
17:37:49 <rjrjr_> okay.
17:38:26 <Kiall> Cool - Any other topics?
17:38:37 <timsim> I'm good.
17:38:47 <Kiall> mugsie / vinod1 / betsy ?
17:38:51 <mugsie> nopoe
17:38:52 <vinod1> Nothing from me
17:39:21 <betsy> I’m good
17:39:24 <Kiall> Cool, will call it a day then :)
17:39:47 <Kiall> rjrjr_: give me 10 mins and I'll ping you if your free then...
17:39:47 <Kiall> Thanks all :)
17:39:47 <Kiall> #endmeeting