*** xuhaiwei has joined #senlin | 00:12 | |
*** Qiming has quit IRC | 00:34 | |
*** zzxwill has joined #senlin | 00:42 | |
openstackgerrit | Merged openstack/senlin: Developer doc for API microversioning https://review.openstack.org/298626 | 00:49 |
---|---|---|
*** zzxwill has quit IRC | 01:10 | |
*** zzxwill has joined #senlin | 01:13 | |
*** zzxwill_ has joined #senlin | 01:36 | |
*** zzxwill has quit IRC | 01:39 | |
*** Qiming has joined #senlin | 01:47 | |
*** yanyanhu has joined #senlin | 01:47 | |
*** yanyanhu has quit IRC | 01:57 | |
*** yanyanhu has joined #senlin | 01:58 | |
*** EldonZhao has quit IRC | 02:01 | |
*** EldonZhao has joined #senlin | 02:01 | |
*** elynn has joined #senlin | 02:03 | |
*** elynn_ has joined #senlin | 02:09 | |
*** elynn has quit IRC | 02:11 | |
openstackgerrit | EldonZhao proposed openstack/senlin: Add NoneType protection for ex.response in sdk.py https://review.openstack.org/299102 | 02:12 |
*** elynn_ has quit IRC | 02:35 | |
*** EldonZhao has quit IRC | 02:43 | |
*** EldonZhao has joined #senlin | 02:46 | |
*** yanyanhu has quit IRC | 03:05 | |
*** yanyanhu has joined #senlin | 03:06 | |
*** yuanying has quit IRC | 03:21 | |
*** elynn_ has joined #senlin | 03:34 | |
*** elynn__ has joined #senlin | 03:53 | |
*** elynn_ has quit IRC | 03:56 | |
*** zzxwill_ has quit IRC | 03:57 | |
*** yuanying has joined #senlin | 04:07 | |
*** elynn__ has quit IRC | 04:13 | |
*** EldonZhao has quit IRC | 04:38 | |
*** zzxwill has joined #senlin | 05:07 | |
*** elynn__ has joined #senlin | 05:29 | |
*** elynn__ has quit IRC | 05:34 | |
*** elynn__ has joined #senlin | 05:34 | |
*** elynn_ has joined #senlin | 05:43 | |
*** elynn__ has quit IRC | 05:46 | |
*** elynn__ has joined #senlin | 05:50 | |
*** elynn_ has quit IRC | 05:52 | |
elynn__ | Hi Qiming | 06:13 |
elynn__ | About patch https://review.openstack.org/#/c/298187/ I don't get the point of Anne Gentle's comments. | 06:16 |
Qiming | well | 06:22 |
Qiming | I think there were two comments | 06:22 |
Qiming | the inline comment was about actionLocationParameter and resourceLocationParameter | 06:22 |
Qiming | she wasn't sure that there is an actionLocationParameter entity in common.ent | 06:23 |
Qiming | then when posting her comment, she further suggested you to remove resourceLocationParameter if it is not used anymore | 06:23 |
elynn__ | First, she saw that there's a actionLocationParameter cause she paste it in comment | 06:24 |
elynn__ | Is she confused or I'm confused... | 06:24 |
elynn__ | And for resourceLocationParameter, we still used for other resources, we can't remove it. | 06:25 |
Qiming | I think she was confused | 06:26 |
Qiming | that is fine | 06:26 |
Qiming | explain it then | 06:26 |
elynn__ | Is there anything I can do according to her comment? | 06:26 |
elynn__ | about the codes. | 06:26 |
Qiming | we are using actionLocationParameter in some cases and we are still using resourceLocationParameter somewhere else | 06:26 |
elynn__ | Yes, thanks, I will post a comment later :) I really need to improve my English skills... | 06:28 |
elynn__ | And another question | 06:28 |
elynn__ | https://review.openstack.org/#/c/298187/2/api-ref/src/wadls/clustering-api/src/v1/wadl/clustering-api.wadl L217-219 | 06:28 |
elynn__ | Do we need to change that too? | 06:28 |
Qiming | why? | 06:29 |
elynn__ | No very familiar with wadl, is it related to actionLocationParameter? | 06:30 |
Qiming | it is not about the WADL | 06:30 |
Qiming | it is about where are we returnning from a cluster create request | 06:30 |
elynn__ | Oh, I see... | 06:30 |
elynn__ | It's another return value of this request. | 06:31 |
Qiming | no, line 213-222 is the return value | 06:31 |
Qiming | the so called resourceLocationParameter is just a header | 06:31 |
Qiming | see this: http://git.openstack.org/cgit/openstack/api-site/tree/api-ref/src/wadls/clustering-api/src/v1/common.ent#n30 | 06:33 |
elynn__ | Okay, then I should leave it there. | 06:34 |
Qiming | it says the style is a header | 06:34 |
Qiming | right, I guess so | 06:34 |
elynn__ | Thanks for clarification :) | 06:35 |
Qiming | I think for cluster create, we are returning pointer to the cluster instead of the action | 06:36 |
Qiming | that means we should use resourceLocationParameter, not actionLocationParameter | 06:36 |
elynn__ | https://github.com/openstack/senlin/blob/master/senlin/api/openstack/v1/clusters.py#L180 | 06:37 |
elynn__ | We return location pointed to actions now, according to your suggestion. | 06:38 |
elynn__ | I remember you said 202 should always comes with a location to action? | 06:39 |
Qiming | no | 06:39 |
Qiming | that wasn't what I said | 06:39 |
Qiming | I pointed you to the spec | 06:39 |
Qiming | http://git.openstack.org/cgit/openstack/api-wg/tree/guidelines/http.rst#n105 | 06:40 |
elynn__ | the URI of a status resource that the client can use to query the | 06:40 |
elynn__ | progress of the asynchronous operation. | 06:40 |
Qiming | I said I was okay with both ways | 06:41 |
elynn__ | I think this means the action ID | 06:41 |
Qiming | yes | 06:41 |
Qiming | previously, we are using "the URI of the resource to be created, if known." | 06:41 |
Qiming | cannot recall why we saw that a problem | 06:41 |
elynn__ | yes | 06:42 |
elynn__ | It's a comment you leave in my tempest patch. | 06:42 |
elynn__ | https://review.openstack.org/#/c/295647/3/senlin_tempest_tests/services/clustering/json/clustering_client.py L 103 | 06:43 |
Qiming | ok, looking | 06:44 |
Qiming | right, I was making mistakes | 06:44 |
Qiming | I was believing that all 202 responses have the location header pointing to an action id | 06:45 |
elynn__ | I think pointing to an action ID is ok | 06:45 |
elynn__ | We can track the action status to see if a cluster is ready. | 06:45 |
Qiming | yes, function wise, either way is okay | 06:46 |
Qiming | my concern is mostly about ease of use, from a developer's perspective | 06:46 |
elynn__ | I would prefer to return a location pointed to action ID, since pointed to a cluster id is useless, we can get cluster from cluster['id'] | 06:47 |
Qiming | in the tempest code, we are not checking the 'location' header anyway, no matter it is pointing to the cluster or the action | 06:48 |
elynn__ | That's exactly what we do in senlin codes now. | 06:48 |
Qiming | what do you mean? | 06:48 |
elynn__ | I mean we return a location pointed to action in senlin API now. | 06:48 |
Qiming | line 103 and 162 in the file: https://review.openstack.org/#/c/295647/3/senlin_tempest_tests/services/clustering/json/clustering_client.py | 06:49 |
elynn__ | And new patchset of tempest is checking the action status. | 06:49 |
Qiming | we are returning them or checking them | 06:49 |
elynn__ | https://review.openstack.org/#/c/295647/5/senlin/tests/tempest_tests/services/clustering/clustering_client.py L98-99 | 06:50 |
Qiming | that will make negative tests very difficult | 06:50 |
elynn__ | Why do you say so? | 06:50 |
Qiming | patch set 5 looks much better | 06:51 |
Qiming | suppose we want to emulate some node creation failures (e.g. host running out of memory) | 06:51 |
Qiming | we need to understand what happened some time after create_node has been invoked | 06:52 |
Qiming | if we are returning the action_id, we have a better venue to do that now | 06:53 |
elynn__ | We could just failed the action? | 06:54 |
Qiming | either way, we'd better make the openstack_test drivers smarter | 06:54 |
elynn__ | Haven't touch the drivers, but will think of it. | 06:55 |
Qiming | when the faked nova driver is about to create an instance, it may choose to return something good, or something bad | 06:56 |
Qiming | that is gonna be a really challenge for senlin engine/action | 06:56 |
Qiming | see if we can handle all failures properly | 06:56 |
Qiming | (I believe we cannot today) | 06:56 |
Qiming | http://git.openstack.org/cgit/openstack/senlin/tree/senlin/tests/functional/drivers/openstack/nova_v2.py | 06:58 |
elynn__ | Or we can create a new backend driver to tests failures? | 06:58 |
Qiming | sounds like a bad idea to me | 06:58 |
elynn__ | We can pass some extra parameters to cause failure. | 06:58 |
Qiming | each time you switch driver, you will need to restart the senlin-engine | 06:59 |
Qiming | we don't have dynamical driver switching mechanism | 06:59 |
Qiming | and I don't think we will need such a complex infra setup | 06:59 |
elynn__ | Okay, I need to think about it. | 07:00 |
elynn__ | BTW, I run into some db problems https://bugs.launchpad.net/senlin/+bug/1563920 | 07:00 |
openstack | Launchpad bug 1563920 in senlin "Got db error when running tempest tests" [Undecided,New] | 07:00 |
Qiming | http://git.openstack.org/cgit/openstack/senlin/tree/senlin/tests/functional/drivers/openstack/nova_v2.py#n126 | 07:01 |
Qiming | that is a place we can inject some customization | 07:01 |
Qiming | it could be a global 'success_rate' variable | 07:01 |
elynn__ | Or maybe some specific name or id can cause failure? | 07:01 |
Qiming | we don't have a name/id generation protocol for hacking, right? | 07:04 |
elynn__ | seems so... | 07:04 |
elynn__ | maybe 'success_rate' is a good idea | 07:05 |
Qiming | I did saw 1563920 report, but I'm not sure I can reproduce it right now and dig into it | 07:05 |
*** gongysh has quit IRC | 07:06 | |
Qiming | I'm doubting if we should reconsider the usage of 'oslo_context.get_current()' | 07:06 |
Qiming | not sure if it is relevant to this | 07:07 |
elynn__ | I remember yanyanhu encountered db error before when he writes functional tests. | 07:07 |
Qiming | yep, several decades ago, we were trapped by db concurrency problems | 07:08 |
yanyanhu | elynn__, that error was caused by db concurrency issue. I think it has been addressed by Qiming's patches on action and DB rework | 07:09 |
yanyanhu | it didn't happen recently | 07:09 |
elynn__ | So I'm facing another problem? | 07:09 |
yanyanhu | hmm, not sure about it | 07:10 |
yanyanhu | I saw that bug report but didn't get clue | 07:10 |
elynn__ | It happens very high frequency in my env, about 50%, not sure what's causing it. Only have 3 tests for now. | 07:12 |
yanyanhu | just cluster create/delete and update, right? | 07:12 |
elynn__ | yes | 07:13 |
Qiming | okay, that high frequency warrants some debug | 07:13 |
yanyanhu | is there any difference between the behavior of tempest test and our existing functional test? | 07:14 |
yanyanhu | e.g. all tests are running in parallel? | 07:14 |
elynn__ | yanyanhu, no, I copy it and just use the client from tempest. | 07:14 |
elynn__ | I think they are parallel. | 07:14 |
yanyanhu | hmm, this is different from existing functional test which runs all cases in sequence | 07:15 |
elynn__ | Haven't figure out how to run them in sequence. | 07:15 |
yanyanhu | any error log in engine? | 07:15 |
yanyanhu | senlin-engine | 07:15 |
yanyanhu | elynn__, in parallel means three test cases are started concurrently? | 07:16 |
elynn__ | Pasted in bug description, delete_clusters will failed because of db problem. | 07:16 |
elynn__ | I'm not sure all of them or just some of them are parallel. | 07:17 |
yanyanhu | the old DB issues always produced forever-waiting actions and you can observed related log | 07:17 |
yanyanhu | you mean this bug report? https://bugs.launchpad.net/senlin/+bug/1563920 | 07:17 |
openstack | Launchpad bug 1563920 in senlin "Got db error when running tempest tests" [Undecided,New] | 07:17 |
yanyanhu | the log msg | 07:17 |
elynn__ | Seems it failed at start_action | 07:18 |
elynn__ | "/opt/stack/senlin/senlin/engine/dispatcher.py", line 112, in start_action | 07:18 |
yanyanhu | doesn't look like a DB error ? | 07:18 |
elynn__ | InvalidRequestError A transaction is already begun. Use subtransactions=True to allow subtransactions. | 07:18 |
yanyanhu | looks like an error about rpc | 07:19 |
elynn__ | Hmm, maybe it's not a db error | 07:19 |
yanyanhu | about the rpc communication between engine dispatcher and worker | 07:19 |
yanyanhu | I guess it's not an error about DB transaction : ) | 07:20 |
elynn__ | Let me check the full log. | 07:20 |
yanyanhu | although this line looks like ... Remote error: InvalidRequestError A transaction is already begun. Use subtransactions=True to allow subtransactions. | 07:20 |
yanyanhu | yes, I think there should be some hints in the full engine log | 07:20 |
yanyanhu | about why RemoteError happened | 07:20 |
openstackgerrit | EldonZhao proposed openstack/senlin: Add NoneType protection for ex.response in sdk.py https://review.openstack.org/299102 | 07:22 |
*** gongysh has joined #senlin | 07:23 | |
elynn__ | Got this error at my home env, may need to reproduce this in my work env to collect logs... | 07:23 |
yanyanhu | ... | 07:24 |
openstackgerrit | EldonZhao proposed openstack/senlin: Add NoneType protection for ex.response in sdk.py https://review.openstack.org/299102 | 07:27 |
openstackgerrit | EldonZhao proposed openstack/senlin: Add NoneType protection for ex.response in sdk.py https://review.openstack.org/299102 | 07:59 |
*** elynn__ has quit IRC | 08:11 | |
*** zzxwill has quit IRC | 08:18 | |
*** zzxwill has joined #senlin | 08:59 | |
*** lixinhui_ has joined #senlin | 09:09 | |
*** elynn__ has joined #senlin | 09:10 | |
*** elynn__ has quit IRC | 09:14 | |
*** elynn__ has joined #senlin | 09:14 | |
*** lixinhui_ has quit IRC | 09:15 | |
*** elynn__ has quit IRC | 09:22 | |
*** zzxwill has quit IRC | 09:46 | |
*** Qiming has quit IRC | 09:52 | |
*** yanyanhu has quit IRC | 09:54 | |
*** yanyanhu has joined #senlin | 09:55 | |
*** yanyanhu has quit IRC | 09:55 | |
*** elynn__ has joined #senlin | 09:58 | |
*** zzxwill has joined #senlin | 09:59 | |
*** elynn__ has quit IRC | 10:03 | |
*** elynn__ has joined #senlin | 10:03 | |
openstackgerrit | Merged openstack/senlin: Add NoneType protection for ex.response in sdk.py https://review.openstack.org/299102 | 10:06 |
*** elynn__ has quit IRC | 10:06 | |
*** zzxwill_ has joined #senlin | 10:11 | |
*** zzxwill has quit IRC | 10:12 | |
*** zzxwill_ has quit IRC | 10:37 | |
*** zzxwill has joined #senlin | 10:39 | |
*** Qiming has joined #senlin | 10:49 | |
*** zzxwill has quit IRC | 10:51 | |
*** dhellmann has quit IRC | 11:22 | |
*** dhellmann_ has joined #senlin | 11:22 | |
*** lixinhui_ has joined #senlin | 11:26 | |
*** dhellmann_ is now known as dhellmann | 11:26 | |
*** lixinhui_ has quit IRC | 12:05 | |
*** zzxwill has joined #senlin | 12:16 | |
openstackgerrit | EldonZhao proposed openstack/senlin: Add action-id to Resp of node-delete https://review.openstack.org/299898 | 12:35 |
openstackgerrit | EldonZhao proposed openstack/senlin: Add action-id to Resp of node-delete https://review.openstack.org/299898 | 12:38 |
*** lixinhui_ has joined #senlin | 13:43 | |
*** zzxwill has quit IRC | 13:46 | |
*** zzxwill has joined #senlin | 13:57 | |
*** lixinhui_ has quit IRC | 14:12 | |
*** gongysh has quit IRC | 14:25 | |
*** gongysh has joined #senlin | 14:42 | |
*** zzxwill has quit IRC | 14:46 | |
*** zzxwill has joined #senlin | 14:52 | |
*** gongysh has quit IRC | 14:56 | |
*** Qiming has quit IRC | 15:24 | |
*** zzxwill has quit IRC | 16:40 | |
openstackgerrit | Ethan Lynn proposed openstack/senlin: [WIP]Use the new enginefacade from oslo.db https://review.openstack.org/300089 | 16:44 |
openstackgerrit | Ethan Lynn proposed openstack/senlin: [WIP]Use the new enginefacade from oslo.db https://review.openstack.org/300089 | 16:53 |
-openstackstatus- NOTICE: Job failures for missing traceroute packages are in the process of being fixed now, ETA 30 minutes to effectiveness for new jobs | 17:49 | |
*** openstackgerrit has quit IRC | 19:03 | |
*** openstackgerrit has joined #senlin | 19:05 | |
-openstackstatus- NOTICE: Any jobs which erroneously failed on missing traceroute packages should be safe to recheck now | 19:55 | |
*** Qiming has joined #senlin | 23:58 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!