21:03:43 <russellb> #startmeeting nova 21:03:44 <openstack> Meeting started Thu Mar 7 21:03:43 2013 UTC. The chair is russellb. Information about MeetBot at http://wiki.debian.org/MeetBot. 21:03:45 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 21:03:47 <openstack> The meeting name has been set to 'nova' 21:03:49 <russellb> #chair vishy 21:03:50 <openstack> Current chairs: russellb vishy 21:03:55 <russellb> #link https://wiki.openstack.org/wiki/Meetings/Nova 21:04:01 <russellb> as you can see on the link, we have no agenda \o/ 21:04:11 <russellb> nap time 21:04:36 <Vek> dansmith: actually, that's easy; just move to a planet with a slower rotation rate... 21:04:45 <russellb> I suppose topic of most immediate interest is grizzly-rc1 21:04:46 <dansmith> Vek: can I ride with you? 21:04:48 <russellb> #link https://launchpad.net/nova/+milestone/grizzly-rc1 21:05:17 <russellb> One thing worth mentioning is the backportable db migrations blueprint that we had on here, that has been removed 21:05:39 <russellb> vishy realized there was a problem with the plan to merge blank migrations at the end of grizzly and that right thing to do was to merge the blank ones when havana opens 21:05:41 <Vek> dansmith: If you'll buy the fuel, sure :) 21:05:53 <russellb> so we just need to make sure we get his patch merged first in havana, before any other migrations 21:05:59 <vishy> hi 21:06:17 <russellb> vishy: hi! was just trying to recap the migrations thing ... *hands it over* 21:06:25 <vishy> no go ahead 21:06:27 <vishy> :) 21:06:39 <Vek> the migrations thing makes me wish we had alembic in... 21:06:42 <russellb> k, well i think that was about it, unless anyone wants to dive into why 21:06:45 <dripton> Vek +1 21:07:00 <russellb> yeah, but at least this gives us *something* for grizzly 21:07:10 <Vek> oh, I'll grant you that 21:07:25 <dripton> Vek: I'm planning to shove Alembic down various throats at the summit. 21:07:32 <russellb> ha 21:07:41 <russellb> dripton: didn't you have a patch that had it working or close to it? 21:07:43 <Vek> dripton: cool :) 21:07:57 <Vek> wish I could be there, especially now that there's sessions on quotas proposed :/ 21:07:58 <russellb> i guess what you had done was work on auto converting existing migrations? 21:08:11 <dripton> russellb: yes, but it's only a 90% solution. The other 10% is a lot of work. 21:08:15 <russellb> Vek: duuuuuuude, you were missed last time, not going again? :( 21:08:29 <Vek> yeah, RS isn't sending me this time either. 21:09:03 <Vek> (I don't like flying commercial anyway, but it's about a 14 hour trip if I try to fly it on my own...) 21:09:03 <russellb> To all employers: if you have someone on whatever-core, you need to send them to the design summit. that is all. 21:09:12 <Vek> heh. 21:09:41 <Vek> to be fair, if I had proposed a session on quotas myself, they probably would have sent me. 21:09:57 <russellb> Vek: what if you propose a design summit session :) 21:10:10 <Vek> heh :) 21:10:50 <russellb> so rc1 21:11:10 <russellb> just one critical bug and comstud is all over it 21:11:21 <russellb> any other bugs worth discussing here? 21:12:30 * Vek accidentally drops a pin 21:12:37 <russellb> :) 21:12:56 <russellb> so I guess we should just fix them all, and that's that 21:13:02 <Vek> guess so :) 21:13:09 <russellb> cool. 21:13:20 <russellb> well then ... anything else about anything? 21:13:58 <russellb> most eventful nova meeting ever 21:13:59 <boris-42> I would like to move sqlalchemy.utils to common code should I write some blue print? 21:14:10 <boris-42> blueprint* 21:14:16 <Vek> boris: probably best, and of course that would be havana work... 21:14:19 <russellb> to oslo-incubator? 21:14:28 <boris-42> yeah 21:14:36 * russellb agrees with Vek 21:14:46 <dripton> boris-42: Do other projects already use it? 21:14:49 * devananda agrees too 21:15:12 <devananda> keystone is about to add test_migrations, copied from an older nova version of it 21:15:14 <boris-42> agrees to with Vek =) but I could write it now=) and do in Havana=) 21:15:21 <devananda> so that may also be worth porting to oslo 21:15:58 <dripton> devananda: Did you succeed in hoisting a reusable superclass out of test_migrations when you were doing baremetal migrations? 21:16:06 <devananda> dripton: yep 21:16:12 <devananda> boris and i both tackled that 21:16:23 <dripton> devananda: cool, then we have an obvious candidate 21:18:00 * devananda thinks boris should write up a BP for porting sqlalchemy.utils and migration testing to oslo :) 21:18:25 <russellb> sounds good to me! 21:18:31 <boris-42> One more thing. As you know test_db_api doesn't cover all methods... 21:18:42 <boris-42> for example there is no tests for security_groups at all! 21:18:46 <devananda> indeed .... 21:18:59 <boris-42> probably there should be also blueprint add missing tests for test_db_api 21:19:06 <devananda> ++ 21:19:07 <russellb> there's a nova bug about that 21:19:26 <dripton> the kind of bug you can never close because you always need more tests 21:19:28 <russellb> https://bugs.launchpad.net/nova/+bug/828631 21:19:29 <uvirtbot> Launchpad bug 828631 in nova "nova/db/* almost only tested indirectly" [Low,Confirmed] 21:19:37 <russellb> opened in August of 2011 21:19:43 <boris-42> ^_^ 21:19:44 <uvirtbot> boris-42: Error: "_^" is not a valid command. 21:19:58 <devananda> no wonder i never saw that bug 21:20:02 * devananda adds a "db" tag to it 21:20:13 <Vek> heh 21:20:14 <boris-42> Yeah I think that BP is better idea=) 21:20:45 <russellb> yeah, maybe ... kind of in that blueprint <-> bug gray area to me 21:20:53 <russellb> i guess it's not a bug, nothing is broken 21:20:56 <russellb> :) 21:21:00 <russellb> for some definition of broken ... 21:21:11 <dripton> you don't know if anything is broken because you don't have a test for it. 21:21:16 <boris-42> =)) 21:21:27 * devananda realizes a new way to eliminate bugs... just delete the tests! 21:21:28 <russellb> in any case, if you open a bp let's close this bug 21:21:41 <boris-42> Ok 21:21:49 <Vek> devananda: that would make the test suite run a whole lot faster, too! 21:21:57 <devananda> ;) 21:22:06 <dripton> Do we have test coverage viewable somewhere out of Jenkins? 21:22:15 <russellb> dripton: yes ..... somewhere ........ 21:22:22 <boris-42> eyes=) 21:22:40 <russellb> race to find it! 21:23:07 <russellb> https://jenkins.openstack.org/job/nova-coverage/ 21:23:19 <clarkb> logs.openstack.org/shortsha/follow/the/path/to/nova-coverage 21:24:27 <russellb> clarkb: it's like you have advanced IRC conversation highlighting to alert you when you need to appear with a -infra related link :) 21:24:47 <dripton> I see that page but not any actual useful coverage results. Maybe they're just hiding; maybe we need to install the cobertura plugin and do the right magic to convert Python test results to Java XML format so it can display them. 21:24:52 <boris-42> oO 21:24:52 <boris-42> https://review.openstack.org/#/c/23660/ 21:25:10 <russellb> example: http://logs.openstack.org/e237698/post/nova-coverage/5635/cover/ 21:25:13 <clarkb> dripton: no, we actually stopped doing that with jenkins because jenkins uses too much resources to do it 21:25:24 <clarkb> instead we generate the html reports then copy them to the log server 21:25:40 <devananda> #link http://logs.openstack.org/e237698/post/nova-coverage/5635/cover/nova_db_sqlalchemy_api.html 21:26:07 <dripton> clarkb: makes sense, but it makes it hard to find them if you don't already know where to look 21:26:08 <russellb> overall total: 80% 21:26:18 <boris-42> I don't believe =) 21:26:36 <Vek> 80% is easy. 100% is difficult :) 21:26:38 <russellb> 88% for the db api :) 21:26:43 <clarkb> dripton: ya 21:26:51 <dripton> 100% is unnecessary. 80% is actually pretty damn good. 21:26:53 <russellb> dripton: but now you know where it is! 21:27:01 <dripton> Bookmarking... 21:27:05 <Vek> heh. 21:27:21 * devananda notices the number of exceptions not getting tested in db/api 21:27:55 <russellb> clarkb: is this just unit test coverage, or is this after running tempest too 21:28:13 <Vek> that would be an interesting statistic... 21:28:28 <clarkb> russellb: that is just unittest specific 21:28:35 <russellb> cool 21:28:36 <clarkb> the tempest coverage is its own thing (a daily job iirc) 21:29:30 <russellb> https://jenkins.openstack.org/job/periodic-tempest-devstack-coverage-vm-full/ 21:29:42 * russellb guesses that's it ... 21:29:50 <clarkb> yup that looks right 21:30:09 <russellb> http://logs.openstack.org/periodic/ 21:30:57 <russellb> http://logs.openstack.org/periodic/periodic-tempest-devstack-coverage-vm-full/58/logs/coverage-report/ 21:31:14 <russellb> that says 21% 21:31:34 <clarkb> russellb: I think it may only be able to collect nova-api coverage right now 21:31:41 <clarkb> (but I may be mistaken) 21:32:02 <russellb> clarkb: ok. i know there was some work to support all services, don't remember status 21:32:09 <russellb> dansmith: do you know? wasn't that a coworker of yours? 21:32:21 <dansmith> russellb: mtreinish yeah 21:32:41 <dripton> clarkb: it looks like it's crawling all the unit tests, not just the API 21:33:16 <clarkb> its generating results for all of nova/ but at runtime only runs within nova-api 21:33:30 <dripton> clarkb: ok, got it 21:34:16 <russellb> so there's the long answer to "do we have code coverage reports" :) 21:34:39 <russellb> Vek reminds us all that we need to help review python-novaclient patches, heh 21:35:07 <russellb> this URL is your friend for that: https://review.openstack.org/#/q/status:open+(project:openstack/nova+OR+project:openstack/python-novaclient)+branch:master,n,z 21:35:22 <Vek> :) 21:35:43 <dripton> two bookmarks in one meeting 21:36:08 <russellb> that's productivity of some sort :) 21:36:31 <Vek> heh 21:36:34 <russellb> also need to be looking at python-novaclient bugs 21:36:52 <russellb> and btw, if you want to close out some bugs and feel good, sort bugs by age and start at the oldest 21:36:59 <russellb> lots of stuff that's not even applicable anymore 21:37:24 <russellb> the cleaner the bug list, the more useful it is 21:37:55 <russellb> anything else? 21:37:57 <Vek> *nod* 21:39:21 <russellb> guess we can close out then ... thanks everyone 21:39:27 <mtreinish> clarkb, russellb: it covers all the services now 21:39:33 <russellb> mtreinish: nice! 21:39:43 <russellb> mtreinish: when looking at the coverage results, it looked like it did 21:39:53 <mtreinish> but there is still a bug with the coverage module and eventlet so some of the results look really weird 21:40:01 <Vek> lovely. 21:40:13 <russellb> eventlet \o/ 21:40:33 * Vek used gevent for Tendril; that looks nice... 21:40:37 <mtreinish> for example: http://logs.openstack.org/periodic/periodic-tempest-devstack-coverage-vm-full/57/logs/coverage-report/nova_virt_libvirt_driver.html 21:40:53 <jog0> russellb: are we gonna have a summit session on eventlet and its future? 21:41:11 <russellb> jog0: only if someone is motivated enough to make that a priority to work on 21:41:22 <russellb> just complaining about it isn't hugely useful :) 21:41:27 <russellb> IMO .... 21:41:32 <dripton> There's no free lunch. If you want to have asynchronous code that looks like synchronous code then you're going to have a 90% solution and 10% bugs. 21:41:37 <jog0> russellb: there will be an eventlet session at the conference that may be useful 21:41:39 <Vek> Probably for the 'i' or 'j' summits, we should be seriously thinking about how to support python3 (if not before then...) 21:41:46 <dripton> If you want the 100% solution you have to make it explicit and then your code will be ugly. 21:42:00 <jog0> so gevent isn't a good option to discuss for H? 21:42:03 <russellb> Vek: indeed 21:42:32 <dripton> Isn't gevent pretty much the same model as eventlet with slight differences under the hood? 21:42:56 <Vek> dripton: it's forked from eventlet, in fact, IIRC 21:43:26 <Vek> I believe it has v6 support available, too, though eventlet is likely to add that before too much longer (if they haven't already) 21:43:50 <russellb> there are some other ways we could approach this other than just forklifting eventlet 21:43:57 <Vek> last I looked, though, the 1.x series was going to use a completely different core from the 0.x series... 21:44:09 <russellb> like, say, try to convert only the nova-compute service to native threads 21:44:40 <jog0> russellb: true 21:44:44 <russellb> or nova-conductor 21:45:01 <russellb> nova-conductor's entire job is db access ... which is kinda hacky with eventlet 21:45:06 <jog0> also there is the sqlA discussion that ties in to this 21:45:11 <russellb> yes 21:45:43 * Vek nods 21:45:52 <russellb> good times 21:46:04 <jog0> sorry for derailing the meeting 21:46:12 <russellb> nah, we were pretty much done I think 21:46:16 <Vek> sounds like we have things to do well beyond the 'm' release :) 21:46:46 <russellb> one last thing i want to mention ... mikal really wanted to be here, but couldn't because of orientation at RAX 21:46:52 <russellb> so he's not just avoiding us :) 21:46:57 <Vek> :) 21:47:09 <dansmith> for some reason, 21:47:09 <russellb> alright, thanks everyone! 21:47:19 * russellb halts again 21:47:29 <dansmith> when you said "orientation", all I could think of was that the aussie was upside down 21:47:40 <Vek> *rotcl* 21:47:46 <devananda> heh 21:47:59 <Vek> we call it "rookieO", and you're probably right about it being upside down... 21:48:12 <russellb> ha, sounds like he's enjoying it 21:48:24 <russellb> he's actually on this side of the earth right now 21:49:07 <russellb> k, bye! 21:49:11 <russellb> #endmeeting