13:02:05 #startmeeting senlin 13:02:06 Meeting started Tue Aug 8 13:02:05 2017 UTC and is due to finish in 60 minutes. The chair is Qiming. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:02:07 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 13:02:09 The meeting name has been set to 'senlin' 13:04:17 hi 13:04:30 evening, Qiming, XueFeng 13:04:37 hi 13:04:55 hi, this week is the RC1 week 13:05:02 evening, all 13:05:12 OK 13:05:13 let's see if we have some patches to merge 13:05:40 I'm reading elynn's patch on nova server 13:06:06 finally someone is reading it 13:06:11 overall it looks good 13:06:25 Qiming, maybe there is a bug in client 13:06:47 I'm still trying to be picky 13:07:26 Let me check 13:07:36 senlin node-list 'Namespace' object has no attribute 'os_profile' 13:07:37 sure, welcome picky. 13:07:39 elynn, I don't like the 'return ex' or 'return obj, ex' code 13:08:20 It's copycat from golang.. 13:08:29 exceptions are not supposed to be passed this way 13:09:03 better change it to 'return error_string' or 'return obj, error_string' 13:09:29 error_string? 13:09:32 the code won't cause an issue in its current state 13:09:39 six.text_type(ex) 13:10:01 might lost the exception type in this way 13:10:20 but in future, if someone wants to parse that exception "object", he will fail 13:10:51 exception objects are only meant to be parsed INSIDE a try ... except clause 13:10:54 I see.. Sounds good. 13:11:18 I myself have suffered from that before 13:11:43 trying to figure out the exception details out of the exception context ... most things changed 13:12:50 persuaded, I will modify that. 13:12:54 XueFeng, what is it? 13:13:23 can you nail it down to the changes made? 13:13:32 https://review.openstack.org/#/c/487766/ 13:13:40 maybe cause by this patch 13:14:34 Christopher Brown is making senlinclient rpm 13:14:49 senlin server rpm has been finished 13:15:50 I noticed that complaint 13:16:56 I will check how to solve the problem ASAP. 13:17:37 okay, it looks to me the current fix is incorrect 13:18:21 I think we should fix the unit test 13:18:25 make it smarter 13:18:47 ok 13:19:19 http://git.openstack.org/cgit/openstack/python-senlinclient/tree/senlinclient/tests/unit/test_shell.py#n195 13:19:55 when os_profiler is installed, parser.add_argument.call_count should be 1, or else it should be 0 13:20:30 OK 13:20:41 got it 13:24:34 any other bugs / issues? 13:24:49 I have got one: 13:24:52 No more from me 13:24:54 BIG ONE 13:25:03 https://review.openstack.org/#/c/490707/ 13:25:18 and this: http://lists.openstack.org/pipermail/openstack-dev/2017-August/120656.html 13:25:26 :D 13:25:46 Congratulations 13:25:49 :) 13:26:08 Ruijie has decided to step forward to lead us 13:26:25 :) 13:27:02 Hope we can go to next level, of course with all your supports 13:27:06 as far as I know, if no one else would propose, he will be our next center-of-complaints 13:27:21 Next cycle we will do more hard for senlin 13:27:38 Good to know~ Welcome ruijie :) 13:27:51 thanks, ruijie 13:28:07 thanks all :) 13:29:01 about the bug/improvements, here's one http://git.openstack.org/cgit/openstack/senlin/tree/senlin/engine/actions/base.py#n322 13:29:39 right, we talked about that last week 13:29:42 we may need an interval/max retry times for this kind of actions 13:29:49 yep 13:31:10 but, as you see, this is inside a thread, do we need a column or somethings to mark the retry times? 13:32:25 ... good question 13:32:49 I don't think it needs to be persisted into database 13:33:21 but without persisting to db, we don't have a workaround 13:33:33 all actions are fetched again from db 13:34:20 yes Qiming, or we could write it into the data field .. 13:34:42 yep, sounds a workaround 13:36:36 put {'#retries': 1} in to action.data? 13:37:58 yes, need extra code to parse this field. 13:38:20 parse and set it if necessary 13:38:26 logic is straightfoward 13:38:29 and we now have a lot of data in action.input & output 13:38:39 :) 13:38:59 a lot of? 13:39:48 for the messaging purpose, I add a lot of them in out project .. not sure that is necessary to add back to Senlin 13:39:58 out/our 13:40:41 :) 13:41:10 so ... it has better be done on a per-field basis 13:42:10 anyone of you is aware of how to use etcd as the data store? 13:44:30 What kind of data store? 13:44:37 replace mysql 13:44:39 https://review.openstack.org/#/c/445432 13:45:48 I'm tired of the mysql -> sqlalchemy -> oslo.db -> our own db model abstraction 13:46:42 Any advantage replacing mysql with etcd? 13:46:53 it is introducing a lot of bizarre errors 13:47:06 as a kv database, I guess it would be very easy to use 13:47:22 the most powerful thing is HA 13:47:24 just throw a dict to it 13:47:33 then it has "watch" api 13:48:15 actually, we are storing "dict" in mysqldb 13:49:08 then action engine can simply "watch" new action objects creation and start working on it 13:50:09 https://python-etcd.readthedocs.io/en/latest/ 13:50:35 Still not so sure how to implement that 13:50:46 anyone of you is hihiof how to use etcd as the data store? ///Hi, Senlin need introduce etcd to the project? 13:50:57 a lot easier from the doc 13:51:35 XueFeng, just curious if that can save us from the db consistency problem once for all 13:52:28 this is wonderful: client.read('/nodes/n2', wait=True) #Waits for a change in value in the key before returning. 13:52:58 use raft protocol 13:53:01 things written into etcd can have a ttl 13:53:20 that means they will go away after that time period 13:53:41 a single option to controll all events in db 13:53:49 auto purge the action data .. 13:54:32 It's better than corosync which use totem protocol 13:55:50 anyway, just throw a question on you 13:56:09 in case someone is interested in this 13:56:20 Ok, and these days 13:56:43 Which things can we do for the k8s+senlin 13:56:45 Maintain the relationship might still be a problem in etcd I guess. 13:57:04 that is acceptable that we replace mysqldb with etcd? or add it as one component ? 13:57:22 it doesn't have to be a replace 13:57:33 it can be another db driver 13:58:02 recall that we have senlin/db/sqlalchemy, we can have senlin/db/etcd 13:58:25 okay, cool 13:58:29 Yes 13:59:03 time's up, guys 13:59:10 thanks for joining 13:59:16 have a good sleep 13:59:25 it is heavy raining outside here 13:59:28 good night 13:59:29 see u 13:59:31 good night 13:59:43 #endmeeting