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