*** XueFeng has quit IRC | 00:24 | |
*** elynn has joined #senlin | 00:35 | |
*** XueFengLiu has quit IRC | 00:36 | |
*** guoshan has joined #senlin | 00:43 | |
*** yuanying has joined #senlin | 00:44 | |
*** elynn_ has joined #senlin | 00:48 | |
*** elynn has quit IRC | 00:48 | |
*** yuanying has quit IRC | 00:52 | |
*** yuanying has joined #senlin | 00:52 | |
*** yanyanhu has joined #senlin | 00:57 | |
*** yanyanhu has quit IRC | 01:02 | |
*** yanyanhu has joined #senlin | 01:04 | |
*** guoshan has quit IRC | 01:16 | |
*** yanyanhu has quit IRC | 01:16 | |
*** yanyanhu has joined #senlin | 01:16 | |
*** shu-mutou-AWAY is now known as shu-mutou | 01:19 | |
*** elynn__ has joined #senlin | 01:30 | |
*** elynn_ has quit IRC | 01:32 | |
*** guoshan has joined #senlin | 01:33 | |
yanyanhu | just for reminding, here is the agenda of today's Tacker IRC meeting. Senlin integration with Tacker is the last topic. | 02:03 |
---|---|---|
yanyanhu | https://wiki.openstack.org/wiki/Meetings/Tacker#Meeting_Dec_14th.2C_2016 | 02:03 |
yanyanhu | hi, xuhaiwei, around? | 02:03 |
*** XueFeng has joined #senlin | 02:06 | |
*** XueFeng has quit IRC | 02:08 | |
xuhaiwei | hi yanyanhu | 02:13 |
xuhaiwei | yanyanhu, I can join Tacker's meeting today | 02:16 |
yanyanhu | xuhaiwei, great, thanks a lot, we will be there as well :) | 02:27 |
xuhaiwei | it's 13:30 beijing time, right? yanyanhu | 02:27 |
yanyanhu | yes | 02:28 |
yanyanhu | so will be 14:30 for you | 02:28 |
*** XueFeng has joined #senlin | 02:28 | |
xuhaiwei | ok | 02:28 |
*** chohoor has joined #senlin | 02:37 | |
*** yuanying has quit IRC | 02:53 | |
*** yuanying has joined #senlin | 02:54 | |
*** yuanying has quit IRC | 02:58 | |
openstackgerrit | Merged openstack/senlin: Use util function in cluster API (2) https://review.openstack.org/410062 | 02:59 |
openstackgerrit | Merged openstack/senlin: Use util function in cluster API (3) https://review.openstack.org/410086 | 03:00 |
openstackgerrit | RUIJIE YUAN proposed openstack/senlin: rally jobs for cluster-scale-in https://review.openstack.org/407433 | 03:22 |
openstackgerrit | Qiming Teng proposed openstack/senlin: Improve DB API for node dependency https://review.openstack.org/410527 | 03:48 |
*** yuanying has joined #senlin | 03:52 | |
openstackgerrit | Aaron Ding proposed openstack/senlin: Set max_size to cfg.CONF.max_nodes_per_cluster if -1. https://review.openstack.org/410083 | 03:52 |
*** guoshan has quit IRC | 04:05 | |
*** shu-mutou has quit IRC | 04:09 | |
*** shu-mutou has joined #senlin | 04:15 | |
*** chohoor has quit IRC | 04:19 | |
*** elynn__ has quit IRC | 04:37 | |
*** chohoor has joined #senlin | 05:00 | |
*** elynn__ has joined #senlin | 05:00 | |
*** xuhaiwei has quit IRC | 05:02 | |
*** elynn_ has joined #senlin | 05:04 | |
*** elynn__ has quit IRC | 05:05 | |
*** guoshan has joined #senlin | 05:06 | |
*** elynn__ has joined #senlin | 05:08 | |
*** elynn_ has quit IRC | 05:10 | |
*** guoshan has quit IRC | 05:11 | |
*** xuhaiwei has joined #senlin | 05:18 | |
openstackgerrit | Qiming Teng proposed openstack/senlin: Fix node dependency handling in docker profile https://review.openstack.org/410540 | 05:47 |
openstackgerrit | RUIJIE YUAN proposed openstack/senlin: 'project_safe' is a required parameter https://review.openstack.org/410543 | 06:04 |
*** guoshan has joined #senlin | 06:08 | |
*** guoshan has quit IRC | 06:12 | |
*** guoshan has joined #senlin | 06:14 | |
openstackgerrit | Merged openstack/senlin: Lookup a random action to execute https://review.openstack.org/409805 | 06:26 |
*** edisonxiang has quit IRC | 06:51 | |
*** edisonxiang has joined #senlin | 06:51 | |
*** AlexeyAbashkin has joined #senlin | 07:09 | |
*** edisonxiang has quit IRC | 07:26 | |
openstackgerrit | Aaron Ding proposed openstack/senlin: Set max_size to cfg.CONF.max_nodes_per_cluster if -1. https://review.openstack.org/410083 | 08:04 |
*** dinghh1 has joined #senlin | 08:09 | |
*** openstackgerrit has quit IRC | 08:48 | |
*** shu-mutou is now known as shu-mutou-AWAY | 08:59 | |
*** openstackgerrit has joined #senlin | 09:00 | |
*** ChanServ sets mode: +v openstackgerrit | 09:00 | |
openstackgerrit | RUIJIE YUAN proposed openstack/senlin: rally jobs for cluster-scale-in https://review.openstack.org/407433 | 09:00 |
openstackgerrit | RUIJIE YUAN proposed openstack/senlin: rally-job support cluster_scale_out https://review.openstack.org/410613 | 09:00 |
openstackgerrit | miaohb proposed openstack/senlin: Remove useless decorator for _validate_policy https://review.openstack.org/410614 | 09:00 |
openstackgerrit | Ethan Lynn proposed openstack/senlin: [WIP] Refactor senlin lock https://review.openstack.org/410617 | 09:07 |
*** xiangxinyong has joined #senlin | 09:10 | |
Qiming | elynn__, there? | 09:13 |
elynn__ | Hi Qiming | 09:14 |
Qiming | above the patch above ^ | 09:15 |
Qiming | I think I understand what you are doing | 09:15 |
elynn__ | yes? | 09:15 |
Qiming | or intending | 09:15 |
Qiming | but as I just commented, please try move this logic down to db layer | 09:15 |
Qiming | we were almost killed once by the DB problem | 09:16 |
elynn__ | I see... | 09:16 |
elynn__ | So put check action and lock in one db session? | 09:16 |
Qiming | problem is, when you get an object out of database and doing analysis on that object | 09:16 |
Qiming | the db layer entity might have changed | 09:17 |
elynn__ | yes, that's the problem xuefeng met before. | 09:17 |
Qiming | we have tried to do flushing, auto_commit, auto_expire ... all those kinds of things | 09:17 |
Qiming | for example, an action_get may never give you an updated view of the action object in database | 09:18 |
Qiming | even if that action has been modified by another operation | 09:18 |
Qiming | this is really painful | 09:18 |
elynn__ | yes...it's not an easy job to deal with db | 09:19 |
Qiming | previously we tried to trigger python code execution when DB state changed, ... it turned out to be impossible | 09:19 |
Qiming | there have been some proposals across the community to do DB triggers | 09:19 |
Qiming | those efforts died also | 09:20 |
Qiming | sqlalchemy abstraction layer is hard to debug | 09:20 |
Qiming | once I even considered writing SQL directly ... | 09:20 |
elynn__ | You've gone too far... | 09:20 |
Qiming | you know | 09:21 |
Qiming | we have "fork_join" emulation in DB | 09:21 |
Qiming | when all depended actions complete, the action that depends on them should become READY | 09:21 |
Qiming | this is very very straightforward, it cost me a month to get it done | 09:22 |
Qiming | DB record has been updated | 09:22 |
Qiming | just the in-memory python object cannot be updated | 09:22 |
Qiming | sigh ... | 09:22 |
elynn__ | .... | 09:22 |
Qiming | so ... if possible, write your logic into DB layer logics | 09:22 |
elynn__ | Did you mean when I try to steal the lock, it might changed? | 09:23 |
elynn__ | It's better to put the check and steal logic into a DB call? | 09:23 |
Qiming | when you are checking the lock status by reading it out of DB and then examining the python object | 09:24 |
Qiming | the link between the DB record and the python object is lost | 09:24 |
elynn__ | I see, I got what you mean, let me see if I can find some SQL commands or sqlalchemy commands to do so. | 09:25 |
Qiming | yes, they are all about DB record manipulation, so we'd better keep it that way in case we get ourselves trapped into new troubles | 09:25 |
Qiming | it is possible | 09:25 |
Qiming | basically, sqlalchemy is a wrapper for SQL statements | 09:26 |
elynn__ | It means we do engine health check in db call? | 09:26 |
Qiming | if the logic is at DB layer, you are not supposed to do up-calls then | 09:27 |
Qiming | the only thing for you to make decisions are all from DB tables | 09:27 |
Qiming | and ... they are meant to be reliable | 09:27 |
elynn__ | okay, let me try... | 09:27 |
Qiming | there were possibilities for service to use other backends to store data, e.g. distributed KV store | 09:28 |
Qiming | so far, most of them are sticking to mysql db | 09:28 |
Qiming | so I don't see a big problem here if we put some core logics into db layer | 09:28 |
elynn__ | It make sense. | 09:29 |
elynn__ | I will do some tests and see how far I can go, might need your experience ;) | 09:30 |
Qiming | thanks | 09:30 |
Qiming | a good reference is the way heat dealing with tags | 09:30 |
Qiming | many cross table logics done at db layer | 09:31 |
elynn__ | will check heat's codes. | 09:31 |
Qiming | code | 09:32 |
Qiming | not codes | 09:32 |
Qiming | :) | 09:32 |
elynn__ | this one ? https://github.com/openstack/heat/blob/master/heat/db/sqlalchemy/api.py#L538-L586 | 09:33 |
elynn__ | code? Why... Because it's countless? | 09:34 |
Qiming | in the context of programming | 09:35 |
*** dinghh1 has quit IRC | 09:35 | |
Qiming | the word code is already a mass | 09:35 |
elynn__ | a mass...okay | 09:36 |
Qiming | sometimes you will use 'codes', but it will mean the coding of some symbols | 09:36 |
Qiming | right, that one is about query | 09:37 |
elynn__ | Will go through it. | 09:37 |
Qiming | a more interesting one is this: https://github.com/openstack/heat/blob/master/heat/db/sqlalchemy/api.py#L1250 | 09:37 |
Qiming | about deleting things (updating things) across many tables | 09:38 |
Qiming | when we detected a service is down, we need to do something like this | 09:38 |
elynn__ | T_T That is a mass.. | 09:38 |
Qiming | haha | 09:38 |
openstackgerrit | Merged openstack/senlin: Remove retry logic from lock_acquire https://review.openstack.org/410095 | 09:39 |
Qiming | when a service is down, we collect the actions locked by that service, and the nodes/clusters locked by those actions, then we remove all the locks on nodes/clusters, then we remove locks on actions | 09:39 |
Qiming | this is something like garbage collection | 09:39 |
elynn__ | That is what I will do | 09:40 |
elynn__ | but later.. | 09:40 |
Qiming | exactly, I know you love mass | 09:40 |
elynn__ | Speechless... you know me well... | 09:41 |
openstackgerrit | RUIJIE YUAN proposed openstack/senlin: handle exception when creating nova server. https://review.openstack.org/410644 | 09:43 |
*** elynn__ has quit IRC | 09:48 | |
*** yanyanhu has quit IRC | 10:33 | |
*** guoshan has quit IRC | 10:40 | |
*** chohoor has quit IRC | 11:12 | |
*** guoshan has joined #senlin | 11:41 | |
*** guoshan has quit IRC | 11:46 | |
*** Drago1 has quit IRC | 12:02 | |
*** guoshan has joined #senlin | 12:43 | |
*** guoshan has quit IRC | 12:58 | |
*** guoshan has joined #senlin | 13:55 | |
*** guoshan has quit IRC | 13:59 | |
openstackgerrit | RUIJIE YUAN proposed openstack/senlin: handle exception when creating nova server. https://review.openstack.org/410644 | 14:37 |
*** guoshan has joined #senlin | 14:56 | |
*** guoshan has quit IRC | 15:00 | |
openstackgerrit | Merged openstack/senlin: 'project_safe' is a required parameter https://review.openstack.org/410543 | 15:15 |
*** Drago1 has joined #senlin | 16:32 | |
*** guoshan has joined #senlin | 16:56 | |
*** guoshan has quit IRC | 17:01 | |
*** AlexeyAbashkin has quit IRC | 17:41 | |
*** guoshan has joined #senlin | 17:57 | |
*** guoshan has quit IRC | 18:02 | |
*** Drago1 has quit IRC | 19:23 | |
*** guoshan has joined #senlin | 19:58 | |
*** guoshan has quit IRC | 20:02 | |
*** guoshan has joined #senlin | 21:20 | |
*** guoshan has quit IRC | 21:24 | |
*** catintheroof has joined #senlin | 21:24 | |
*** catintheroof has quit IRC | 22:19 | |
*** guoshan has joined #senlin | 23:21 | |
*** guoshan has quit IRC | 23:25 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!