openstackgerrit | Merged openstack/python-senlinclient: Client support to receivers https://review.openstack.org/259880 | 00:03 |
---|---|---|
*** Qiming has joined #senlin | 00:22 | |
openstackgerrit | junxu proposed openstack/senlin: Add 'EVENT' checking for scaling policy. https://review.openstack.org/258823 | 01:05 |
*** zhenguo has joined #senlin | 01:17 | |
*** Yanyanhu has joined #senlin | 01:31 | |
*** Qiming has quit IRC | 01:47 | |
*** elynn has joined #senlin | 02:03 | |
openstackgerrit | Merged openstack/senlin: Remove unused webhook APIs https://review.openstack.org/260037 | 02:04 |
openstackgerrit | Merged openstack/senlin: Add 'EVENT' checking for scaling policy. https://review.openstack.org/258823 | 02:06 |
*** Qiming has joined #senlin | 02:17 | |
openstackgerrit | Qiming Teng proposed openstack/senlin: Remove useless webhook RPC calls https://review.openstack.org/260297 | 02:23 |
elynn | Hi Qiming | 02:24 |
Qiming | hi | 02:24 |
elynn | About senlin resource | 02:24 |
elynn | When I delete cluster, heat will check if cluster goes into deleting status. | 02:25 |
elynn | But the first check is so quick and cluster are not ready to put into deleting , still in ACTIVE | 02:26 |
elynn | So everytime I delete cluster from heat, I will got an delete failed error because the status are not correct. | 02:26 |
Qiming | yes, delete will happen sometime in future, we cannot guarantee that action is performed immediately | 02:26 |
elynn | Is it better to set cluster status immediately when receive the request? | 02:28 |
Qiming | elynn, I don't like the heat way of checking if a resource is still there | 02:28 |
Qiming | no, we cannot do that | 02:28 |
elynn | I notice that now we start an action to set the status. | 02:28 |
Qiming | checking cluster status is not reliable | 02:28 |
Qiming | the way I would suggest is to follow nova's logic | 02:29 |
elynn | I might take time until actions actually execute. | 02:29 |
Qiming | you do a wait | 02:29 |
Qiming | wait for the delete to complete | 02:29 |
Qiming | you will use this API: http://git.openstack.org/cgit/openstack/python-openstacksdk/tree/openstack/resource.py#n991 | 02:30 |
Qiming | you cannot require all resources will have a 'status' for you to check | 02:30 |
elynn | Ok, I will try to add something in senlin resource to make sure that update and delete are really starts.... | 02:33 |
Qiming | no, elynn, you cannot predict that | 02:33 |
elynn | The logic now is if the status != deleting will raise error. | 02:34 |
Qiming | for delete, the only reliable way of checking is to try get that resource until you get ResourceNotFound or time out | 02:34 |
Qiming | elynn, exactly, that needs a revision | 02:35 |
elynn | Change to 'if status in [error, warning]' will raise error | 02:35 |
elynn | is it better? | 02:35 |
Qiming | no, you don't check status | 02:35 |
elynn | so just wait for not_found? | 02:35 |
Qiming | yes | 02:36 |
elynn | What if it can not be deleted, then this resource will forever in in_progress.... | 02:36 |
Qiming | you can check nova server resource's check logic | 02:36 |
Qiming | yes, then you time out | 02:36 |
elynn | ok, it's a little weird but acceptable... | 02:37 |
Qiming | you can check how heat verify whether a server has been deleted: function check_delete_server_complete in its client plugin | 02:38 |
elynn | let me have a check | 02:39 |
Qiming | okay | 02:39 |
elynn | Will attend a meeting now, talk to you later... | 02:40 |
Qiming | ok | 02:40 |
openstackgerrit | Qiming Teng proposed openstack/senlin: Remove webhook from service layer https://review.openstack.org/260299 | 02:52 |
openstackgerrit | Yanyan Hu proposed openstack/senlin: Enable update of flavor property of Nova server profile https://review.openstack.org/259890 | 03:28 |
elynn | Hi Qiming | 03:29 |
elynn | About cluster update, it still face the status problem. | 03:30 |
elynn | If the cluster start to update, the status of cluster will follow this routine 'active -> updating -> active' | 03:32 |
elynn | It's hard for heat to distinguish the first 'active' and the last 'active', which means heat don't know when the updation ends. | 03:35 |
Qiming | how does Heat check nova server update? | 03:36 |
Qiming | nova server doesn't provide a 'update-in-progress' status right? | 03:36 |
elynn | let me see | 03:38 |
elynn | Just check the codes | 03:40 |
elynn | it just check the status, if status == 'active' will put status to complete. | 03:41 |
elynn | https://github.com/openstack/heat/blob/master/heat/engine/clients/os/nova.py#L471-L478 | 03:41 |
Qiming | so we don't know if the update is performed or not | 03:42 |
elynn | nova is a little difference , it have a 'VERIFY_RESIZE' before 'active' , heat actually wait for 'verify_resize' | 03:44 |
Qiming | what about changing hostname, changing image? | 03:44 |
elynn | https://github.com/openstack/heat/blob/master/heat/engine/clients/os/nova.py#L501-L506 | 03:45 |
elynn | only check for 'error' status | 03:45 |
Qiming | okay | 03:46 |
elynn | Seems heat assume that the first 'active' is omit... nova will change the status immediately, so just wait for the last 'active'. | 03:47 |
Qiming | ... | 03:47 |
Qiming | that is not reliable, isn't it? | 03:47 |
Qiming | will think about it | 03:47 |
elynn | The same for the deletion.... | 03:48 |
elynn | As a workaround, I can add a counter number for status 'active', and omit any 'active' status before change to 'updating', but the codes will looks a little ugly... | 03:52 |
openstackgerrit | Zhuohua Li proposed openstack/senlin: test https://review.openstack.org/260313 | 04:21 |
Qiming | elynn, don't do that | 04:55 |
Qiming | it sounds very dangerous to me | 04:55 |
Qiming | after the API revision, we are now returning 202 for CREATE and UPDATE | 04:55 |
Qiming | in that body, we have an action id | 04:55 |
Qiming | a better alternative is to check if that action has been labelled SUCCEEDED | 04:56 |
elynn | It sounds better, let me see how to get the action id from body. | 04:58 |
Qiming | okay | 04:58 |
xuhaiwei_ | hi, when I rebuild my openstack by using devstack, I got this error: Could not determine a suitable URL for the plugin | 05:00 |
elynn | Do you have any idea about how to get the returned action id? | 05:00 |
xuhaiwei_ | have you ever met this before, sorry to interrupt | 05:00 |
elynn | xuhaiwei_: Never saw it before, do you have any detailed log? | 05:01 |
Qiming | me neither | 05:01 |
xuhaiwei_ | no more details, the script failed when creating a image | 05:01 |
Qiming | seems you need to remove some existing packages, especially keystone related | 05:02 |
Qiming | including keystoneauth | 05:02 |
xuhaiwei_ | I googled it, it seems related to keystone version | 05:02 |
xuhaiwei_ | ok, I will try it | 05:02 |
openstackgerrit | Qiming Teng proposed openstack/python-senlinclient: Use SDK calls when possible https://review.openstack.org/260328 | 05:45 |
openstackgerrit | Qiming Teng proposed openstack/python-senlinclient: Directly use SDK calls in client (1) https://review.openstack.org/260329 | 05:45 |
Yanyanhu | hi, Qiming, around? | 06:00 |
Yanyanhu | I'm trying to remove the name property of os.nova.server profile | 06:00 |
Yanyanhu | I think if user really want to embed a unique str into the name of nova servers created, they can name the cluster using that string | 06:03 |
Yanyanhu | allowing to specify the name property of nova server profile makes thing complicated | 06:05 |
Qiming | nova doesn't allow servers to have the same name? | 06:15 |
Yanyanhu | allows I think | 06:15 |
Qiming | then why are are enforcing name uniqueness? | 06:17 |
Qiming | why we are enforcing name uniqueness? | 06:17 |
Yanyanhu | not enforcing name uniqueness, just don't allow user to define the name of the os.nova.server profile | 06:17 |
Yanyanhu | actually, the name property is not used before | 06:18 |
Qiming | if user provides 'name', they mean they want to name their servers using that string | 06:18 |
Qiming | we don't care why they are doing that | 06:18 |
Qiming | if they don't provide 'name', we use cluster name plus a random suffix? | 06:19 |
Yanyanhu | using that string like 'NAME-xxx' | 06:19 |
Qiming | we shouldn't do that | 06:19 |
Yanyanhu | shouldn't use node name plus a random suffix? | 06:20 |
Qiming | it is weird when I tell nova to create server named 'web' and I'm getting a 'web-xxxyyy' | 06:20 |
Yanyanhu | yes, I agree with this | 06:20 |
Qiming | if 'name' is not provided, it means users don't care about names, we help create random, meaningful names for them | 06:20 |
Yanyanhu | you mean directly using name given by user to name all servers in the cluster? | 06:20 |
Qiming | yes | 06:20 |
Yanyanhu | so all servers will have the same name | 06:21 |
Qiming | users know what they are doing | 06:21 |
Yanyanhu | hmm, makes sense | 06:21 |
Yanyanhu | ok, I think you're right | 06:21 |
Yanyanhu | we just follow user's request regardless whether it is weird | 06:22 |
Yanyanhu | since this is what they want | 06:22 |
Qiming | at best, we can name a server with '%s%s' % (name, index) | 06:22 |
Qiming | but that is not an useful feature I'm afraid | 06:22 |
Qiming | users should always get what they want | 06:23 |
Qiming | random suffix at all times is a bad design IMO | 06:23 |
Yanyanhu | yep | 06:23 |
Yanyanhu | I agree with this | 06:23 |
Qiming | the key is that we will never use name as the unique ID of a resource | 06:24 |
Yanyanhu | right | 06:24 |
openstackgerrit | Merged openstack/senlin: Remove useless webhook RPC calls https://review.openstack.org/260297 | 06:32 |
openstackgerrit | Merged openstack/senlin: Remove webhook from service layer https://review.openstack.org/260299 | 06:32 |
Qiming | hi | 06:46 |
Qiming | drafting mid-cycle meetup agenda | 06:46 |
Qiming | https://etherpad.openstack.org/p/senlin-mitaka-midcycle | 06:46 |
Qiming | please add topics you want to discuss | 06:46 |
Yanyanhu | got it | 06:47 |
xuhaiwei_ | I just got a bad news | 06:48 |
xuhaiwei_ | I may not join the meetup last month | 06:48 |
Qiming | pls ... | 06:48 |
xuhaiwei_ | forgive me sir | 06:48 |
xuhaiwei_ | there is no budget for me :( | 06:49 |
Qiming | air polution is not that bad indoor | 06:49 |
Yanyanhu | sigh... | 06:49 |
xuhaiwei_ | really sorry | 06:50 |
Qiming | we'll try to sync things online via etherpad | 06:50 |
xuhaiwei_ | not dicided yet, but the chance is very small | 06:50 |
xuhaiwei_ | that will be a great help for me | 06:50 |
Qiming | please try convince your manager | 06:51 |
Qiming | this is not gonna be just a simple meetup, check the agenda | 06:52 |
xuhaiwei_ | I will go to India for about one week at the end of Jan, I asked my manager can I use that budget to go to Beijing, but he said no, the budget comes from different project | 06:52 |
Qiming | ... | 06:53 |
xuhaiwei_ | the budget management is not good | 06:53 |
Qiming | ok | 06:53 |
xuhaiwei_ | I gonna miss a lot I think | 06:54 |
Qiming | https://review.openstack.org/#/c/260328/ | 06:54 |
Qiming | https://review.openstack.org/#/c/260329/1 | 06:54 |
Qiming | these two were outcome from a git commit mistake | 06:54 |
Qiming | they are supposed to be in a single patch | 06:55 |
Qiming | anyway, pls help review | 06:55 |
Qiming | xuhaiwei_, no worries | 06:55 |
Qiming | we will try get you updated | 06:55 |
xuhaiwei_ | thanks | 06:56 |
openstackgerrit | Yanyan Hu proposed openstack/senlin: Make name property of os.nova.server profile take effect https://review.openstack.org/260355 | 07:05 |
openstackgerrit | Yanyan Hu proposed openstack/senlin: Make name property of os.nova.server profile take effect https://review.openstack.org/260355 | 07:26 |
openstackgerrit | Yanyan Hu proposed openstack/senlin: Make name property of os.nova.server profile take effect https://review.openstack.org/260355 | 07:41 |
*** lixinhui has joined #senlin | 08:01 | |
xuhaiwei_ | Qiming | 08:23 |
xuhaiwei_ | about the client patch | 08:23 |
Qiming | yes | 08:30 |
xuhaiwei_ | has commented the patch | 08:31 |
xuhaiwei_ | dont understand why shell.py is also changed | 08:32 |
Qiming | shell.py is invoking SDK | 08:32 |
Qiming | directly | 08:32 |
Qiming | client.py is useless | 08:32 |
xuhaiwei_ | so client will be removed? | 08:33 |
Qiming | it is there only because there are other services which are used to invoke a xxxclient.client module | 08:33 |
Qiming | in a perfect world, they should invoke SDK directly as well | 08:33 |
Qiming | then we can remove the client.py module as well, leaving only the shell.py | 08:33 |
xuhaiwei_ | but your patch is making double fix of client.py and shell.py | 08:37 |
Qiming | yes, it is an effort to remove our local models. | 08:40 |
xuhaiwei_ | why not just fix shell.py, since the method like create_profile in client.py is not used any more | 08:41 |
Qiming | create_profile is invoked from heat | 08:42 |
Qiming | it is invoked from senlin-dashboard | 08:42 |
xuhaiwei_ | ok | 08:43 |
xuhaiwei_ | that is the point, got it | 08:43 |
openstackgerrit | Yanyan Hu proposed openstack/senlin: Enable name property update for os.nova.server profile https://review.openstack.org/260392 | 08:57 |
openstackgerrit | Merged openstack/python-senlinclient: Use SDK calls when possible https://review.openstack.org/260328 | 09:10 |
Yanyanhu | hi, Qiming, about this patch https://review.openstack.org/#/c/259301/ | 09:11 |
Yanyanhu | so pbr itself can handle the files that will finally be included into the packages? | 09:12 |
Qiming | yes | 09:13 |
Qiming | content in MANIFEST is useless | 09:13 |
Yanyanhu | where pbr gets the file information? | 09:13 |
Yanyanhu | setup.cfg? | 09:13 |
Qiming | right | 09:13 |
Yanyanhu | ok, many thanks for explaination | 09:14 |
Qiming | MANIFEST is mainly about which files should be included | 09:14 |
Yanyanhu | ok | 09:17 |
Yanyanhu | hi, Qiming, about this patch https://review.openstack.org/#/c/260329/ | 09:28 |
Yanyanhu | I guess Cluster definition can also be removed from model.py ? | 09:28 |
Yanyanhu | I saw related support has been in sdk? | 09:28 |
Qiming | Yanyanhu, not yet, the action apis not yet revised | 09:30 |
Yanyanhu | ok, I see. Thanks | 09:32 |
openstackgerrit | Merged openstack/python-senlinclient: Directly use SDK calls in client (1) https://review.openstack.org/260329 | 09:35 |
*** zhenguo has quit IRC | 10:01 | |
*** zhenguo has joined #senlin | 10:01 | |
*** Qiming has quit IRC | 10:16 | |
*** Yanyanhu has quit IRC | 10:23 | |
*** elynn has quit IRC | 11:06 | |
*** Qiming has joined #senlin | 11:17 | |
*** lixinhui_ has joined #senlin | 11:57 | |
*** yanyanhu has joined #senlin | 12:51 | |
*** elynn has joined #senlin | 12:55 | |
yanyanhu | elynn, you can try to increase engine number I think | 14:00 |
yanyanhu | to the number of processor cores you have | 14:00 |
Qiming | yes, that would be interesting | 14:00 |
yanyanhu | after the latest fix of DB concurrency issue | 14:00 |
Qiming | a single python thread doing sequential work -- deleting nodes | 14:00 |
yanyanhu | I'm more confident about our multi-engine support | 14:01 |
Qiming | you have to wait | 14:01 |
elynn | So a cluster can lock an engine entirely? | 14:01 |
yanyanhu | Qiming, yes | 14:01 |
yanyanhu | elynn, not a cluster, just too many actions | 14:01 |
yanyanhu | make the engine too busy I think | 14:01 |
Qiming | cluster is not locked by an engine | 14:01 |
yanyanhu | too busy to respond the rpc request before timeout | 14:02 |
Qiming | elynn, you aware of GIL ? | 14:02 |
elynn | let me try multi-engine tomorrow :) | 14:02 |
yanyanhu | elynn, I set engine number to 2 by default | 14:03 |
Qiming | there's no real parallelism in CPython: https://wiki.python.org/moin/GlobalInterpreterLock | 14:03 |
yanyanhu | you can increase the number if you server is more powerful :) | 14:03 |
lixinhui_ | elynn and yanyanhu, hope you can provide your experience with me | 14:03 |
yanyanhu | lixinhui_, no problem | 14:03 |
lixinhui_ | Thanks | 14:03 |
elynn | lixinhui: no problem | 14:03 |
lixinhui_ | it would be nice if you can send me the configs of your engine server and scale | 14:04 |
lixinhui_ | thanks a lot | 14:04 |
lixinhui_ | lxinhui@vmware.com | 14:04 |
yanyanhu | lixinhui_, sure, will paste my senlin.conf to you tomorrow | 14:04 |
lixinhui_ | okay, yanyanhu | 14:05 |
yanyanhu | actually I just increase the engine worker number, other part is default :) | 14:05 |
elynn | haven't change senlin.conf for now... | 14:05 |
lixinhui_ | sorry | 14:05 |
lixinhui_ | I mean the cpu, memory | 14:05 |
yanyanhu | oh, you mean my work environment | 14:05 |
lixinhui_ | Yes | 14:05 |
yanyanhu | ah, it's a VM with 4 VCPU and 16GB memory | 14:05 |
lixinhui_ | I want to recovery that and do some profiling if need | 14:05 |
yanyanhu | will do some scalability related test | 14:06 |
yanyanhu | sure, understand :) | 14:06 |
elynn | I's using i7 16G physical machine | 14:06 |
lixinhui_ | okay | 14:06 |
lixinhui_ | yanyanhu, you just mentioned you can create 5 clusters and more than 1000 nodes each | 14:07 |
elynn | it should be 8 cores with hyper-threading. | 14:07 |
lixinhui_ | okay elynn, yes that is important | 14:07 |
yanyanhu | ahh, actually with 200 nodes in each cluster... | 14:07 |
yanyanhu | totally 1000 | 14:07 |
lixinhui_ | oh, okay | 14:07 |
lixinhui_ | what flavor for this tests to create vm | 14:08 |
yanyanhu | will increase the engine worker number to 4 and compare the time consumption of cluster increasing | 14:08 |
yanyanhu | I used openstack_test cloud backend driver | 14:08 |
yanyanhu | this cloud backend driver was developed for functional test | 14:09 |
lixinhui_ | okay | 14:09 |
lixinhui_ | thanks | 14:09 |
yanyanhu | using it, senlin engine won't talk with other openstack services to create real resource, .e.g nova server or heat stack | 14:09 |
lixinhui_ | cool :) | 14:09 |
yanyanhu | so we can use it to test the scalability of engine I think | 14:09 |
yanyanhu | will show you how to use it tomorrow :) | 14:10 |
lixinhui_ | okay :) thanks in advance, yanyanhu | 14:10 |
yanyanhu | my pleasure :) | 14:10 |
yanyanhu | will leave, talk to you guys later | 14:11 |
lixinhui_ | see you tomorrow | 14:11 |
elynn | Bye~ | 14:11 |
yanyanhu | see U | 14:11 |
yanyanhu | 88 | 14:11 |
*** yanyanhu has quit IRC | 14:11 | |
*** elynn has quit IRC | 14:12 | |
*** lixinhui_ has quit IRC | 14:46 | |
*** bdrich_ has joined #senlin | 14:51 | |
*** Qiming has quit IRC | 15:19 | |
*** bdrich_ has quit IRC | 15:45 | |
*** openstackgerrit has quit IRC | 18:02 | |
*** openstackgerrit has joined #senlin | 18:03 | |
*** bdrich_ has joined #senlin | 20:47 | |
*** bdrich_ has quit IRC | 21:36 | |
*** pratikmallya has joined #senlin | 22:22 | |
*** Qiming has joined #senlin | 22:45 | |
*** Qiming has quit IRC | 22:50 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!