17:00:08 #startmeeting qa 17:00:09 Meeting started Thu Aug 18 17:00:08 2016 UTC and is due to finish in 60 minutes. The chair is oomichi. Information about MeetBot at http://wiki.debian.org/MeetBot. 17:00:10 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 17:00:13 The meeting name has been set to 'qa' 17:00:31 who are here today? 17:00:38 o/ 17:00:47 o/ 17:02:12 jlvillal: mtreinish: hi :) lets wait for more people a little bit 17:02:27 o/ 17:02:47 auggy: hi, ok let's start a meeting 17:02:53 #link https://wiki.openstack.org/wiki/Meetings/QATeamMeeting#Agenda_for_August_18th_2016_.281700_UTC.29 17:03:01 ^^^ is today agenda 17:03:06 o/ 17:03:10 not much:) 17:03:17 #link https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z 17:03:35 andreaf: jordanP: hi, good for us :) 17:03:49 there are few open qa-specs 17:04:14 the first one is https://review.openstack.org/#/c/173334/ 17:04:38 andreaf reviewed already just before this meeting, thanks 17:04:44 I will check the comment later 17:04:52 yes I just +2 it as well 17:05:20 andreaf: ah, that is owner, OK, will change it;) 17:05:44 andreaf: I will start creating a prototype later 17:06:05 the second is https://review.openstack.org/#/c/349730/ 17:06:16 oomichi: there were already some patches by jswarren and dwallek you may want to start from those 17:06:44 andreaf: oh, I didn't know that, can you provide the links of patches? 17:07:46 oomichi: #link https://review.openstack.org/#/q/status:open+branch:master+topic:bp/tempest-resources 17:08:18 andreaf: thanks 17:08:40 Regarding the spec #link https://review.openstack.org/#/c/349730/ 17:09:05 andreaf: yeah, please go ahead 17:09:21 o/ 17:09:22 The idea there is to define resources that we create at class level as fixtures 17:10:06 since there is no way to use fixtures in class level fixtures atm I also prototyped https://review.openstack.org/#/c/351871/ 17:10:59 andreaf: the class level means test class ? 17:10:59 I got negative feedback on the idea from lifeless, basically he says class level things are fragile and don't work well for parallelism 17:11:06 oomichi: yes 17:11:20 setUpClass and tearDownClass are class level fixtures 17:11:50 andreaf: Test developers need to know what resources are created on each used test class 17:11:56 they are classmethods and they work on class, so they can provide a shared context for all test methods defined by a test clas 17:12:49 oomichi: yes that's part of the cleanup we want to do - to make it obvious what resources are created 17:13:31 andreaf: and all these resources are removed on the cleanup, that seems good merit 17:14:18 andreaf: my concern is tests will create unnecessary resources also just for using small amount of resources 17:14:24 I think the whole point is to share some utility functions (that setup the environment: create projects, users etc...) between classes or plugins without using inheritence 17:14:25 oomichi: so I'm a bit struggling on this since it's an investment in a direction that lifeless recommends not to follow 17:15:06 jordanP: yeah, I tend to prefer that without inheritence at this time 17:15:09 oomichi: on the other side though using testresources would me stop relying on class level fixtures and attributes for good, which would be a major rework 17:15:34 andreaf: it's a lot of work... 17:15:43 multiple cycles at least 17:15:55 at least when I looked at it before 17:16:13 yeah, a lot of work, and I am not sure it's brings a big benefit 17:17:16 andreaf: to be honest, I could not get the idea we are discussing now from the spec 17:17:21 jordanP: the main benefit would be to stop caged on the class context, and being able to select tests in a different way - the test scheduler could optimise better, based on resource utilisation 17:17:36 jordanP: however none of those seem to me like major benefits for tempest 17:18:04 andreaf: the "Proposed change" seems stopping writting in the middle 17:18:21 andreaf: like line 100 or later 17:19:11 oomichi: yes I need to update the spec - but I started prototyping class level fixtures and I wanted some feedback on that so I can include in the spec the direction we are taking, and why, with alternatives etc 17:19:58 andreaf: yeah, that was my thinking too. It'd also a fundamental change in how we expect tempest to be run. There are lots of baked in assumptions that the minimum parallel unit is a class 17:20:03 andreaf: yeah, that is good way to move forward. I can understand easily from the code 17:20:40 is it worth looking at how other OpenStack projects have solved this problem (if they have)? 17:20:49 it's more than just resources 17:21:15 auggy: it's a bit of a special problem for tempest given it working with real clouds and using the unit test framework 17:21:54 auggy: other projects either use test resources (keystone client and oslo.db for example) or just fixtures 17:22:01 depending on what they're trying to do 17:22:19 ok, then i probably don't fully understand the problem :) i understood it as tempest needs to set up different things based on different configurations at the test class level and currently that's difficult to do 17:22:33 but in all those cases they were also building frameworks from scratch which is a different problem 17:22:45 mtreinish: one fear is that eventually class level fixtures will be deprecated - however that will take a long time if it happens - and we could still have our own TestSuite with support for them 17:23:37 andreaf: heh, I find that extremely unlikely. But then you never can tell with backwards compat and python :P 17:24:27 auggy: it's actually even simpler than that we're trying to make some of the magic we're using through classmethods, atrributes, and inheritence more explicit in the actual test classes where things are run 17:24:38 auggy: and trying to figure out the best mechanism for doing that 17:24:41 ah ok 17:24:44 yep 17:25:05 ah ok, that makes sense, thanks 17:25:24 i always disliked Python's heavy use of inheritance, are there patterns for Mixins? would that be an option? 17:26:00 auggy: yeah, I also don't line deep inheritance, that is unreadable 17:26:17 auggy: we are trying to use fixtures to avoid class inheritance 17:26:49 auggy: since fixtures are easy to use, and isolated and self-cleaning, test don't need to rely on that functionality being an a super class 17:26:57 ah right ok 17:27:12 i've only used the fixtures through nova and it's all pretty heavy inheritance 17:27:23 auggy: if you want a good example of what we're trying to fix see: https://github.com/openstack/tempest/blob/master/tempest/scenario/test_network_basic_ops.py#L411-L462 17:27:29 thanks for clarifying, hope i didn't derail the conversation too much :) 17:27:30 and try to figure out exactly what that test is doing 17:27:50 yeah i've been working with Nova's functional tests hahahaa 17:27:58 good luck with that :D 17:28:03 mtreinish: hehe, nice sample 17:28:14 andreaf: did you get time to play with testresources ? 17:28:33 oomichi: well, I've been trying to unroll that in my spare time for the past week (and not made it very far) 17:29:41 lifeless: only a bit - I think it could work - but it would be a major change in how we do things in Tempest 17:29:51 mtreinish: I see, thanks:) 17:30:00 lifeless: and I'm not sure the benefits for Tempest are enough to justify the effort 17:30:45 andreaf: I'm quite a bit confused by the expectation that it would be a tonne of work; it seems very mechanical to me 17:30:52 lifeless: we tend to have less heavier more static tests compared to a unit test suite - and I believe for that scenario relying on the class unit is not so bad 17:31:19 andreaf: perhaps mid-meeting isn't the right time to analyse it; but - I'd like to 17:31:29 I do -not- want to be a blocker on improvements 17:32:10 andreaf: lifeless: can we discuss it deeply later ? 17:32:34 the time went in the first topic ;) 17:32:50 oomichi, lifeless: sure - but we're towards the end of my dey, so maybe tomorrow 17:33:10 oomichi: course 17:33:11 andreaf: thanks 17:33:16 ok, let's move on 17:33:24 #topic Tempest 17:33:33 #link https://review.openstack.org/#/q/project:openstack/tempest+status:open 17:34:11 there are still many active patches 17:34:22 https://review.openstack.org/#/c/351426/ 17:34:25 are there patches we need to discuss now 17:34:45 I don't think we should remove any Heat test 17:34:48 jordanP: oh, go ahead 17:35:09 but gmann disagrees 17:35:26 jordanP: heat is not in scope for Tempest - at least not right now 17:35:33 why not ? 17:35:42 jordanP: it's in the set of things out of scope in tempest: http://docs.openstack.org/developer/tempest/test-removal.html#tempest-scope 17:35:49 jordanP: Tempest scope is for six cores 17:36:01 but I like heat :) 17:36:17 jordanP: and if defcore extends cores, tempes needs to contain a new core test 17:36:36 jordanP: heh, that is different 17:36:42 @jordanP +1 17:36:43 "be removed assuming there is equivalent testing elsewhere" 17:36:59 I am not sure there is 17:37:15 jordanP: heat has had there own functional test suite for a while 17:37:21 s/there/their 17:37:51 yeah but I remember a bug in Heat that only Tempest discoved 17:37:55 jordanP: mtreinish: yeah, as https://review.openstack.org/#/c/335740/ pointed 17:37:57 a couple of months ago 17:38:32 (https://bugs.launchpad.net/heat/+bug/1546201) 17:38:32 Launchpad bug 1546201 in heat "Race condition: boot a server on a network created by Heat" [High,Fix released] - Assigned to Crag Wolfe (cwolfe) 17:38:34 jordanP: after that, the migration happened according to the patch 17:38:44 how are we sure that we are not losing coverage ? 17:38:54 jordanP: heat tests are not run in the integrated gate anyways 17:39:06 jordanP: I think they are in the layer4 job only 17:39:27 jordanP: we rely on heat for that judgement 17:39:29 yes they run in the layer4 job 17:39:35 jordanP: the coverage of non-cores should be own on each project, not qa-team 17:39:57 jordanP: the heat coverage in tempest is very minimal fwiw 17:40:23 ok, got it 17:40:41 we can move forward 17:40:57 are there more items related to tempest? 17:41:19 ok, let's move on 17:41:31 #topic devstack + grenade 17:41:44 #link https://review.openstack.org/#/q/project:openstack-dev/devstack+status:open 17:41:53 #link https://review.openstack.org/#/q/project:openstack-dev/grenade+status:open 17:42:20 there are small amount of patches on grenade 17:42:28 oomichi: there always are 17:42:39 it's a very low activity project 17:42:41 mtreinish: yeah 17:43:07 isn't enough to review the patches now? 17:43:48 the first one seems easy, but that takes time 17:43:57 #link https://review.openstack.org/#/q/project:openstack-dev/grenade+status:open 17:44:01 ops wrong 17:44:17 #link https://review.openstack.org/#/c/296003/ 17:45:23 just small comment, are there any items related to devstack and grenade? 17:45:42 oomichi: well since the last meeting neutron is now the devstack default 17:45:56 that's kinda big 17:46:04 \o/ 17:46:05 omg, nova-net is deprecated ? ^^ 17:46:06 mtreinish: good news:) 17:46:32 jordanP: yeah nova re-deprecated it a while ago 17:46:48 (yeah, just trolling :p) 17:46:49 that takes much time 17:46:52 haha 17:47:17 do we have nova-network specific job? 17:47:25 oomichi: the jobs have not changed 17:47:53 oomichi: but if you run devstack yourself you have to manually enable n-net and disable neutron 17:48:10 mtreinish: h, I see. I misunderstood all jobs are changed 17:49:02 ok, that is good for getting feedback from uesrs 17:49:35 if not having any items, let's move on 17:49:44 #topic openstack-health 17:50:10 #link https://review.openstack.org/#/c/296003/ 17:50:30 oomichi: the same grenade patch? 17:50:35 mtreinish: is the node_provide meaning public cloud? 17:50:35 :p 17:50:43 oomichi: I have a couple of patches for subunit2sql, which is related - but it's actually an openstack-infra project, so not sure I should mention them here? 17:50:46 #link https://review.openstack.org/#/c/356060/ 17:50:54 oops, sorry about that 17:51:03 oomichi: https://review.openstack.org/#/q/status:open+project:openstack-infra/subunit2sql+branch:master+topic:story/2000698 17:51:14 oomichi: node_provider is the cloud region the job is running 17:51:15 oomichi: anyways - giving it a shot ;) 17:51:22 oomichi: so rax iad, osic, etc 17:51:49 andreaf: yeah it's fine to talk about here. It's always straddled the fence 17:51:54 mtreinish: that is good information, these days, gate was not in good condition 17:52:12 mtreinish: these info will be helpful for that condition 17:52:22 andreaf: please go ahead 17:52:31 mtreinish: ok - well I just wanted to get some reviews on them #link https://review.openstack.org/#/q/status:open+project:openstack-infra/subunit2sql+branch:master+topic:story/2000698 17:52:53 andreaf: yeah I've been meaning to take another look at those 17:53:11 I added unit test coverage, fixed a bug and added a new config option to drop the test_attr_prefix before adding metadata into the test_metadata table 17:53:15 oomichi: right, that's why we landed a bunch of improvements to the test page recently: http://status.openstack.org/openstack-health/#/test/tempest.api.image.v1.test_images.CreateRegisterImagesTest.test_register_http_image?end=2016-08-16T15:00:00.000Z 17:53:24 oomichi: make it easier to find common trends in failures 17:53:31 mtreinish: ++ 17:53:32 it's still not perfect yet but it's getting better 17:53:45 mtreinish: yeah, agree. nice direction 17:53:45 masayukig is working on fixing some of the graphing we have there now 17:53:56 mtreinish: oh, nice 17:54:10 and I think visualizing common pieces of metadata somehow will be a good future step after that 17:54:12 * andreaf goes and merges those patches in his own o-h 17:55:16 mtreinish: I think it would be really great to get distributions of metadata keys over values, like elastic search does 17:55:25 andreaf: there are some performance things I need to fix, I have a better strategy for caching in mind that should make it more responsive 17:55:29 andreaf: yeah that's what I was thinking 17:55:42 I'm just not sure how to do that in js :) 17:55:51 :D 17:56:00 mtreinish: heh 17:56:11 ok, let's move on if not having more 17:56:23 #topic Critical reviews 17:56:34 are there any patches we need to concentrate on? 17:57:24 #link https://review.openstack.org/#/q/Id65ebae73b28da7185cb349b714b659af51ef77f,n,z 17:57:41 which switches us to use qcow by default in devstack 17:57:57 there is a corresponding tempest change, but there are grenade failures I need to figure out 17:58:07 not a patch but we've been lagging a bit in term of reviewing lately, imo 17:58:30 is that your feeling too ? 17:58:45 mtreinish, yes that's a good patch, I never liked the ami format 17:58:54 mtreinish: yeah, that is a good one 17:59:12 I will +A after passing the gate 17:59:45 jordanP: yeah that is a little active now 18:00:03 #link http://stackalytics.com/report/contribution/tempest/30 18:00:17 jordanP: yeah I get that sense too. I think it's because we have a bunch of inactive cores 18:00:26 ops, time is coming 18:00:33 #endmeeting