13:02:11 <yanyanhu> #startmeeting senlin 13:02:12 <openstack> Meeting started Tue Dec 27 13:02:11 2016 UTC and is due to finish in 60 minutes. The chair is yanyanhu. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:02:13 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 13:02:15 <openstack> The meeting name has been set to 'senlin' 13:02:20 <yanyanhu> hi 13:03:54 <yanyanhu> hi, lxinhui, evening 13:04:38 <yanyanhu> ok, lets wait for a while 13:04:43 <lxinhui> hi 13:04:51 <yanyanhu> hi, xinhui 13:04:52 <lxinhui> Merry Xmas 13:04:56 <yanyanhu> you too :) 13:05:00 <lxinhui> :) 13:05:07 <yanyanhu> how is the holiday 13:05:13 <yanyanhu> any celebrating? 13:06:13 <Qiming> hi 13:06:19 <yanyanhu> hi, Qiming 13:06:31 <yanyanhu> ok, lets get started 13:06:38 <yanyanhu> https://wiki.openstack.org/wiki/Meetings/SenlinAgenda#Agenda_.282016-12-27_1300_UTC.29 13:06:47 <yanyanhu> here is the agenda, please feel free to add items 13:07:02 <yanyanhu> #topic ocata workitem 13:07:05 <yanyanhu> https://etherpad.openstack.org/p/senlin-ocata-workitems 13:07:11 <yanyanhu> testing 13:07:16 <yanyanhu> no progress 13:07:28 <yanyanhu> Health management 13:07:44 <yanyanhu> hi, lxinhui, any update about it? 13:08:13 <lxinhui> I am working on mistral support in Senlin 13:08:17 <yanyanhu> didn't saw further response from octavia team for that patch 13:08:22 <yanyanhu> lxinhui, cool 13:08:36 <lxinhui> https://review.openstack.org/414979 13:08:37 <yanyanhu> Qiming is working on sdk support I think 13:08:49 <lxinhui> https://review.openstack.org/414919/ 13:09:14 <lxinhui> and small fix to Qiming's early patch on mistral 13:09:19 <lxinhui> https://review.openstack.org/414755 13:09:21 <yanyanhu> nice 13:09:28 <yanyanhu> will help to review that patch 13:09:56 <lxinhui> one thing I wanna more discussion is about https://review.openstack.org/414979 13:10:17 <lxinhui> that is spec drafted for this workflow service support 13:10:58 <lxinhui> change in Senlin will include driver, profile, and policy 13:11:06 <yanyanhu> profile? 13:11:20 <yanyanhu> you mean a profile type for mistral workflow? 13:11:26 <lxinhui> in profile, I plan to add one method in nova server named as do_worflow 13:11:47 <yanyanhu> lxinhui, I see 13:12:05 <yanyanhu> or maybe that should be part of health policy? 13:12:16 <lxinhui> in policy, I think we need support operation named as 'WORKFLOW' 13:12:39 <lxinhui> and define new tags named as 'work_flow_parameters' 13:12:42 <yanyanhu> lxinhui, yes, that makes sense 13:12:48 <Qiming> should we trigger the workflow from within the policy? 13:13:12 <Qiming> do you mean all profile types should be extended with workflow awareness? 13:13:12 <lxinhui> under 'work_flow_parameters 13:13:40 <lxinhui> users can provide workflow_name, input, definition alike key-value 13:14:00 <Qiming> yes, then that workflow should be triggered as one step of the recovery process 13:14:19 <Qiming> it is a procedure to be called from the health policy, isn't it? 13:14:20 <lxinhui> Qiming, instead of base profile, I prefer to add do_workflow into nova only 13:14:35 <lxinhui> it is one of opetions of recover_action 13:14:59 <Qiming> does that mean health policy is only applicable to nova server? 13:15:07 <yanyanhu> just I feel maybe we don't need to define do_workflow for profile type? 13:15:21 <lxinhui> since heat itself can coordinate with workflow 13:15:24 <Qiming> yes, that is what I was thinking 13:15:40 <yanyanhu> I guess we can mix the operations of nova server/heat stack in the same mistral workflow? 13:15:51 <yanyanhu> not sure that understanding is correct 13:15:56 <lxinhui> I do not think so 13:16:07 <lxinhui> heat itslef can support workflow 13:16:22 <Qiming> what do you mean by heat support to workflow? 13:16:32 <lxinhui> if the stack need that function, they can think about how to achieve by their stack definition 13:16:47 <lxinhui> heat has mistral resources 13:17:00 <Qiming> so what? it is not about a resource pool 13:17:15 <lxinhui> Senlin is not resource pool :) 13:17:20 <lxinhui> as we discussed 13:17:29 <lxinhui> it only care about array operations 13:17:48 * Qiming speechless 13:18:12 <lxinhui> that is my conservative opion about definition of resource pool 13:18:27 <lxinhui> I come from Vmware and have own defintiion about resource pool 13:18:41 <lxinhui> but it is not directly realted to stack 13:19:11 <yanyanhu> hi, lxinhui, I feel a workflow which is triggered during HA progress could be consist of multiple different operations on different type of resources, e.g. nova server, heat stack or even loadbalancer. 13:19:15 <lxinhui> here I would suggest to only support nova working together with mistral 13:19:51 <lxinhui> yanyanhu, so you suggest put do_workflow in base profile? 13:19:57 <yanyanhu> so I guess it could be more clear to splitting the workflow defintion from the profile types 13:20:26 <lxinhui> what your suggestion 13:20:30 <lxinhui> ? 13:20:36 <yanyanhu> let me see 13:20:51 <lxinhui> I understand what senlin suggest about stack, nova, container 13:21:05 <lxinhui> just trying to deliver proper implements 13:21:20 <lxinhui> so please suggest where to change? 13:21:41 <lxinhui> put do_workflow into base profile? or somewhere else 13:21:44 <yanyanhu> lxinhui, yes, understand. Just feel implementing workflow as an individual conception might be better? 13:21:55 <lxinhui> what do you mena 13:22:08 <lxinhui> I can add a driver about workflow service 13:22:09 <yanyanhu> I mean workflow is just for HA purpose 13:22:31 <yanyanhu> we allow users to define a workflow and pass its ID to senlin when creating HA policy 13:22:42 <yanyanhu> this is the simplest case 13:22:59 <lxinhui> that is what users can see 13:23:00 <lxinhui> sure 13:23:08 <lxinhui> but I think we are discussing about 13:23:14 <lxinhui> where to put the do_workflow 13:23:35 <lxinhui> the function will call mistral driver I will add to execute the given workflow 13:24:08 <yanyanhu> let me see 13:24:22 <lxinhui> I just mentioned the planned change to health policy 13:24:55 <lxinhui> that is where users can point to use workflow and all paramerts need 13:25:27 <yanyanhu> if the do_workflow is for wrapping the workflow exection, maybe we just define it in side HA policy? 13:25:44 <yanyanhu> inside 13:26:06 <lxinhui> when to execute? 13:26:18 <lxinhui> attach? 13:26:19 <yanyanhu> when failure is detected? 13:26:34 <lxinhui> detection is executed else where 13:26:55 <yanyanhu> yes, but the recovery method is defined in HA policy 13:26:56 <lxinhui> you mean in heatlth manager? 13:27:02 <lxinhui> yes 13:27:04 <yanyanhu> lxinhui, ah, right 13:27:11 <yanyanhu> my fault, didn't express it clearly 13:27:18 <yanyanhu> in health manager 13:27:31 <lxinhui> you mean we will parse the recover acions and all paramerts in health manager? 13:27:43 <lxinhui> nowdays, actaully we only call cluster_recover 13:28:09 <lxinhui> and cluster_recover will execute the defined action like rebuild or recreate... 13:28:28 <yanyanhu> lxinhui, I'm not quite clear about the detail. So the recovery method is passed to cluster_recover as input params? 13:28:44 <lxinhui> by implement do_workflow, I will add one option into do_recover 13:28:59 <yanyanhu> I see 13:29:06 <Qiming> pre_op is determining exact recover operation to be done 13:29:08 <lxinhui> policy attach will parse eerything and put it into cluster data 13:29:23 <Qiming> we are about to add other options such as reboot, evacuate for nova servers 13:29:30 <Qiming> once the SDK releases a new version 13:29:39 <Qiming> driver side is ready 13:29:41 <lxinhui> yes 13:30:03 <Qiming> before or after a recover action is taken, we can invoke the named workflow with the provided parameters 13:30:06 <lxinhui> so that is the reason I think can put workflow as parallel option as these operations 13:30:36 <lxinhui> why before or after? 13:30:55 <Qiming> that is something we will add as conditions for users to specify 13:31:29 <lxinhui> what something, could you explain more 13:31:35 <Qiming> before doing nova server recovery operations, call this workflow to backup some data 13:31:52 <lxinhui> that is just somewhere can be done 13:32:03 <lxinhui> but for HA functions 13:32:06 <Qiming> then after nova server recovery is done, call that workflow to recover something once the server is up 13:32:16 <ruijie> in my current understanding, we add the workflow parameters to health_policy, when we detect failure of the nodes, we will call cluster_recover, and we can load the workflow parameters when do_revocer? 13:32:16 <lxinhui> workflow itself can be one options of recover action 13:33:08 <lxinhui> if we define do_workflow, it can be called in before, after, and one of recover_actions 13:33:14 <lxinhui> that is my understanding 13:33:15 <Qiming> yes, in an ideal world, workflow should be easy to write and debug 13:33:42 <Qiming> yes, we are talking about the same thing 13:33:55 <Qiming> just I'm suggesting leaving the do_workflow call inside the health policy 13:35:08 <yanyanhu> that means the do_workflow will be either pre_op or post_op of recover action 13:35:12 <lxinhui> ok, little bit like lbaas implements 13:35:34 <ruijie> then should we define these parameters in heath_policy and load them in pre_op 13:35:34 <lxinhui> lbaas policy 13:35:36 <Qiming> or modeled properly, can do both 13:35:44 <Qiming> right. 13:35:44 <yanyanhu> lxinhui, yes, policies all work in that way 13:35:54 <Qiming> lbaas is the example 13:35:55 <yanyanhu> yes, can be both 13:36:17 <lxinhui> okay, I will revise the spec 13:36:21 <lxinhui> accoringly 13:36:25 <yanyanhu> do need more thinking here 13:36:29 <Qiming> if, unfortunately, we found that mistral is not trustworthy, we can advise users to use the healthpolicy cautiously 13:36:37 <Qiming> but trust our profile implementation 13:36:46 <Qiming> just like lb policy 13:37:03 <Qiming> if lbaas is forever immature, we abandon lb policy 13:37:47 <lxinhui> make sense 13:37:57 <yanyanhu> actually it's not difficult to write a new lb policy 13:38:05 <Qiming> maybe we have been pushing too hard on the aspect-oriented programing (AOP) design philosophy 13:38:08 <yanyanhu> even for some HW LB like f5 13:38:32 <Qiming> if lbaas keeps failing us, it is not our fault 13:38:33 <lxinhui> Qiming, please explain more about AOP 13:38:36 <lxinhui> in senlin 13:38:48 <Qiming> users can still develop their own lb policies 13:39:21 <Qiming> we are modeling HA, LB, AutoScaling, Cross-AZ placement ... all as independent aspects of clusters 13:39:34 <lxinhui> ... ok 13:39:36 <Qiming> they can be combined in whatever way to meet user requirements 13:40:32 <Qiming> I'm not saying this is a good philosophy ... just want you know what I came from 13:40:55 <lxinhui> just wanna confirm conceret meaning of aspect in Senlin. thanks 13:41:00 <lxinhui> it helps a lot 13:41:49 <yanyanhu> ok, lxinhui, please update the spec and lets have more discussion based on it 13:41:53 <lxinhui> I think I got clear minds now and will revise the spec 13:42:16 <yanyanhu> need more thinking on both design and implementation detail 13:42:22 <yanyanhu> thanks a lot 13:42:24 <Qiming> great, some examples there would be very helpful 13:42:33 <Qiming> agreed, yangyapeng 13:42:40 <Qiming> oops 13:42:44 <lxinhui> i will add live migration and resize as examples 13:42:51 <yanyanhu> :) 13:42:57 <lxinhui> simple but useful 13:43:02 <Qiming> great 13:43:03 <lxinhui> into exmaples 13:43:09 <yanyanhu> nice 13:43:20 <Qiming> if the specs is clear enough, people will be more familar with the design 13:43:43 <yanyanhu> ok, if there is no further question on this item, lets move to next one 13:43:45 <Qiming> they can help share the implementation, debugging, reviewing things 13:44:07 <yanyanhu> yep 13:44:15 <yanyanhu> ok, documentation 13:44:19 <yanyanhu> User/developer doc for event dispatchers is done 13:44:26 <yanyanhu> it has been merged 13:44:31 <Qiming> also updated wiki pages 13:44:33 <yanyanhu> thanks, Qiming 13:44:55 <yanyanhu> also the API doc for node operation 13:45:04 <Qiming> there are picky eyes finding errors I made in the doc 13:45:05 <yanyanhu> will help to review it soon 13:45:11 <yanyanhu> :) 13:45:14 <Qiming> a lot help we are getting recently 13:45:48 <yanyanhu> ok, next one 13:45:51 <yanyanhu> senlinclient test 13:45:54 <yanyanhu> XueFengLiu, around? 13:46:03 <XueFengLiu> yes 13:46:23 <XueFengLiu> For senlinclient 13:46:24 <yanyanhu> I think you're working on it:) 13:46:59 <Qiming> if there are resources 13:47:10 <Qiming> I'd suggest we start adding functional tests for senlinclient 13:47:23 <XueFengLiu> OK 13:47:26 <Qiming> maybe not for our own CLI 13:47:29 <XueFengLiu> Just begin to do 13:47:29 <yanyanhu> Qiming, yes, that will be very useful 13:47:33 <Qiming> for the osc client plugin 13:47:46 <yanyanhu> XueFengLiu, if you need help on how to setup the gate job 13:47:46 <Qiming> so that we can ensure things are not broken along the way 13:47:50 <yanyanhu> please just ping me 13:48:10 <yanyanhu> will show you how to do it 13:48:22 <XueFengLiu> ok, after this check work finish 13:48:29 <yanyanhu> XueFengLiu, sure, no hurry 13:48:39 <XueFengLiu> will try to ad functional tests 13:48:45 <yanyanhu> great 13:49:02 <yanyanhu> ok, next item. Versioned request 13:49:15 <yanyanhu> so we are now working on renaming service calls 13:49:38 <XueFengLiu> Most of them have finished 13:49:53 <yanyanhu> thanks XueFengLiu, hongbao's work :) 13:50:17 <XueFengLiu> such as call2... still need to rename 13:50:27 <yanyanhu> yes 13:50:35 <yanyanhu> need to clean them all 13:50:39 <Qiming> there have been some conflicts 13:51:04 <Qiming> but they are happy problems, it shows us how folks are working hardly recently 13:51:09 <yanyanhu> yep 13:51:17 <yanyanhu> they are all working on service module :) 13:51:23 <Qiming> yes 13:51:42 <yanyanhu> ok, container profile 13:51:52 <yanyanhu> haiwei is not here? 13:51:52 <Qiming> no update recently 13:51:56 <yanyanhu> ok 13:52:07 <Qiming> I think we will need to add a lot features there 13:52:08 <yanyanhu> Events/Notifications 13:52:18 <yanyanhu> so this job has been done, right? 13:52:20 <Qiming> fixed some bugs in config 13:52:26 <Qiming> documented 13:52:28 <yanyanhu> I see 13:52:32 <XueFengLiu> about docker 13:52:40 <yanyanhu> yes, documentation for user/developer has been added and updated 13:52:41 <Qiming> yes can close the event/notification topic now 13:52:48 <yanyanhu> Qiming, ok 13:52:57 <Qiming> we can add some tutorials about consuming senlin notifications 13:53:03 <XueFengLiu> QiMing fixed a problem:cluster and node is not both in config 13:53:11 <yanyanhu> Qiming, yes, that will be very helpful for users 13:53:33 <Qiming> just heads up, a quick update on profile type operations 13:53:52 <Qiming> we are adding a lot operations that are supported by the backend resources 13:54:04 <yanyanhu> ah, right 13:54:12 <Qiming> for example, nova server supports start, stop, reboot, evacuate, migrate ... 13:54:14 <yanyanhu> for those operations have been supported in sdk 13:54:25 <Qiming> we are adding three calls recently 13:54:29 <Qiming> senlin profile-type-ops 13:54:50 <Qiming> will return a list of operations (with parameters specification) supported by a profile type 13:55:12 <Qiming> senlin node do reboot -f role=slave -p type=soft <mynode> 13:55:24 <Qiming> will reboot the specified nova server node 13:55:42 <Qiming> senlin cluster do reboot -f role=slave -p type=soft <mycluster> 13:55:57 <yanyanhu> sounds great 13:56:00 <Qiming> will reboot all nodes that have a role == slave to do a soft reboot 13:56:28 <Qiming> patches are almost all there 13:56:31 <XueFengLiu> All of them are useful 13:56:39 <yanyanhu> yes 13:56:54 <lxinhui> very useful 13:57:02 <yanyanhu> ok, that's all items in the list 13:57:09 <yanyanhu> we have only 3 mins left :) 13:57:25 <Qiming> maybe we need a plan for O3? 13:57:29 <yanyanhu> just reminding, we have less than a month before r3 release 13:57:33 <yanyanhu> yes 13:57:45 <Qiming> far less tan 1 month I think 13:57:47 <Qiming> :D 13:57:51 <yanyanhu> yep 13:58:03 <yanyanhu> 3 weeks, including the holiday 13:58:22 <Qiming> or should we schedule a PTG somewhere? 13:58:23 <yanyanhu> so please focus on the important feature on our plan 13:58:29 <yanyanhu> and critical bugs 13:58:39 <yanyanhu> Qiming, sure, that will be great 13:58:54 <yanyanhu> maybe we can have a discussion on it 13:59:02 <yanyanhu> tomorrow, for the detail 13:59:08 <Qiming> would be good to know how people are or want to use senlin 13:59:13 <yanyanhu> yes 13:59:33 <yanyanhu> ok, will think about it and sync with you guys 13:59:47 <Qiming> \o/ 13:59:51 <yanyanhu> to see when and where is acceptable for all of us 13:59:59 <yanyanhu> ok, time is almost over 14:00:04 <yanyanhu> thanks you guys for joining 14:00:15 <XueFengLiu> good night:) 14:00:18 <yanyanhu> have a good night and merry christmas and happy new year :) 14:00:25 <yanyanhu> #endmeeting