17:01:55 <jaypipes> #startmeeting 17:01:56 <openstack> Meeting started Wed Jan 4 17:01:55 2012 UTC. The chair is jaypipes. Information about MeetBot at http://wiki.debian.org/MeetBot. 17:01:57 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic. 17:02:19 <jaypipes> Anyone want to give me a heads up on what was discussed the last 2 weeks? 17:02:49 <nati2> We canceled previous meeting because of holiday. 17:03:10 <jaypipes> nati2: week before that? 17:03:11 <dwalleck> The week before we were talking again about test design style 17:03:15 <nati2> We discussed about testing style on previous previous meeing 17:03:16 <jaypipes> dwalleck: gotcha 17:03:22 <jaypipes> dwalleck: any decisions? 17:03:55 <nati2> hmm I counldn't remember, let me check logs 17:03:57 <dwalleck> Where we left off was asking for demos/brief examples so we could compare and contrast 17:04:09 <jaypipes> dwalleck: right. I dropped the ball on that. apologies 17:04:37 <jaypipes> dwalleck: I will make that my numero uno QA priority today. 17:05:00 <jaypipes> #action jaypipes to make examples of sequential test case vs standalone test case to compare and vote on. 17:05:05 <dwalleck> jaypipes: No problem! I sent out a few examples, which sparked some great conversation, but I think others wanted to show their examples as well 17:05:20 <jaypipes> dwalleck: sent to the mailing list? 17:05:52 <dwalleck> jaypipes: yessir. It seems like it went into everyone's junk mail for some reason 17:06:58 <jaypipes> dwalleck: hmm, ok, I'll check for it... didn't notice it yet 17:07:15 <AntoniHP> I think you can access it in mailing list archives 17:07:25 <jaypipes> dwalleck: so where are folks leaning at this point? 17:07:27 <AntoniHP> this is openstack-qa mailing list, not general openstack one 17:07:35 <jaypipes> AntoniHP: aha! 17:08:42 <AntoniHP> I will also work on some more examples, and send them to list as well - this format should be better to discuss then IRC meetings 17:08:58 <dwalleck> jaypipes: I don't think we're close right now. I think we all need to talk a bit more on that one 17:08:58 <jaypipes> think we can send to the main mailing list? 17:09:10 <dwalleck> sure, I don't mind 17:09:20 <jaypipes> AntoniHP: have a link to the archived thread? 17:09:50 <jaypipes> is Sapan Kona here by any chance? 17:10:01 <AntoniHP> https://lists.launchpad.net/openstack-qa-team/msg00022.html 17:10:09 <jaypipes> AntoniHP: cheers 17:11:09 <jaypipes> alright, well I'll follow up on the mailing list about the example test case stuff, let's move on... 17:11:15 <jaypipes> #action discuss open Tempest bugs 17:11:17 <jaypipes> #link https://bugs.launchpad.net/tempest 17:11:42 <jaypipes> We've got a bunch of open reviews: https://review.openstack.org/#q,status:open+project:openstack/tempest,n,z 17:12:06 <jaypipes> Would be great to get folks' input on those reviews please 17:12:23 <jaypipes> if you haven't done a code review before, would be a good place to start. All input is most welcome 17:12:35 <nati2> sure I'll review 17:12:58 <jaypipes> here is a filtered list of bugs showing new test cases needing written: https://bugs.launchpad.net/tempest/+bugs?field.tag=test-needed 17:13:16 <jaypipes> if you're looking for easy stuff to work on, those are good bugs to pick up. 17:13:28 <jaypipes> Just assign yourself to unassigned bugs and go for it. 17:13:47 <jaypipes> Does anyone have any questions regarding the code submission process or code reviews? 17:14:14 <dwalleck> it's really not too rough. The squashing part was the only gotcha I ever hit 17:14:43 <jaypipes> dwalleck: yup, and remembering to git commit -a --amend if it's a code review fixup... 17:15:04 <donaldngo_hp> in what cases do we have to squash versus ammend 17:15:06 <dwalleck> jaypipes: Exactly. Otherwise things get messy 17:15:16 <jaypipes> donaldngo_hp: good question. let me explain: 17:15:50 <jaypipes> a) if someone has a small fixup request (style related or similar), then when you make a change locally, do a git commit -a --amend and then save the commit message 17:16:42 <jaypipes> b) If you do a set of fixes that are *dependent*, but are a logical set of additional changes from the original commit/changeset, then do not --amend, and it will be a new changeset when you do a git review. 17:17:30 <jaypipes> donaldngo_hp: so typically you will do a git commit -a --amend when you are addressing code review comments, and you will *not* do a git commit -a --amend when you want to create a logical, dependent series of changesets to be reviewed separately 17:17:37 <jaypipes> donaldngo_hp: that make sense? 17:18:05 <donaldngo_hp> yea 17:18:24 <rohitk> jaypipes: awesome explanation! 17:18:40 <donaldngo_hp> thank you 17:18:51 <jaypipes> donaldngo_hp: don't worry. every one of us has been tripped up by it at least once :) 17:19:12 <annegentle> that's a great explanation 17:19:16 <donaldngo_hp> yea ive abandoned a couple reviews ill get better at this 17:19:34 <jaypipes> donaldngo_hp: no worries. you won't break anything in Gerrit :) 17:19:35 <donaldngo_hp> is there a write up on the squash part? 17:19:47 <donaldngo_hp> i think i have the ammend part down 17:19:49 <jaypipes> donaldngo_hp: there isn't, but there should be. 17:19:52 <donaldngo_hp> squash and rebase 17:19:53 <dwalleck> I think there might be in the Gerrit guide... 17:20:08 <jaypipes> lemme check... 17:20:19 <annegentle> #link http://wiki.openstack.org/GerritWorkflow#Long-lived_Topic_Branches 17:20:32 <jaypipes> donaldngo_hp: http://wiki.openstack.org/GerritJenkinsGithub#squash_commits_first 17:20:49 <jaypipes> donaldngo_hp: both of those links above are good 17:21:09 <donaldngo_hp> excellent thank you 17:21:17 <jaypipes> np 17:22:22 <jaypipes> dwalleck: have some time today to work with me on Skype on the open bug list? I think there's some that can be marked fix committed that we were just using to track stuff... 17:22:38 <dwalleck> jaypipes: Sure, can do 17:22:40 <jaypipes> for instance: https://bugs.launchpad.net/tempest/+bug/902366 17:22:41 <uvirtbot> Launchpad bug 902366 in tempest "Testcase: Write Testcases for Rebuild Server" [High,Triaged] 17:22:49 <jaypipes> dwalleck: cool, I'll ping you this afternoon? 17:23:01 <dwalleck> sounds good, I'll be here 17:23:11 <jaypipes> cool. 17:24:00 <jaypipes> in the meantime, nati2, can I ask you to go through the bugs on https://bugs.launchpad.net/tempest/+bugs?field.tag=test-needed that have no priority or have a status of new and put them into Confirmed or Triaged status and set a priority/importance on them? 17:24:22 <nati2> jaypipes: Ooops Yes sir! I got it 17:24:24 <jaypipes> nati2: Confirmed for bugs that do NOT have a prescription for resolving the bug, Triaged for bugs that DO have a prescription. 17:24:29 <jaypipes> nati2: thanks! 17:25:07 <lloydde> should joining https://launchpad.net/~openstack-qa-team require approval? it currently does. 17:25:24 <jaypipes> lloydde: yeah, requires moderation... 17:25:47 <jaypipes> lloydde: you're now approved. :) 17:26:24 <jaypipes> OK, everybody alright with moving on to open discussion? 17:26:33 <dwalleck> Sure 17:26:38 <jaypipes> #topic Open Discussion 17:26:43 <jaypipes> fire away, Anne :) 17:26:48 <annegentle> thanks Jay! 17:26:54 * annegentle is all about open discussion 17:27:02 * lloydde grins 17:27:21 <annegentle> So a couple of items - one from docland, we're finalizing the approach on the API site 17:27:34 <jaypipes> awesome 17:27:42 <annegentle> #link http://heckj.github.com/api-site-mock/ 17:27:53 <annegentle> we've added a search box there and the detail buttons should work now 17:27:56 <jaypipes> oooooh, me likey. 17:28:07 <annegentle> what we need is content, and the approach we're looking at is WADL>HTML 17:28:09 <annegentle> for this site 17:28:19 <annegentle> and I know QA can use WADL too 17:28:33 <annegentle> so I wondered if we can work towards having a WADL for each API stored in the APIs repo? 17:28:41 <nati2> Super cooool! 17:28:44 <jaypipes> annegentle: I think that's an excellent idea. 17:28:45 <annegentle> I've talked to nearly all stakeholders I can think of, and wanted to talk to you all too. 17:29:00 <dwalleck> That would definitely be helpful 17:29:08 <annegentle> With Rackspace's tools, WADL isn't as awful to edit, in Oxygen. 17:29:12 <annegentle> so I'm told :) 17:29:18 <jaypipes> annegentle: :) 17:29:24 <annegentle> I want to take the ones in repos and add more explanatory content 17:29:31 <annegentle> is that a good approach to you all? 17:29:42 <jaypipes> annegentle: no objections from me :) how can our team members help? 17:29:55 <annegentle> and I think Rohit has one waiting in one of the repos, awaiting review? 17:30:10 <annegentle> also the compute-api one Nati did got refactored but it's also checked in 17:30:35 <annegentle> so what I'd like is for QA to review WADLs for accuracy (and usefulness to you all) even after me or a writer adds more content 17:30:38 <rohitk2> anngentle: sorry, I just lost connectivity and context history, will check the logs 17:30:40 <annegentle> so that's one help. 17:30:49 <nati2> annegentle: You mean compute-api is WADL one? 17:31:15 <annegentle> and second help is to ensure there are WADLs in compute-api (yes), identity-api (yes), image-api (not sure), object-api (none) 17:31:26 <jaypipes> annegentle: That's no problem. We can add a bug to have the WADLs for each project reviewed by QA. 17:31:28 <annegentle> nati2: I believe Jorge added one that does not contain extensions 17:31:37 <nati2> I suppose Rohit is not working on WADL 17:31:46 <annegentle> nati2: we also need to figure out what to do with WADL on extensions. 17:31:48 <jaypipes> annegentle: someone (rohit?) was working on the images one IIRC 17:31:49 <rohitk2> yes, that's right 17:31:55 <annegentle> sorry that's a lot of ask for one meeting :) 17:32:05 <jaypipes> annegentle: not a problem. 17:32:13 <annegentle> but I think the mockup is "blessed" so we want good content 17:32:14 <nati2> annegentle: I submited extention WADL with compute-api WADL. And Jorge said to me he will split it from compute-api.. 17:32:36 <annegentle> nati2: yep, that sounds right. For extension WADL, I guess it has to be one WADL per extensions. 17:32:42 <jaypipes> annegentle: I suspect the extension issue will be the major roadblock. what is the plan for dealing with WADLs/description docs for extensions to the compute and identity APIs? 17:32:50 <annegentle> is one:one WADL:extension ok? 17:33:08 <annegentle> jaypipes: yes it is a complete headache :) I'd like ideas honestly. 17:33:33 <annegentle> we can go another route (for getting the API site done) if WADL:extension is awful for maintenance. But it seems like a good reuse opportunity. 17:33:47 <jaypipes> annegentle: I would think that as long as they are all displayed/searchable in a single website and are all well formatted and maintained, that is fine with me. It's when they get out of sync with the implmentation that things start to fall apart ;) 17:34:13 <annegentle> jaypipes: yeah my hope is that WADL sync helps with implementation? But maybe that's wishful thinking? 17:34:24 <annegentle> (helps with implementation sync) 17:34:42 <jaypipes> annegentle: I think it depends on the vigilance of the respective PTLs... 17:34:49 <annegentle> yeah 17:35:03 <annegentle> well and somewhat vigilance for WADL updates? 17:35:13 <jaypipes> annegentle: yup 17:35:19 <annegentle> does anyone have enough experience with object-api to make a WADL for it? 17:35:48 <jaypipes> annegentle: should probably be a step in the "release procedures", really... to check the updates to a WADL for the API. 17:36:01 <annegentle> jaypipes: ah, great idea, I hadn't thought of that. 17:36:02 <jaypipes> annegentle: I can probably do that... 17:36:07 <jaypipes> annegentle: the object-api one... 17:36:20 <jaypipes> annegentle: it's similar to the images-api in some ways. 17:36:24 <annegentle> jaypipes: ok, thanks. I need to ask notmyname if they already have some ? Anyone know? 17:36:31 <jaypipes> annegentle: no idea. 17:36:36 <annegentle> jaypipes: ok 17:36:51 <annegentle> now my second item is Bug Squash days, starting with Feb 2nd 17:36:57 <jaypipes> w00t. 17:36:59 <annegentle> #link http://wiki.openstack.org/BugSquashingDay/20120202 17:37:16 <annegentle> I was thinking of hosting in Austin, anyone think that would be fun in person? 17:37:38 <annegentle> Bug squash sounds fun to me, I'd like to sit in the same room with people who are triaging and squashing so I can learn more 17:37:41 <jaypipes> annegentle: yep. 17:37:59 <annegentle> Also we could squash in San Antonio in the same room :) 17:38:00 <jaypipes> annegentle: but I think expanding to more than just Nova bugs would be good, too :) 17:38:04 <nati2> That's cool day :) 17:38:15 <dwalleck> That would be interesting :) 17:38:17 <annegentle> jaypipes: yep, that's definitely wanted :) expand the squash! 17:38:32 <annegentle> the goal is to go from 550 open bugs to 400 17:38:39 <jaypipes> annegentle: in Nova, I assume? 17:39:09 <annegentle> for nova, yes, we need goals for glance, keystone, quantum too, I plan to reach out to PTLs today but wanted to talk to QA for sure 17:39:16 <jaypipes> annegentle: there's 66 open ones in Tempest, 54 in Glance. 17:39:36 <annegentle> #info Bug squash day Feb 2nd 17:39:42 <jaypipes> 86 in keystone 17:40:09 <jaypipes> annegentle: yeah, I would definitely support that and can probably attend in person. Would be good to catch up with johnpur anyway ;) 17:40:12 * annegentle should check openstack-manuals numbers too 17:40:21 <annegentle> jaypipes: heh good thinking 17:40:46 <annegentle> Great, that's all I had. 17:41:01 <annegentle> #info API site mockup blessed, need WADL for content 17:41:06 <annegentle> (just for the notes) 17:41:20 <annegentle> thanks all 17:41:24 <jaypipes> annegentle: might be good to get someone like sleepsonthefloo or anotherjesse there, too. devstack has 28 open bugs and would be great to get some cross-training with QA and devstack stuff. 17:41:26 <dwalleck> no problem! 17:41:33 <annegentle> oh man that would be great 17:42:05 <jaypipes> annegentle: just because I've found devstack to be invaluable in working with tempest... 17:42:34 <jaypipes> annegentle: and the more folks we can get using the full devstack + tempest testing stack, the better in the long run for the robustness of the integration testing suite. 17:43:32 <jaypipes> OK, anybody got any further questions? time to end the meeting? 17:43:42 <rohitk2> Yes 17:43:54 <jaypipes> rohitk2: got a question? 17:44:02 <rohitk2> IIRC, is someone working on adding more clients to tempest? 17:44:15 <dwalleck> Just one small thing from me. I'm working on a Keystone client right now 17:44:18 <jaypipes> rohitk2: eventually :) I think we need to complete out the httplib2 client first ;) 17:44:19 <rohitk2> not sure but glance and keystone were taken up 17:44:22 <dwalleck> ...strange timing 17:44:45 <rohitk2> dwalleck: thanks for the info 17:44:57 <dwalleck> Yeah, we need to abstract the auth code out of the rest_client 17:45:03 <jaypipes> ++ 17:45:15 <dwalleck> A bug was filed last night that kicked me into gear 17:45:17 <AntoniHP> is that already not implemented in python-novaclient lib? 17:45:23 <rohitk2> dwalleck: Just the auth code or even the service+admin API clients for keystone tests 17:45:25 <rohitk2> ? 17:45:56 <dwalleck> rohitk2: all of the Keystone API 17:46:02 <rohitk2> dwalleck: cool 17:46:23 <dwalleck> I may look into starting the glance one as well. Shouldn't be too hard 17:47:42 <jaypipes> dwalleck: what exactly are we talking about here? are we discussing using novaclient and keystoneclient? 17:47:48 <dwalleck> jaypipes: also wanted to talk to you about your exceptions branch. I think we really need to get that pushed in as well 17:47:49 <jaypipes> dwalleck: or... something else? 17:48:00 <rohitk2> dwalleck++ 17:48:08 <jaypipes> dwalleck: ++ on exceptions branch. I will get that proposed today (needed to be back home..) 17:48:39 <dwalleck> jaypipes: no no, I meant filling out a new service/admin client code like we have for servers, flavors, and images in the Nova package of Tempest 17:49:03 <jaypipes> dwalleck: ah, ok, that's what I thought too... 17:49:12 <dwalleck> jaypipes: Awesome. I've been trying a branch locally with it for the last few weeks. It's been a huge help for debugging 17:49:15 <rohitk2> jaypipes: that's what I asked :) 17:49:24 <jaypipes> AntoniHP: I believe we are going to do python-novaclient after we get the straight HTTP one completed.. 17:49:40 * dwalleck hopes he's not confusing anyone. Too much benedryl 17:49:54 <jaypipes> lol 17:50:26 <dwalleck> and I didn't even spell that right lol 17:50:30 <jaypipes> alright, I'll head off to work on that exceptions branch then. 17:50:37 <jaypipes> good to quit meeting now? 17:50:44 <AntoniHP> jaypipes: python-novaclient has straight HTTP client inside 17:51:30 <jaypipes> AntoniHP: yes, but it's a separate library (and has zone implementation stuff in it as well) and we want to limit the bugs to just the HTTP calls, not bugs in the novaclient library as well. 17:51:49 <dwalleck> jaypipes: ++ 17:52:22 <jaypipes> AntoniHP: of course, we WILL definitely be adding a test suite/client that uses novaclient and not straight HTTP calls, but that will come after the straight HTTP stuff is done... 17:52:24 <rohitk2> i think there's a lot of scope to add tests with just the httplib2 clients 17:52:25 <AntoniHP> jaypipes: it's open source library and I think we can refactor code instead of handling two implementations, I'm not sure if bascic REST client is zone dependent 17:52:27 <jaypipes> AntoniHP: good with you? 17:52:46 <AntoniHP> I mean novclient already has tools for _straight_ http calls 17:52:55 <dwalleck> The problem with novaclient is that it hides the raw HTTP response from us 17:53:02 <jaypipes> right. 17:53:13 <AntoniHP> this code is used for months now, so much less likely to have bugs 17:53:42 <dwalleck> And it stops me from injecting things I may need to inject (I'm talking to you Accept headers) 17:54:01 <dwalleck> And only tests the json implementation 17:54:54 <AntoniHP> we can contribute XML implementation to librabry, in opensource it is possible for project to benefit two ways 17:55:17 <dwalleck> I think we should (and will) test novaclient, but I don't want novaclient to interfere with the testing of Nova 17:55:48 <AntoniHP> if we go this path, our tests could be derailed by python bugs 17:56:19 <dwalleck> The same could be said of novaclient 17:57:05 <dwalleck> We will certainly test novaclient from an external perspective, but I don't feel comfortable mixing the testing of it with the testing of Nova itself 17:57:08 <AntoniHP> yes, that was my point - there is always some tool on which test depend 17:57:36 <AntoniHP> I mean using this library in such was as you use httplib or linux kernel 17:58:07 <AntoniHP> as it already implements basic HTTP client inside it, we can just contribute missing parts 17:58:17 <dwalleck> But by not using novaclient, I have the freedom to do what I need to do, without relying on trying to force a patch through Novaclient 17:58:17 <AntoniHP> instead of reimplemnting same 17:58:52 <dwalleck> So if we went with novaclient, how would I verify http headers returned with a response? 17:59:21 <dwalleck> Response codes (at least failures) could possibly be handled with exceptions, but anything else would be hidden 17:59:44 <rohitk2> That would severly limit our negative tests 18:00:08 <dwalleck> If I want to muck with the headers (which you must do when submitting requests using bookmark links), I have no avenue to do so with novaclient 18:00:34 <jaypipes> dwalleck: I suppose we could make a compromise with AntoniHP. We could use the base novaclient.client.HTTPClient class in place of tempest's restclient base class. 18:00:50 <dwalleck> I know where you're coming from. That was the same approach I started with 8 months ago, until I started running into issues such as this 18:01:18 <jaypipes> dwalleck: that base HTTPClient in novaclient raises all exceptions between 400 and 501 directly, allowing the caller of HTTPClient.request() to track exceptions specifically. 18:01:27 <jaypipes> dwalleck: and it does auth already... 18:01:44 <dwalleck> It's just a bit late to be making changes like this. I have quite a few tests written already that I'm solidly relying on 18:01:47 <jaypipes> dwalleck: so in essence, the only thing needing to change would be swapping out RestClient with novaclient.HTTPClient... 18:01:59 <jaypipes> dwalleck: yes, I hear you... 18:02:13 <dwalleck> I don't understand why making a change at this point would help anything 18:02:47 <AntoniHP> that is good argument, let's discuss it on list maybe as weel 18:02:48 <jaypipes> dwalleck: I'm trying to find a compromise between your and AntoniHP's points that we could make happen in relatively short time period. 18:02:56 <AntoniHP> as well 18:04:06 <jaypipes> OK, well perhaps AntoniHP, you could email the main ML with the gist of your argument and we can have a public discussion about it there? 18:04:12 <AntoniHP> OK 18:04:46 <jaypipes> in the meantime, dwalleck please do continue as-is with the current approach. 18:04:53 <dwalleck> jaypipes: I understand 18:05:24 <jaypipes> alrighty then, any remaining issues to discuss before we end? 18:06:21 <jaypipes> OK, bye all. See you next week. I will write a quick summary of our meeting to the ML. cheers. 18:06:24 <jaypipes> #endmeeting