09:00:21 #startmeeting qa 09:00:22 Meeting started Thu Jul 28 09:00:21 2016 UTC and is due to finish in 60 minutes. The chair is gmann_. Information about MeetBot at http://wiki.debian.org/MeetBot. 09:00:23 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 09:00:25 The meeting name has been set to 'qa' 09:00:36 hi, - who's here today? 09:00:39 o/ 09:00:42 \o hi there 09:00:51 hello 09:01:10 hi everyone 09:01:38 let's wait if more people join 09:02:55 masayukig, jordanP, afazekas, mkoderer: around? 09:03:18 masayukig: is joining some openstack event today 09:03:29 anyways let's start 09:03:40 #link https://wiki.openstack.org/wiki/Meetings/QATeamMeeting#Agenda_for_July_28th_2016_.280900_UTC.29 09:03:53 ^^ today agenda 09:04:13 #topic Newton priorities 09:04:24 #link https://etherpad.openstack.org/p/newton-qa-newton-priorities 09:05:06 so we have items there and some of them in progress 09:05:37 i would like to avoid talking about each item 09:05:46 if anyone want to update on these 09:06:19 probably we are going in good shape on those. 09:06:49 I think so, althought for the test class hierarchy squash I'll wait for mid cycle 09:07:00 dmellado: ok 09:07:13 yea we can finish may of those there 09:07:43 if nothing let's move 09:07:49 #topic Specs Reviews 09:08:08 #link https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z 09:08:34 there no new spec 09:08:58 gmann_: indeed, probably nothing to discuss on this, unless someone as something to bring up 09:08:59 andreaf: tempest resource is on hold? 09:09:06 yea 09:09:17 gmann_: oomichi took that over, so I'm not looking at it right now 09:09:35 andreaf: ohk, 09:09:55 let's jump to tempest 09:10:02 #topic Tempest 09:10:32 1 is about compute microversion tests 09:10:34 * masayukig is read only mode this time because he's on a train and walking to the event 09:10:53 Matt have doc update for those as per ML and nova mid cycle discussion 09:11:01 masayukig: +1 09:11:52 #link https://review.openstack.org/#/c/346092/ 09:11:55 and nova one 09:12:04 #link https://review.openstack.org/#/c/346080/ 09:12:26 but seems like we need to get conslusion about those in doc first 09:12:44 because there are some microvesion tests patches which may or may not be needed 09:13:25 so i brought this here to hold those microversion patches (touching Nova API/DB only ) till we have clear doc on thsoe 09:13:47 please provide your opinion on doc patches 09:13:56 gmann_: will do 09:14:03 andreaf: Thanks. 09:14:50 manila tempest plugin has support of microversions, if someone is interested may look at it 09:15:00 * afazekas hi 09:15:06 afazekas: hi 09:15:26 hi 09:15:31 vponomaryov: great. actually here question is do we need to implement tests for all microversion? 09:15:31 gmann_: my main concern is adding schema changes in tempest that are not tested - I agree we don't necessarily need to have a tempest test for each microversion, but we need some way to validate the schema, and that's not something we can do in unit tests unfortunately 09:15:35 jordanP: hi 09:15:36 hi afazekas jordanP 09:15:56 gmann_: we add tests for diff of each new microversion if possible 09:16:10 andreaf: definitely, we would not add schema which are not tested 09:16:33 andreaf: but if higher version tests cover those schema then it should be fine 09:16:58 as Nova always honor the lower version changes in higher one 09:17:31 vponomaryov: yea but sometime whose are duplicate with project functional tests 09:17:39 if the just change the API/DB layer only 09:17:42 gmann_: yes - the only thing we don't really test is that the lower version where we add the schema is the right one 09:17:59 gmann_: but that's probably not so relevant from a tempest pov 09:18:29 you mean to tests nothing more is returned in specific version 09:18:37 andreaf: yea that is nice point 09:19:21 gmann_: e.g. if we add a test for version 2.50 (just an example) and for that we add schema changes that came in in version 2.30, but we call those 2.31, it would work just fine, as long as there is no test for 2.30 or 2.31 09:19:36 I was thinking about filling the gap at end of cycle but from nova and tempest doc patch i feel we should test each microversion changing the schema 09:20:42 andreaf: yea but without 2.30/31 tests we would not make sure it does not return more attributes than expected 09:22:26 gmann_: correct 09:22:40 gmann_: so are you saying we actually need a test for every microversion? 09:23:07 andreaf: every microversion which change the schema. 09:23:29 andreaf: is there is no schema change then first rule applicable (if touching only API/DB then no) 09:23:41 is->if 09:23:48 ok 09:24:35 actually that is current proposed in nova and tempest doc patches 09:24:39 all microversions change chema 09:24:54 they are added because of change of schema 09:25:01 vponomaryov: no, it depends on version to version 09:25:23 vponomaryov: no, there can be any kind of changes 09:25:43 gmann_: change of response code I consider as change of schema too 09:25:54 vponomaryov: for example, only request schema change or functional change or bug fix 09:26:13 vponomaryov: yea but not every microversion change response 09:26:37 it was example 09:26:59 microversions are added, when API started behaving differently 09:27:10 example - https://github.com/openstack/nova/blob/master/nova/api/openstack/rest_api_version_history.rst#27 09:27:11 s/started/starts/ 09:27:33 vponomaryov: yea which does not mean change in response only. 09:28:41 anyways let's review those and merged soon 09:29:28 next item i want to bring is very simple one 09:29:36 Removal of Javelin 09:29:37 #link https://review.openstack.org/#/c/347216/ 09:29:45 will be pretty easy. 09:29:51 +1 from my side, we already marked it as deprecated a while ago 09:29:59 +1 09:30:35 I still need to create new repo for stress tests and thn remove from tempest 09:30:59 dmellado: yea its over 6 month 09:31:14 that'all from my side on Tempest 09:31:19 gmann_: is javelin going into it's own repo or just dropped? 09:31:28 andreaf: just dropped 09:31:43 andreaf: i did not feel like anybody need so did not added new repo 09:31:51 gmann_: ok 09:32:09 andreaf: you want talk about client refactor one 09:32:09 yeah, just drop it 09:32:10 gmann_: are you looking at negative test framework as well? 09:32:34 gmann_: sure 09:32:38 andreaf: no, may be in mid cycle we can discuss with mkoderer there :) 09:32:48 gmann_: ok 09:32:56 gmann_: regarding the client manager refactor 09:32:57 andreaf: i need to review as you updated those i think 09:33:23 gmann_: a few patches merged, but there are a few more https://review.openstack.org/#/q/status:open+branch:master+topic:bp/client-manager-refactor 09:33:59 gmann_: the series is ready from my perspective, I already got some +2 on some of the patches but it could use more attention 09:34:34 andreaf: may be this one and next one is key - https://review.openstack.org/#/c/333513/ 09:34:44 andreaf: after that it will be easy to merge others 09:35:26 gmann_: yes, that's probably the key one. I hope I addressed all the comments from you, mtreinish and oomichi on that one 09:35:48 gmann_: I changed it now to a fail fast behaviour in case of bad plugins 09:36:06 andreaf: Thanks, need to look on those. I will definitely do those 2 tomorrow. 09:36:12 and get back to you if anything 09:36:45 gmann_: since the service client interface is new, it's better not to be lenient on avoid broken implementations 09:36:59 gmann_: thanks 09:37:23 andreaf: so then once that this is done we'll need to address every plugin with patches like this one, isn't it? 09:37:24 ohk. i will check the updates 09:37:26 https://review.openstack.org/#/c/334596/ 09:39:09 I have patches up for manila and monasca, I don't expect to do such patches for all plugins, but I will send an email to the ML and help people out where needed. I think a couple of examples should be sufficient for most teams to adapt their plugins 09:39:54 andreaf: +1, nice way. we cannot do for all plugin 09:40:07 gmann_: using the new interface should be quite straight-forward 09:40:14 andreaf: exactly, that was also my point 09:40:22 yea 09:40:26 gmann_: one limitation is that only stable clients are available 09:40:26 I'd be able to land a few too if needed, though 09:40:54 gmann_: which means that as long as volume, identity and object-storage are stable, they are not available to plugins via the stable interface 09:41:01 andreaf: yea, that is little nit tricky 09:41:25 andreaf: user need to use both way if they want all clients 09:41:26 s/are stable/are not stable 09:41:52 maybe we'd need to get more help on getting them stable 09:41:54 but let's hope we will get those clients as stable soon. 09:42:10 AFAIK there are some projects, like manila who were complaning about that 09:42:30 vponomaryov: just pointing to that later, but is that part of your reason to skip some plugins? 09:42:54 dmellado: everyone complain on those when changed :) 09:43:05 dmellado: the reason is some other broken plugins were broken whole test run 09:43:08 gmann_: :D 09:43:19 s/were broken/were breaking/ 09:43:23 ok let's move 09:43:28 anything else from anyone 09:43:51 vponomaryov: due to setup of plugins on gate as al plugin get setup there? 09:44:05 gmann_: yes, just by fact of their presence 09:44:19 that is unavoidable 09:44:30 vponomaryov: no, that is avoidable 09:44:44 vponomaryov: you can install only your plugin i think in venv 09:44:48 ironic did? 09:44:56 I need to check if those are got merged or not 09:45:06 gmann_: it is workaround 09:45:18 vponomaryov: yea, 09:45:19 vponomaryov: gmann_ but as they're know 09:45:23 and specifically to manila 09:45:31 as you point to an specific commit 09:45:34 if you install all plugins 09:45:37 things might break, imho 09:45:38 :\ 09:45:59 yea 09:46:01 we used to breakage of tempest, sorry 09:46:21 humm 09:46:22 let's jump to critical review 09:46:23 I really do hope that finishing the stable clients would help on that 09:46:41 we can skip devstack and dashboard if nothing on those 09:46:45 +1 09:46:49 vponomaryov, dmellado, gmann_: the more stable interface we have the less breakages you may expect 09:46:49 #topic Critical Reviews 09:47:11 right 09:47:20 gmann_: #link https://review.openstack.org/#/q/status:open+project:openstack/tempest+branch:master+topic:bp/client-manager-refactor 09:47:23 andreaf: yep, that's why I'm trying to land a few patch series on those too 09:47:25 any reviews from anyone 09:47:33 andreaf: noted :) 09:48:41 ok, we have 10 min left , let's move 09:48:44 #topic Possibility to enable/disable external plugins 09:48:49 vponomaryov: your one. 09:48:55 I proposed change (#link https://review.openstack.org/#/c/343830/), that allows us to enable/disable any external plugins we want just setting up one additional config option. 09:49:04 It has two pros: 09:49:09 - We can ignore undesired plugins 09:49:15 - We can avoid presence of tests from dozens of undesired projects in our generated test list. 09:49:29 So, I would like to get opinions on it. 09:50:09 vponomaryov: and it will do this while loading plugin? 09:50:15 vponomaryov: ignore tests is something you can already do via regex, just pick the tests from your plugin 09:50:35 gmann_: it allows us to influence loading of any plugin 09:50:50 vponomaryov: I assume you mean a plugin breaking your one, isn't it? 09:50:52 vponomaryov: I'm not against skipping plugins in general, but I think it's a bit of a workaround 09:51:06 andreaf: false, tests regex is far away of step when plugins are disabled 09:51:15 vponomaryov: and I fear it will reduce the pressure on broken plugins to be fixed 09:51:23 vponomaryov: then it is while loading the tests? 09:51:32 gmann_: loading plugins 09:51:37 gmann_: before it 09:51:43 why don't use just start only the tests you are interested in running, like: tox -e all-plugin -- manila.tests ? 09:51:45 vponomaryov: humm 09:51:53 ah ok, got it 09:52:01 also, what we were discussing before, wouldn't a solution -workaround too- have a venv containging only your desired plugins? 09:52:07 vponomaryov: ^^ 09:52:09 jordanP: actually issue is loading of tests from other plugin if they import error 09:52:11 jordanP: because lots of redundant stuff is performed, if not broken at all 09:52:14 yeah 09:52:55 dmellado: I consider venv-based part as workaround 09:53:05 gmann_, jordanP: plugins should not do things at import time, same as tempest - so those should be fixed 09:53:05 dmellado: we should be able to use site-package-based plugins 09:53:06 I am not sure it's a good idea, broken plugins should be fixed or not installed at all... 09:53:29 jordanP: that might not be possible for in-tree packages 09:53:36 jordanP: yes that's my feeling too 09:53:38 jordanP: people install packages with some lugins, not just plugins 09:53:50 I think we wanted/want to move away from the proliferation of virtualenvs required to run tempest 09:53:56 jordanP: andreaf exactly. me too same feeling. they should be correct one or do not install 09:54:04 gmann_: but again 09:54:07 jordanP: I would like to not install some plugins of some packages, but it requires hacking only 09:54:08 how would you avoid having a plugin installed 09:54:13 if it comes with the in-tree project 09:54:16 such as the neutron one 09:54:18 ? 09:54:40 in proposed commit I just allow to ignore it in tempest 09:54:41 you might end up in a situation where if you don't use venv, you'll have quite a few plugins from start 09:54:42 dmellado: then do not install neutron. 09:54:43 if neutron's plugin is broken, then they have a big issue 09:54:54 dmellado: one more reason to have the plugin in a dedicated reop 09:55:01 andreaf: I do agree on that 09:55:02 venv things are very nice here. 09:55:06 and I'm trying to push it that way 09:55:09 s/reop/repo 09:55:24 but for instance I found some similar issue with the ironic plugin 09:55:30 which was even breaking testr list-tests 09:55:30 because tempest should load everything it detect 09:55:40 due to it trying to get credentials while it, which is quite weird 09:55:48 gmann_: we should be able to disable "load everything" that is the point 09:55:55 so I think that this could come in handy 09:56:16 gmann_: it is testing tool and shoudl be flexible enough 09:56:22 to serve lots of possible needs 09:56:26 dmellado, vponomaryov: plugins should not do things at import time, because that may break discovery 09:56:52 andreaf: I do agree on that, but I'm just thinking on a system when you'll end up not wanting to use venv 09:56:56 vponomaryov: but its all like my distribution. and what i installed should be in working condition instead of skiping those during runtime 09:57:00 vponomaryov: as I said I'm not opposed to the idea, but I'd like to make sure issues in plugins are fixed 09:57:00 while at the same time isolating/skipping plugins 09:57:17 andreaf: so you're fearing that with this, people would just don't care 09:57:22 andreaf: default behaviour is to load all 09:57:31 andreaf: "possibility" is added 09:57:50 andreaf: possibility to disable some 09:57:59 plugins 09:58:05 gmann_: I'll ask you about the way you handle plugins later, don't want to spam here 09:58:14 dmellado: sure 09:58:43 what about surounding the plugin loading with a big try/except so that if a broken is broken at import/init, we just skip it ? 09:58:44 let's see the patch and get more feedback there 09:58:58 but i also still feel its all installation of system 09:59:03 jordanP_: that could be another option 09:59:14 jordanP_: might be not good, i tried this before :) 09:59:23 gmann_: and what happened? 09:59:29 jordanP_: it might hide lot of issues in plugin 09:59:31 jordanP_: sure that's an option, but that would make us even more lenient on broken plugins 09:59:40 gmann_ +1 09:59:41 yea 09:59:54 andreaf: then how do you propose to handle such plugins? 09:59:59 broken plugins should be fixed by plugin owners, and not break Tempest 10:00:06 time's up :) 10:00:15 just let tempest be broken (or use venv) so that'd force the devs to fix it? 10:00:20 jordanP_: but they would get to know till tempest fail 10:00:29 anyways time is running i think 10:00:36 yeah, we're out of time 10:00:41 we can continue on #openstack-qa 10:00:46 let;s discuss this on QA channel or on review 10:01:10 Thanks everyone 10:01:11 #endmeeting