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