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