17:01:49 #startmeeting designate 17:01:49 Meeting started Wed Oct 23 17:01:49 2013 UTC and is due to finish in 60 minutes. The chair is mugsie. Information about MeetBot at http://wiki.debian.org/MeetBot. 17:01:50 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 17:01:52 The meeting name has been set to 'designate' 17:02:01 Heya 17:02:17 hi 17:02:22 hey 17:02:25 hi 17:02:29 I've not had a chance to fully catchup on last week meeting, so I've asked mugsie to run this again 17:02:31 here 17:02:38 we missing anyone? 17:02:59 artom? 17:03:10 #topic Review action items from last week 17:03:22 (We've been travelling since last friday btw) 17:03:27 here, too. 17:04:00 Search out any logging guidelines from other OpenStack projects (vinodmr) 17:04:06 Yeah? Any place exciting? 17:04:15 northern ireland 17:04:29 I haven't been able to get to it. Will get it to it after about 2 weeks 17:04:37 some of our team live up there, so we decided to visit 17:04:41 vinod1: cool 17:04:54 eankutse 17:05:01 #action Search out any logging guidelines from other OpenStack projects (vinodmr) - 2 weeks 17:05:02 * CaptTofu is here 17:05:17 Review HP's DEBUG level logs, increase anything generally useful to INFO or above (kiall) 17:05:50 Not had a chance with travelling+visitors :( 17:06:00 #action Review HP's DEBUG level logs, increase anything generally useful to INFO or above (kiall) 17:06:08 Update APIv2 Spec with proposed RRset/Record changes (kiall) 17:06:10 I've given a quick look over during our last log review, but nothing stood out 17:06:13 all my fault :) 17:06:16 Same as above I'm afraid :( 17:06:22 #action Update APIv2 Spec with proposed RRset/Record changes (kiall) 17:06:30 MySQL BIND9 Docs (CaptTofu) 17:06:47 need to update those been busy with travel. 17:06:54 #action MySQL BIND9 Docs (CaptTofu) 17:07:15 ok, so most (all?) of those have been pushed to future meetings 17:07:33 and finally 17:07:34 Update domain-import-export blueprint with pro's and con's of content types (artom) 17:08:15 Apologies - The whole HP DNS team has been travelling + meeting up for face to face time, so we've had little "real work" done over the last week! 17:08:20 did people have a chance to look that over? 17:08:40 or shall I push that on? 17:09:11 Did not see updates to blueprint 17:09:16 I haven't looked. 17:09:19 #link https://blueprints.launchpad.net/designate/+spec/domain-import-export 17:09:23 Yea, I'm personally in favor of using accept/content-type headers with /zones and /zones/{id} 17:09:36 rather than /zonefile/import and /zonefile/export.. 17:10:12 eankutse: there was some editing in the whiteboard area, but not a major list 17:10:28 k. I see it 17:10:45 if people havent had a chance, i think we should push it on 17:11:13 #agreed 17:11:20 #action Update domain-import-export blueprint with pro's and con's of content types (artom) 17:11:23 #agreed 17:11:32 #topic Open Disscussion 17:11:59 artom: have any update on your change? 17:12:08 I added a couple of questions to https://wiki.openstack.org/wiki/Designate/Server_Pools 17:12:30 most people have not had a chance to read the blueprint, so currently it is set to come up next week 17:12:44 eankutse: cool, I havent seen them yet, so will look this week 17:12:52 ok 17:13:00 #action Review Server Pools questions (mugsie) 17:13:44 I just added them about an hour ago 17:14:01 ah, thats why I missed them then :) 17:14:22 :-) 17:14:38 anything else? 17:14:51 maybe we can take just one of the questions 17:14:58 I'ii post it here 17:14:59 yeah 17:15:08 In Phase2 & 3, Async Response (202 Accepted), the current planned implementation has a "Status" field added to the Domains and Records tables in Central that is updated based on the response from the backend. How do we go about returning details of Errors if operation failed for some reason? 17:15:27 #link https://wiki.openstack.org/wiki/Designate/Server_Pools#Questions 17:15:56 eankutse: the plan is to work like nova 17:16:15 a GET /zone/record ... will show status = ERROR 17:16:53 or ERROR-Schedualign / deleting etc 17:16:58 how about details of the error? 17:17:02 Are details in the body? 17:17:22 eankutse: generally, if we accept the request, it should suceed 17:17:42 any errors are likely to be things that only the operator can fix 17:18:01 but they need a hint on what caused the failure 17:18:04 so 17:18:04 Right, so they would need to know details so they could know how to fix them 17:18:14 So, we could provide the user with lots of detail .. but it's beyond their control to fix.. 17:18:36 ok. 17:18:47 Surely the more information, the better? 17:19:01 Without necessarily giving them stacktraces and such. 17:19:04 So you mean that user errors (including validation errors) will have been caught before now? 17:19:10 eankutse: yes 17:19:12 Ideally, all user-caused and user-fixable errors should be caught before accepting the request at all 17:19:31 I didn't think that was true with saync calls 17:19:40 For example - Would you want nova to say "error scheduling vm - no capacity available" to end users? I'm guessing no :) 17:19:40 *async 17:19:44 It's also something an end user can't fix 17:20:03 betsy: it is, we do all the checks to ensure it can be created before we put it in the queue to be created 17:20:13 / updated / deleted /etc 17:20:36 this just fits where the backend currently sits, after all the checks have been done 17:21:19 What action can the user take after an error? The normal behavior on an error - especially one that you do not understand is to retry 17:21:51 Not if it's something like invalid domain name 17:22:03 So at least the error message should indicate what action the user can take - report the error to admins and wait for problem to be resolved? 17:22:07 betsy: which would have returned a 400 error to the user 17:22:13 vinod1: correct, the user should retry. If a zone/record/etc makes it into an "ERROR" state, something has gone wrong that is outside of the users control. 17:22:43 But a 400 with detail -- invalid domain name 17:22:43 vinod1: if you look at how nova reprts issues with cvreating instances, it only give a very basic indication of what happened 17:22:48 betsy: yes 17:23:10 betsy: yea, the 400 with details happens before the request is accepted and placed into the async queue 17:23:25 In those kind of errors when you get into an error state - would a retry help? 17:23:32 it could 17:23:50 say if the backend had a failuer, and the quiry expired 17:23:57 and then had to be retried 17:24:10 vinod1: that depends on the issue, say the async action is finally being run, and the database server is down.. It's going to fail and the zone will end up in an ERROR state. 17:24:35 Retrying, as an end user, makes sense here.. there waiting for your failover and/or staff to fix the DB (or whatever else is broken) 17:25:06 If the user provides bad input, that request will be rejected with a 400 containing some details, and will never make it into the queue at all 17:26:20 eankutse: does that answer the question? 17:27:13 hmmm…yes 17:27:30 anything else, just chuck it into that question section 17:27:41 Next one... 17:27:42 In Phase2 & 3, Async Response (202 Accepted), we should consider returning Location Header that points to the URL of the resource (that is being created). The user can check the status of the operation using this 17:28:24 eankutse: yeap, it should 17:28:36 i thought I documented it to say it did 17:28:41 but it seems i didnt 17:28:56 maybe I missed it. 17:29:06 no, just checked, I never actually wrote it 17:29:10 (sorry) 17:29:17 I know we mentioned that the use will hvae to call GET /domain.id 17:29:32 yeah 17:30:17 k. One more that is just remotely related... 17:30:24 Not directly related to achieving Async but should we consider following recommendations from http://docs.openstack.org/api/openstack-compute/2/content/LinksReferences.html and add "self" and "bookmark" links in the final response body after the resource is available? 17:30:42 i think we have that in the API v2 spec 17:30:52 k. Cool :-) 17:31:01 thaty all responces will have a links section with rel=self etc 17:31:06 cool 17:31:10 anything else from anyone? 17:31:59 going once 17:31:59 not for me 17:32:03 none from me 17:32:07 I'm good 17:32:08 I'm good. 17:32:36 Not from me :) 17:32:39 cool, thanks everyone 17:32:50 bye 17:32:58 Wait, was that the call for open discussion? 17:32:58 if you think of anything during the week just dump it on the agenda! 17:33:05 yup :) 17:33:07 Doh. 17:33:11 have something? 17:33:22 Two semi-related things. 17:33:33 cool, go for it 17:33:42 Does https://blueprints.launchpad.net/designate/+spec/multi-backend depend on pools? Or can it be started in parallel? 17:34:08 yup 17:34:50 multi-backend was more about writing changes to 2 backends at once 17:35:02 You answered 'yup' to an 'or' question - while logically that's sound, I need to know what half of the 'or' you're agreeing with ;) 17:35:22 At HP, we write certain changes (create/delete zone) to multiple places.. 17:35:55 artom: as it turns out i was wrong - yes, it can be started with out pools 17:35:57 The idea was for to take the code we have there, and make it generic enough to write changes to any 2 backends at once 17:36:37 using one scheduler? 17:36:54 this is independant of schedualers 17:37:03 this is the same records being writen] 17:37:09 to btoth backends 17:37:14 both* 17:37:19 k 17:37:24 eankutse: when a zone is created on HP Cloud, we create it in PowerDNS as usual, but ALSO need to create it at one of our partners 17:37:52 ok 17:38:02 So essentially sending a duplicate message to two different places? 17:38:15 tsimmons: yes 17:38:39 I might pick up that bp, pending discussions around here. But good to know it can happen before pools. 17:38:53 artom: cool. 17:39:24 you had a second thing artom? 17:39:34 Second thing: a NSD-slave backend that depends on 1. multiple backends and 2. a PowerDNS backend 17:40:24 The idea would be that the NSD-slave backend would only send remote control commands to a NSD server that would then AXFR from the PowerDNS server. 17:40:53 So it would be a mutant backend that doesn't actually store anything, and depends on another backend. 17:40:58 Would that be acceptable? 17:41:07 yeah, log a blueprint for it 17:41:40 Ah, right, so discussion can take place there. 17:42:00 Yea - I think that needs some thought :) 17:42:05 well, just so the detaisl can be knocked out beter# 17:42:15 details 17:42:24 can't type today :( 17:42:38 but in general, sounds grand 17:43:09 Sure, grand :) 17:43:19 we good to finish up everyone? 17:43:52 * artom is good. 17:44:18 thanks everyone! 17:44:21 thx 17:44:21 #endmeeting