Monday, 2016-07-25

*** pilgrimstack has joined #refstack07:57
*** pilgrimstack has quit IRC08:02
*** pilgrimstack has joined #refstack08:09
*** andrey-mp has joined #refstack10:12
*** edmondsw has joined #refstack11:59
*** pilgrimstack1 has joined #refstack14:06
*** pilgrimstack has quit IRC14:08
*** pilgrimstack1 has quit IRC14:20
*** pilgrimstack has joined #refstack14:21
*** pilgrimstack1 has joined #refstack14:24
*** pilgrimstack has quit IRC14:26
*** andrey-mp has quit IRC15:33
*** davidlenwell has quit IRC16:28
*** davidlenwell has joined #refstack16:40
*** ChanServ sets mode: +o davidlenwell16:40
*** andrey-mp has joined #refstack16:59
luzC@hogepodge are you around?17:34
hogepodgeluzC: yes17:35
luzCHello, I had been looking at the stack trace information from the subunit file/ strict schema validation on Tempest and the best way to patch it...17:36
luzCAt the beginning I thought I could get the schema from the error trace, but I can't (not accurately anyway)17:37
luzCI can get the tempest service client(servers, quotas, etc) and the method...17:39
luzCI can patch Tempest at tempest/lib/common/rest_client.py, validate_response, if validation is called by the service_client.method then skip the validation...17:43
luzCThis is create a file with [service_client, method], also add a flag to tempest configuration file, change rest_client.py file to verify the configuration flag and go through the file looking for service.method17:45
luzCI can provide a sequence diagram for current and proposed implementation, but I wanted to touch base with you17:46
luzCwill this be an acceptable fix?17:48
luzCwhere you thinking in something different17:48
luzC?17:48
andrey-mpluzC: what is 'service_client.method' ?18:00
*** pvaneck has joined #refstack18:01
luzCthe service clients are under tempest.lib.services.compute.*  there are several clients, each have several methods depending on the action/ API call. For instance it can be the "servers_client" and "show_server" method...18:03
luzCanyway all the service clients call the rest_client (from common library) which makes the schema validation18:04
andrey-mpso it's a different patches for different runs, right?18:04
luzCthe difference will be the service_client.method... it depends on the error message/ analysis18:06
luzCthe mechanism to bypass the validation will be the same18:06
andrey-mpis it suitable to make one patch for tempest? for example - configuration parameter with list of needed methods?18:07
andrey-mp(in the future such changset can be commited to tempest...)18:10
luzCyes, I agree, the QA community reject to change Tempest since it is OK that it fails, vendors shouldn't add stuff in the API response, so that's why this is only a waiver and not included into Tempest branch directly :(18:11
andrey-mpbut we can develop a method that will be suitable for QA team18:13
luzCthis patch idea will be to add a config option to pass the list of serviceClient.method that should not do the validation... that is because we have a previous failed subunit file...18:15
andrey-mpit's better than patch tempest for each run. each run can copy base tempest.conf to temporary file and run one copy of tempest with this new configuration file.18:17
andrey-mpbecause there are many negative facts to patch tempest for each run.18:17
luzCyes, that's true18:19
luzCand as you suggested on the spec it would be good to patch tempest during refstack/tempest installation18:21
andrey-mpyeah18:25
luzCI'm updating the spec...18:25
luzCthanks for the idea Andrey :-)18:25
andrey-mpbtw, if you will not analyze list of failed tests and skip all strict checking by the flag?18:28
andrey-mpwhy is it not suitable?18:28
hogepodgeluzC: sorry, I got pulled away18:58
hogepodgeluzC: Can you link me to the tempest files you would patch?19:01
hogepodgeluzC: I'm mainly interested in chasing down exactly which endpoints have been modified19:02
hogepodgeandrey-mp: that was my original idea, but it was rejected. However, as part of this solution refstack-client could carry a patch that could do such a thing19:04
andrey-mphogepodge: this is good news! luzC can describe this idea in the spec and refstack-client will make only one tempest patch in the installation script!19:07
luzCyes, @hogepodge the patch will be on tempest/lib/common/rest_client.py -- validate_response method, bypassing validation when the caller of the function is a given "service.method"... the exact endpoints modified is still on the first Tempest run and matches the service and method from the initial failed subunit file (so, the failed subunit file analysis and gathering of information still applies)20:11
luzCI'll describe the flow, steps, and classes to be modified on the spec20:12
andrey-mpluzC: as I understood first idea was not to analyze results. first idea was to skip all strict checking.20:28
luzCah ok...20:32
luzCso, at this point both solutions are possible: 1. Skip all validations for all APIs 2. Analyze initial set of results, skip some validations20:35
luzCof course option 1 is the easiest one...20:37
andrey-mpyeah20:37
*** andrey-mp has quit IRC20:42
luzCAndrey, what would be the flow for option 2?20:47
luzCjust patch Tempest at installation time to skip all validations when a flag is present... so if a vendor wants to use the waiver, they just have to add the configuration option to their configuration file?20:48
luzCsorry I meant option 120:49
luzC@hogepodge what do you think?20:56
*** rockyg has joined #refstack21:05
hogepodgeandrey-mp: luzC: turning off all strict checking is not the direction we should be going in. I understand that it's possible to do the difference of strict/non-strict rest results to see what failed because of checking21:24
luzChogepodge  ok, I'll make the proposal of option #2 - skip validations as needed...21:27
hogepodgeluzC: I'm thinking to run the tests unmodified, then perhaps only run the ones that failed because of strict checking21:28
hogepodgeluzC: are you going to be in San Antonio next week?21:28
luzCyes21:29
luzCI'll be here21:29
hogepodgeLet's set aside some time then to work through some of these things in person too. I like option 2.21:30
luzCok, sound good21:32
luzCI'll get a prototype just to get started from there21:32
*** rockyg has quit IRC21:49
*** oomichi has quit IRC22:41
*** oomichi has joined #refstack22:50
*** oomichi has quit IRC23:31
*** oomichi has joined #refstack23:40

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!