16:02:12 <jgriffith> #startmeeting cinder 16:02:13 <openstack> Meeting started Wed Oct 1 16:02:12 2014 UTC and is due to finish in 60 minutes. The chair is jgriffith. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:02:14 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:02:16 <jgriffith> hey all 16:02:16 <openstack> The meeting name has been set to 'cinder' 16:02:19 <thingee> o/ 16:02:20 <tbarron> hi 16:02:24 <ameade> hey 16:02:27 <patrickeast> hey 16:02:27 <DuncanT-> hey 16:02:28 <scottda> hi 16:02:30 <jungleboyj> o/ 16:02:32 <xyang1> hi 16:02:36 <eharney> hi 16:02:37 <jbernard> o/ 16:02:38 * thingee has a conflicting meeting :( 16:02:47 <jgriffith> this should be short 16:02:48 <avishay> hello 16:02:49 <Swanson> hi 16:02:51 <jgriffith> #topic RC1 16:02:51 <vincent_hou> hi 16:02:52 <Yogi2> hi 16:03:11 <jgriffith> so the mantra for the week should be (for those that didn't catch it) TEST 16:03:15 <jgriffith> TEST 16:03:17 <jgriffith> TEST 16:03:18 <jgriffith> TEST 16:03:19 <jgriffith> TEST 16:03:23 <jgriffith> get the idea? 16:03:26 <mtanino> :) 16:03:28 <kmartin> hello 16:03:31 <jgriffith> Not yeah, write code for Kilo 16:03:34 <jgriffith> Test 16:03:40 <jungleboyj> jgriffith: What should we be doing? 16:03:50 <jgriffith> jungleboyj: why I otttaaaaaa 16:03:52 <avishay> jungleboyj: writing code for kilo 16:03:55 <DuncanT-> Also fix the bugs that other people's testing has found 16:03:59 <jgriffith> seriously though 16:04:03 <jungleboyj> avishay: aAh, good, thanks! 16:04:05 <jgriffith> we cut RC1 this AM 16:04:11 <jungleboyj> jgriffith: :-) 16:04:23 <jgriffith> there was a slew of bugs logged against bacup last night 16:04:41 <jgriffith> and I've noticed a couple other things we've sort of neglected around manage etc 16:05:04 <xyang1> jgriffith: are they critical enough to cut RC2? 16:05:14 <jgriffith> xyang1: haven't decided yet 16:05:20 <jgriffith> xyang1: pretty border line so far 16:05:35 <jgriffith> xyang1: but I want to make sure that if there is something critical enough we identify it ASAP 16:05:38 * DuncanT- is slowly working through triaging the backup bugs 16:05:45 <jgriffith> xyang1: and I've got a number of things that we can put in 16:05:53 <jgriffith> DuncanT-: you can double check my work there :) 16:05:59 <jgriffith> DuncanT-: I triaged them this morning 16:06:15 <jgriffith> DuncanT-: well... verified some, triaged some 16:07:31 <jgriffith> anybody have anything else? 16:07:52 <jungleboyj> jgriffith: So, just to clarify from a reviewer standpoint. 16:07:59 <hemna> meh 16:08:10 <jungleboyj> jgriffith: Don't worry about reviews so much and don't be merging anything at the moment? 16:08:11 <AlkaD> nope 16:08:22 <jgriffith> jungleboyj: not necessarily 16:08:27 <DuncanT-> jungleboyj: Important bug fixes are important 16:08:32 <hemna> I'm not +A'ing anything right now w/o talking with jgriffith first. 16:08:35 <glenng> jgriffith: Can we worry about reviews next week? 16:08:41 <jgriffith> jungleboyj: no reason to stop forward progress, but be "picky" right now 16:08:46 <tbarron> what happens to the reviews we had in flight? 16:08:47 <jungleboyj> jgriffith: DuncanT- Right. 16:08:47 <glenng> NFS Security… 16:08:50 <jgriffith> glenng: we can always do reviews 16:08:56 <jgriffith> tbarron: theyr'e still in flight 16:08:58 <xyang1> jgriffith: we can still +2, but no +A? 16:09:00 <jungleboyj> hemna: That sounds like a good plan. 16:09:05 <glenng> jgriffith: Good. Mine is out there waiting. 16:09:11 <jgriffith> xyang1: you can still approve/merge just like always 16:09:14 <eharney> note that master is now Kilo 16:09:15 <jungleboyj> glenng: Been meaning to get to that. 16:09:26 <jgriffith> my point is just I'd like people to be focusing on Juno right now 16:09:32 <glenng> jungleboyj: I love you Man! 16:09:50 <jungleboyj> glenng: :-) 16:10:08 * jungleboyj is picturing the scene from Wayne's World 16:10:22 <hemna> FYI, there are new cinder scenarios in Rally that folks can be running to stress test stuff. 16:10:31 <jgriffith> hemna: +1 16:10:56 <jgriffith> the good thing is that IMO people's CI efforts have helped us out a bit this cycle 16:11:04 <xyang1> hemna: I thought you ran into problems with Rally? does it work now? 16:11:08 <jgriffith> There's not as much of a panic/rush at the end to fix driver bugs 16:11:09 <hemna> if you haven't run Rally yet, you should. 16:11:13 <hemna> Take a look at https://github.com/stackforge/rally/blob/master/rally/benchmark/scenarios/cinder/volumes.py 16:11:25 <hemna> I added a create_and_attach_volume scenario 16:11:30 <hemna> it's simple 16:11:31 <jgriffith> From my perspective drivers are the lowest priority right now with the exception of LVM 16:11:40 <hemna> xyang1, yah it works 16:11:56 <hemna> I have another guy on our team working on a more complicated scenario test runner for cinder 16:11:58 <jgriffith> but you're all professional adults, use your judgement on how you want to manage your time/effort 16:12:20 <jungleboyj> :-) 16:12:24 <jgriffith> Ok, side convos have started... shall we wrap up here? 16:12:43 <flip214> "thanks for all the fish" 16:12:43 <jungleboyj> Did hemna want to talk about cleanup? 16:12:48 <glenng> jgriffith: last time I was called a professional I was being escorted out the door! 16:12:49 <DuncanT-> jgriffith: Are we going to talk about Kilo cleanup? 16:13:04 <hemna> glenng, :) 16:13:16 <jungleboyj> DuncanT-: Wait, remember Juno! 16:13:34 * flip214 just read "remember the Alamo!" 16:13:40 <markstur_> Ah Juno. The good ol' days. 16:13:53 <jgriffith> DuncanT-: nope, I wasn't going to mention that at all... but if folks want to I guess that's up to you all 16:14:04 <hemna> we can save it for next week 16:14:11 <jungleboyj> hemna: That works for me! 16:14:21 <hemna> everyone install rally and run the cinder scenarios 16:14:22 <hemna> :) 16:14:27 <jgriffith> BTW... if you haven't done so yet; GO VOTE!!!! 16:14:28 <DuncanT-> jgriffith: I don't mind, but need to talk about it next week at the latest to start assigning people to work 16:15:09 <hemna> if anyone has free time, take a look at the priority list (https://etherpad.openstack.org/p/cinder-kilo-stabilisation-work) and comment 16:15:10 <jgriffith> DuncanT-: you can bring up a preview now.. 16:15:20 <hemna> chew on it this week and let's chat about it next meeting ? 16:15:22 <jgriffith> #topic DuncanT- 's preview on Kilo cleanup 16:15:56 <jgriffith> DuncanT-: ^^ 16:16:02 <DuncanT-> So I've got a new worry to add to the list: Test coverage, particualrly negative testing 16:16:23 <DuncanT-> We've had a couple of policy not enforced type bugs 16:16:33 <DuncanT-> Plus all the work in Hemna's document 16:16:58 <jgriffith> Honestly our entire unit test collection sucks and is mostly broken IMO 16:17:10 <jgriffith> but I'm saving that for after Juno :) 16:17:12 <hemna> mox --> mock 16:17:22 <glenng> +10 16:17:26 <jgriffith> hemna: haha... not even that but ok :) 16:17:26 <glenng> Mock is better 16:17:29 <DuncanT-> mox -> mock doesn't buy us /that/ much 16:17:29 <ameade> yeah 16:17:31 <hemna> hehe 16:17:35 <DuncanT-> or mock -<> mox 16:17:41 * jgriffith bights his tongue 16:17:56 <glenng> We should all migrate to using Mock. 16:17:57 <jgriffith> You all are determined to suck me into this conversation now aren't you :) 16:17:57 <hemna> I hate looking at the current tests, due to context switching between mox and mock 16:17:58 <hemna> completely sucks 16:18:04 <hemna> but that's probably just me. 16:18:04 <jgriffith> who cares honestly 16:18:13 <jgriffith> I hate the fact that people don't know what unit tests are 16:18:14 <DuncanT-> Is it worth picking one area and trying to turn them into an example of 'good testing'? 16:18:32 <hemna> DuncanT-, how about the volume manager tests :) 16:18:46 <jgriffith> unit tests are supposed to test your little piece of code, ideally the largest thing tested should be a single method 16:19:01 <jgriffith> in our case we do things like load entire services, call 5 different modules etc etc 16:19:04 <jgriffith> it's crap 16:19:15 <avishay> jgriffith: +1 16:19:19 <glenng> jgriffith: Only when not done well. 16:19:23 <hemna> yah, and those are very difficult to do, as you basically mock the world 16:19:24 <jgriffith> and don't get me started on our over use of fakes 16:19:25 <DuncanT-> jgriffith: I've always said one method or one boundary 16:19:36 <jgriffith> DuncanT-: indeed 16:20:00 <jgriffith> ok, so that's a good topic for Kilo improvements 16:20:00 <avishay> jgriffith: i think mox was pretty hard to figure out and led to all the fakes junk, but agree 16:20:01 <DuncanT-> jgriffith: But we need tests that are more than unit tests but less than tempest too, particualrly negative tests of our defensive programming 16:20:03 <hemna> jgriffith, create an etherpad to dump ideas about unit tests, and link to that from the kilo etherpad ? 16:20:11 <jungleboyj> jgriffith: +1 16:20:20 <jgriffith> hemna: sounds good to me 16:20:36 <glenng> DuncanT: Right. Test cases to cover positive and negative coverage. 16:20:36 <jgriffith> DuncanT-: and that's been proposed 16:20:37 <hemna> avishay, +1 16:20:45 <jgriffith> DuncanT-: Cinder based functional testing 16:20:56 <jgriffith> DuncanT-: or... functional testing that lives in Cinder 16:21:00 <jgriffith> however you want to word it 16:21:28 <DuncanT-> jgriffith: So we'd have 3 levels of testing? Unit, functional and system? Sounds good to me 16:21:39 <jgriffith> DuncanT-: that's been my proposal 16:21:54 <thangp> system = tempest? 16:21:57 <DuncanT-> jgriffith: I'm onboard with that 16:22:00 <DuncanT-> thangp: Yeah 16:22:01 <jgriffith> cool 16:22:04 <jungleboyj> DuncanT-: I think that is what swift does. 16:22:16 <jgriffith> devils in the details, but seems like the right direction to me 16:23:17 <DuncanT-> On a related note, if anybody is smart enough to be able to figure out how to get coverage out of a running cinder service (so I can get reports of the coverage of tempest) can they let me know please? I'm failing, and want to do periodic reports so that we can identify low hanging fruit tempest gaps 16:23:29 <avishay> it's definitely the right thing to do. unit tests mock everything outside of a function, and higher-level tests subsystems and mock out the rest, and of course full system tests 16:24:06 <avishay> DuncanT-: if you find out please let me know 16:25:21 <mtreinish> DuncanT-: what kind of coverage? like how many of the api endpoints you hit? 16:25:35 <DuncanT-> mtreinish: Lines of code, ideally 16:25:47 <DuncanT-> mtreinish: As in python coverage tool output 16:26:09 <DuncanT-> mtreinish: Unfortunately the tool seems not to like eventlet 16:26:14 <mtreinish> DuncanT-: well I played with that in nova a while back the short answer there isn't a good way to do it. 16:26:17 <flip216> DuncanT- learn from https://wiki.openstack.org/wiki/Nova/CoverageExtension ?? 16:26:19 <mtreinish> DuncanT-: yeah eventlet breaks things 16:26:46 <DuncanT-> flip216: Oooo, interesting, thanks! 16:26:47 <mtreinish> flip216: yeah, that's what I was referring to, it was removed from nova because it didn't really work well because of the eventlet issues 16:27:09 <jgriffith> mtreinish: DuncanT- flip216 we should probably annotate that in the wiki 16:27:28 <jgriffith> Unless it's there and I just didn't see it 16:27:36 <mtreinish> jgriffith: yeah that's a good idea, I had completely forgotten about it 16:27:48 <jgriffith> mtreinish: that's the beauty of wiki's :) 16:28:08 <jgriffith> I do it allll the time 16:28:12 <flip216> I guess there'll be some way to do "import coverage; coverage.start()" or so, too? 16:28:43 <flip216> that's just two lines that can be inserted in service.py or so .. 16:29:26 <mtreinish> flip216: well that's basically what the extension did, just triggered the start by an api call 16:29:51 <mtreinish> but it turned out not to be useful because of the issues running it with eventlet 16:31:49 <DuncanT-> well, it's something for those interested to try playing with - It has to potential to be extremely useful 16:31:56 <flip216> well, http://eventlet.net/doc/testing.html says "nosetests --with-coverage --cover-package=eventlet" 16:32:12 <jgriffith> ok.... we've completely digressed :) 16:32:14 <flip216> perhaps that works? 16:32:26 <flip216> bike shedding, as I said. 16:32:28 <jgriffith> we can discuss in #openstack-cinder maybe? 16:32:33 <flip216> I'd like my coffee with milk, please. 16:32:37 <jgriffith> LOL 16:32:47 <jgriffith> I'd like mine without thank you! 16:33:00 <jungleboyj> Black coffee all the way! 16:33:05 <flip216> without "thank you"? you'd get yours with a "here you are, sir"... 16:33:12 <jgriffith> Ok... anybody have any questions, comments or concerns? 16:33:17 <thingee_> I like my coffee black, just like my metal. 16:33:24 <flip216> is this meta-discussion really necessary? 16:33:27 <jungleboyj> flip216: Nice! 16:33:29 <jgriffith> thingee: LOL 16:33:37 <jgriffith> thingee: I have that shirt somewhere... 16:33:38 <DuncanT-> I'd like mine with a large shot of rum in the top, please? 16:33:44 <flip216> thingee: corroded? 16:33:49 <jgriffith> ok... we're obviously done here 16:33:50 <jgriffith> :) 16:33:53 <jungleboyj> DuncanT-: +2 16:33:55 <jgriffith> thanks everyone 16:33:58 <jgriffith> remember... TEST 16:34:03 <jungleboyj> DuncanT-: Irish Cream! 16:34:03 <jgriffith> #endmeeting