19:14:20 #startmeeting marconi 19:14:21 Meeting started Thu Jun 6 19:14:20 2013 UTC. The chair is kgriffs. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:14:22 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 19:14:24 The meeting name has been set to 'marconi' 19:15:22 #link http://youtu.be/sDUw1Je_JJE 19:16:00 I'm in but I can't hear anything 19:16:17 it said you left 19:16:26 https://plus.google.com/hangouts/_/43e14b608e33ae127ec6ab4852f0128ae0d8a878 19:16:30 try again? 19:16:33 Flavio Percoco Premoli joined group chat. 19:16:33 Flavio Percoco Premoli left group chat. 19:16:33 Flavio Percoco Premoli joined group chat. 19:16:34 Flavio Percoco Premoli left group chat. 19:17:00 you were there for a sec 19:17:02 it throws some error on the video call 19:17:11 can you do sound only? 19:17:37 ok, give up? 19:18:11 #topic audio meetings 19:18:44 #action flaper87 to fix his mic 19:18:47 :D 19:18:47 sorry guys, this stupid update doesn't seem to work correctly 19:18:50 LOOOL 19:19:09 #topic H1 milestone closure 19:19:15 I think I'm in 19:19:56 kgriffs: saw you 19:19:58 ok, let's try again another time - i think it had something to do with the "on air" 19:20:15 so, re H1 19:20:18 kk 19:20:20 it is now behind us 19:20:51 so, we need to update the bp's and trello cards 19:20:57 kk 19:21:42 we made good progress on all the stuff we planned, but just didn't bring them all to closure 19:22:27 so, I can just move back everything, but wanted to ask if there was anything we had scoped for H1 that turned out to be lower priority and should be moved maybe to H3 instead of H2 19:22:45 https://trello.com/board/openstack-marconi/511403287d138cd6200078e0 19:23:13 * flaper87 checking 19:23:23 for example, "validate input" I think we need before launch, but not immediate 19:23:30 (look at the "next up") 19:23:52 I'm wondering if we need that "next up" list, or just merge with the milestone lists? 19:24:03 kgriffs: +1 for merge 19:24:10 any objections? 19:24:14 the more focus in 1 column we can be the better 19:24:25 focused* 19:25:15 #agreed Merge "next up" list with milestone list 19:26:22 also, I'd like to add a Havana-3.a 19:26:32 kgriffs: +1 19:26:49 Basically, I would like something to target for "pretty much production ready" 19:27:01 H3 will be for stabilization and whatever 19:27:52 makes sense 19:28:06 there's a limit for introducing new features 19:28:13 OK, let me do this. I will take a first pass and moving the cards around, and you guys can complain loudly in #openstack-marconi if you don't like what you see. 19:28:15 IIRC it is september 19:28:24 ok 19:28:29 LIKE THIS ? 19:28:57 that's about right. :D 19:29:06 Is some of the Havana-2 stuff optional? We really going to add WebScoket, qpid, Kombu, etc? 19:29:25 #action kgriffs to clean up trello board, get things prioritized better 19:29:38 ametts: I read those as "Nice to Have" 19:29:41 TBH 19:29:53 Me too. 19:30:15 so, re incubation, can we put all the alternate drivers in September-ish timeframe? 19:30:18 but we should definitely target them and focus on the column as "Must Have" 19:30:38 kgriffs: sure 19:30:45 OK 19:31:27 #topic bugs 19:31:47 So, just wanted to get updates on bug fixes that are in progress 19:32:26 before that, can we also define a time line for the marconi client ? 19:32:40 kgriffs: I was working on Autoreconnect 19:32:49 malini: let's do that next topic 19:32:51 that discussion is still pending 19:32:53 #link https://bugs.launchpad.net/marconi/+bug/1169821 19:32:56 OK 19:33:13 so, let's talk about that for a couple mins 19:33:17 so, It basically works but it could be improved before letting it land 19:33:31 cool 19:33:56 ok, so your wrapper is only for reads, correct? 19:34:06 * kgriffs is looking 19:34:16 nope 19:34:25 it is for everything, basically 19:34:32 the big problem are reads, though 19:34:47 the reason for that is that reads happen in the Cursor 19:35:00 oh, is there any danger of getting part way through a bulk insert and getting a disconnect error? 19:35:29 (ConnectionFailure) 19:35:32 Autoreconnect should be raised before sending the bulk 19:35:40 so, it would just retry 19:35:40 #link https://review.openstack.org/#/c/30230/2/marconi/storage/mongodb/utils.py 19:36:16 if the socket connection simply get's dropped, what happens? 19:36:47 pymongo tries to connect without raising any error 19:36:57 it raises an error when that attempt of connection fails 19:37:04 even halfway through a write? 19:37:08 ah, you mean in the middle of the operation 19:37:19 erm, well... 19:37:41 we could remove the retry stuff 19:37:59 basically, I just want to be sure we aren't doing a generic retry halfway through an insert, since the caller needs to reset the generator 19:39:02 I'm honestly not sure whether we should be handling it at all. I mean, Marconi doesn't know what to do when AutoReconnect happens 19:39:09 right? It just knows there was an error 19:39:22 should we just return an error in the API? 19:39:34 that question is valid even if we handle the Autoreconnect 19:39:49 since mongodb might be completely innaccesible 19:39:58 (dunno if that word exists) 19:40:22 The other thing is that Cursors are lazy 19:40:34 well, the trouble is, in the case of a bulk message post, there is no way to know how many messages succeeded if we drop the connection halfway through. I guess with Mongo there isn't much to do about it? 19:40:44 and none of the read operations will raise any error until they are truly consumed 19:40:48 and that happens in the transport side 19:40:55 kk 19:41:21 so, iterating that cursor could raise an AutoReconnect? 19:41:27 yup 19:41:38 so, crazy idea 19:41:48 the plot thickens... 19:42:22 what if we have some kind of "abstract decorator" implemented in every storage that "knows" how to handle "storage specific errors" that might happen in the transport side? 19:42:47 or just possible exceptions 19:42:57 so that it is possible to do in the transport side something like 19:43:02 ok, so the transport could ask the driver for that thing, maybe it could be a context manager? 19:43:16 try ... except self.storage.CatchThatStuff: ... 19:43:25 yeah, ok 19:43:26 yeah, something like that 19:43:28 something like that could work 19:43:40 oke-doke 19:43:41 ok, so we have two things to solve here 19:43:46 first, reads 19:43:49 second, writes 19:43:55 maybe we are getting too focussed on a single bug ? *brings out her irritating cow bell* 19:44:09 Rock on, malini! 19:44:10 do we need to experiment to see if AutoReconnect errors are possible halfway through a bulk insert? 19:44:31 heh 19:44:31 I think they are 19:44:44 OK, let's move on, but sounds like there's some homework 19:44:45 at least a ConnectionFailure could be raised 19:44:57 And hey, if everything works besides reads and writes, we're good... no? 19:44:59 ok, I'll re-write that patch along these lines 19:45:08 OK, can u verify what happens with bulk inserts? 19:45:14 kgriffs: will do 19:45:18 (simulate a primary failover, see what happens) 19:45:24 excellent 19:45:25 ametts: as far as deletes work, we're fine 19:45:31 :P 19:45:38 Sounds like an awesome queue. :) 19:45:52 #action flaper87 to experiment with bulk insert behavior on mongo connection errors 19:45:55 * flaper87 STFU 19:46:53 #action flaper87 to update AutoReconnect patch to handle read cursor errors 19:47:17 ok, I know this bug is also in progress, any quick thoughts before we move off the bugs topic? 19:47:20 #link https://bugs.launchpad.net/marconi/+bug/1187280 19:47:52 patch waiting for review 19:48:19 kk, I think we can land this one pretty quickly. Looks like Jenkins is happy again 19:48:26 Can everyone re-review? 19:48:29 * flaper87 hates eventlet 19:48:44 FWIW, there's a fair amount of overlap between several of these bugs, input validation, and failing system tests. 19:49:00 marconi/tests/common/__init__.py 19:49:02 renamed from lib/marconi_paste.py 19:49:04 WTF? 19:49:08 Jenkins is crazy 19:49:08 yes, the remaining bugs are mostly due to holes in the implementation re the API spec 19:49:14 heh 19:49:28 #topic blueprints 19:49:34 ametts: they exist just to make us beleive we're going faster 19:49:39 QA cluster news? 19:49:40 we can close 2 bugs with 1 patch 19:49:45 * flaper87 STFU 19:49:51 I know, I've said it before 19:49:57 flaper87: LOL 19:50:01 * kgriffs didn't hear anything 19:50:30 We havent made much progress on the QA cluster since last time 19:50:38 * kgriffs sad panda 19:50:47 any blocking issues? 19:51:16 its just that oz_akan had other priorities this week 19:51:45 kk, will he be back on this next week? 19:51:53 yes 19:52:07 kk, keep us posted 19:52:07 QA cluster runs system tests with every commit? 19:52:27 its not hooked into jenkins yet 19:52:33 But we'll be there soon 19:52:37 +1 19:52:43 how about performance tests? 19:53:00 I have the xmls (i.e defining scenarios/loads etc.) ready 19:53:16 So we are ready to run them when we have the cluster 19:53:25 excellent 19:53:28 nice work 19:53:34 Also, can I move those xmls to the marconi repo ? 19:53:50 under tests/performance ? 19:53:52 and that will be triggered by patch submissions as well? 19:53:54 yes 19:54:07 flaper87: thoughts on where those should live? 19:54:26 * ametts Wants to make sure we save time for a quick marconiclient discussion 19:54:49 mmhh, not right now, not sure if those should go into the tree 19:55:03 ok, let's discuss in #openstack-marconi 19:55:08 ok 19:55:08 kk 19:55:17 #topic python-marconiclient 19:55:36 next steps, timing? 19:55:41 we are stalled on the client because of Alessio's patch. 19:55:55 Just noticed that stackforge/python-marconiclient doesn't have jdprax's original stuff in it, but it does have Alessio's patch pending. 19:56:10 What's the plan -- we start with the patch and fold in jdprax's original stuff? 19:56:48 ametts: so, the plan was to give alessio's code a try, and help improving that code 19:57:11 The code proposed there is meant to be a shared client library that will, eventually, land in oslo 19:57:18 but, it needs a lot of work and cleaning 19:57:31 can malini help with that work and cleaning? 19:58:01 Ok -- so that forms the base and it gets called by other stuff for marconi-specific things? 19:58:02 I emailed Alessio & at this point he badly needs reviews to merge his stuff into oslo-incubator 19:58:36 wait - I thought he was merging this into python-marconiclient first? 19:58:42 Is there anything of value that gets reused from the jdprax stuff? 19:58:48 kgriffs: yup 19:58:54 first into marconiclient 19:59:07 kgriffs: malini can help for sure 19:59:16 hmm..So we dont need the oslo incubator stuff ? 19:59:17 we should start reviewing that patch 'til the last bit 20:00:18 So if we can get https://review.openstack.org/#/c/29255 fixed, we shud be good to go ? 20:00:32 (note: we are out of time, let's wrap up) 20:00:52 malini: sort of, yeah 20:01:06 we can keep discussing this stuff right now on #os-marconi 20:01:38 #action malini and flaper87 to continue api client discussion elsewhere 20:01:58 two parting thoughts 20:02:14 malini, can you add a few very basic security tests, maybe just fuzzing? 20:02:22 one possibility: http://gauntlt.org/ 20:02:46 yes, I'll start looking at what we can add 20:02:48 second thought, please review this RFC on the project: https://etherpad.openstack.org/queuing-scratch 20:02:58 ok, thanks folks 20:03:15 we will shift some agenda items to next week. 20:03:31 #endmeeting