09:00:56 <masahito> #startmeeting blazar 09:00:57 <openstack> Meeting started Tue Apr 18 09:00:56 2017 UTC and is due to finish in 60 minutes. The chair is masahito. Information about MeetBot at http://wiki.debian.org/MeetBot. 09:00:58 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 09:01:00 <openstack> The meeting name has been set to 'blazar' 09:01:18 <masahito> #topic RollCall 09:01:25 <hiro-kobayashi> o/ 09:01:31 <priteau> o/ 09:01:39 <masahito> \o/ 09:01:55 <masahito> Today's agenda is... 09:02:06 <masahito> 1. Boston Summit 09:02:22 <masahito> 2. role of resource plugin 09:02:25 <masahito> 3. AOB 09:02:30 <masahito> anything else? 09:02:38 <masahito> #chair hiro-kobayashi priteau 09:02:39 <openstack> Current chairs: hiro-kobayashi masahito priteau 09:02:49 <hiro-kobayashi> How's instance reservation etherpad? 09:03:01 <masahito> all right. 09:03:08 <masahito> 3. instance reservation 09:03:37 <masahito> ok, let's move on first topic. 09:03:49 <masahito> #topic Boston Summit 09:04:12 <masahito> about Boston summit, I have two items 09:04:23 <masahito> 1. team meeting time 09:04:30 <masahito> 2. team dinner 09:04:42 <masahito> go on first. 09:05:01 <masahito> I prepared doodle to organize Blazar team meeting 09:05:09 <hiro-kobayashi> Thank you for coordinating the meeting! 09:05:12 <masahito> #link http://doodle.com/poll/a7pccnhqsuk9tax7 09:05:34 <masahito> please vote time you can join 09:05:36 <r-mibu> o/ 09:05:52 <masahito> r-mibu: hi 09:05:59 <hiro-kobayashi> tejaswi, r-mibu: hi! 09:06:19 <masahito> we're now talking about blazar team meeting time in Boston 09:06:20 <r-mibu> masahito, hiro-kobayashi: hi :) 09:06:28 <tejaswi> hiro-kobayashi: hi 09:06:32 <tejaswi> sorry for the delay 09:06:38 <masahito> tejaswi: np 09:07:42 <masahito> r-mibu: tejaswi: if you're in the summit, please add your available time slots 09:07:43 <masahito> http://doodle.com/poll/a7pccnhqsuk9tax7 09:08:00 <r-mibu> got it! 09:08:02 <priteau> will do 09:08:27 <hiro-kobayashi> done 09:09:09 <masahito> I'm thinking 2 or 3 hours for the meeting are good length. 09:09:19 <hiro-kobayashi> +1 09:09:24 <r-mibu> +1 09:10:27 <masahito> anyway, I plan to pick the slots on Friday. 09:10:57 <masahito> if you need more time to check, please let me know. 09:11:33 <masahito> ok, go on next 09:11:46 <masahito> In the summit, I'd like to have team dinner. 09:11:53 <masahito> how do you think? 09:11:55 <r-mibu> i'll leave on Thursday evening... 09:12:04 <r-mibu> +1 to team dinner 09:12:13 <hiro-kobayashi> +1 Great! 09:13:02 <masahito> r-mibu: sorry, I mean I plan to decide the slot on this Friday. 09:13:49 <masahito> Any preference for the day? 09:14:05 <priteau> +1 to team dinner. I will also attend one from the Scientific Working Group, I don't remember if the day is already chosen 09:14:54 <masahito> ok, I'll send it in ML because some doesn't join today's meeting. 09:15:08 <hiro-kobayashi> thanks 09:15:17 <priteau> There is an official Summit party on Tuesday night 09:15:29 <priteau> The Scientific-WG dinner is tentatively Wednesday night 09:15:42 <priteau> Monday for Blazar? 09:15:54 <masahito> so Monday or thusday? 09:16:30 <hiro-kobayashi> r-mibu will not be there Thursday evening 09:16:37 <masahito> r-mibu_ seems to leave on Thusday, so Monday night looks good. 09:16:46 <hiro-kobayashi> So Monday is the best for the members here. 09:17:05 <r-mibu_> masahito, yes, i prefer monday 09:17:08 <priteau> +1, Thursday I will probably be at another event's dinner 09:18:04 <masahito> ok, then we'll have Monday evening. 09:18:33 <masahito> Monday evening is booth crow, so after it, right? 09:18:49 <masahito> get shirts then dinner :) 09:20:03 <r-mibu_> yep, and wear them 09:20:12 <masahito> haha 09:20:31 <masahito> ok, go on next topic. 09:20:49 <masahito> #topic role of resource plugin 09:21:25 <masahito> hiro-kobayashi and me discussed role of resource plugin and blazar-manager at https://review.openstack.org/#/c/451365/ 09:22:16 <masahito> hiro-kobayashi: said blazar-manager should focus on managements about a lease and a reservation. 09:23:05 <masahito> and resource plugin should only handle *resources*, like host, aggregate and so on. 09:23:40 <masahito> but resource plugin handles a reservation instead of blazar-manager in current implementation. 09:24:16 <masahito> so the question here is 09:24:52 <masahito> 1) we should fix the resource plugin only to handle resource, and blazar-manager handles a reservation. 09:25:19 <r-mibu_> then what is the plugins for? 09:25:32 <masahito> or 2) we'll change the architecture 09:25:34 <r-mibu_> plugin of resource manager? 09:25:38 <masahito> host-reservation plugin 09:26:19 <masahito> https://github.com/openstack/blazar/blob/master/blazar/plugins/oshosts/host_plugin.py#L63 09:26:45 <masahito> here is the plugin handles a reservation 09:27:05 <priteau> masahito: to me the plugin should encapsulate the code managing the reservation of the resource. Blazar-manager creates the lease, but then delegates to each plugin to create/manage a reservation 09:27:34 <priteau> Currently we have a 1 to 1 mapping between lease and reservation, but the design allows for 1 lease to many reservations 09:27:51 <hiro-kobayashi> That's right 09:28:00 <priteau> e.g. one lease containing one host reservation, one volume reservation, and one floating IP reservation 09:28:16 <priteau> these reservations of different types might need different DB models 09:28:54 <priteau> so having a common plugin interface to create / update / destroy reservation would make sense to me 09:29:31 <masahito> it sounds resource plugin represents one resource? 09:29:53 <hiro-kobayashi> priteau: you mean the manager should delegate the management of reservation to the plugins, right? 09:30:42 <priteau> I mean if there is some common code for all plugins, it can go in manager, but each plugin will probably need to be called at reservation creation / update time too 09:31:26 <hiro-kobayashi> Okay. 09:31:27 <GeraldK> separation in reservation/lease manager (blazar manager) and resource manager sounds like a clean approach 09:31:41 <priteau> because we have just one working plugin now, it's hard to separate concerns 09:31:51 <GeraldK> blazar manager could also include some policies for reservation validation 09:31:53 <priteau> when we have another plugin, it will be easier to separate them 09:32:13 <masahito> GeraldK: hi 09:32:21 <hiro-kobayashi> That would be a new instance plugin 09:33:00 <GeraldK> hi. sorry, i have joined late. i will fill the doodle later today 09:33:07 <masahito> yes, I'm thinking new instance plugin have one plugin that represents some resources. 09:33:51 <masahito> In the architecture docs, manager is in charge of reservation. 09:33:51 <r-mibu_> i support the idea to move reservation handling from plugins 09:33:51 <masahito> https://github.com/openstack/blazar/blob/master/doc/source/architecture.rst 09:34:35 <GeraldK> if I understand the proposed architecture correct, the blazar manager could also do some translation between the northbound APIs and the resource APIs 09:34:50 <r-mibu_> this original architecture seems good 09:34:56 <masahito> IMO, it's better to be reservation handling in manager. 09:35:51 <masahito> and the handler of reservation in manager calls plugin's interface(method) to create resources. 09:36:24 <priteau> but also calls plugins to do some validation 09:36:47 <priteau> e.g. for host reservation, checking that min/max or properties arguments are correct should be done in plugin 09:37:03 <priteau> because these arguments will be likely different for other plugins 09:37:27 <masahito> right 09:37:54 <hiro-kobayashi> Who should have a resource allocation algorithm? 09:38:06 <masahito> so, validate_request() or something is needed to plugin interface. 09:38:08 <priteau> we need a better interface between manager and plugins 09:38:12 <priteau> yes 09:38:18 <hiro-kobayashi> priteau: +1 09:38:31 <hiro-kobayashi> the interface should be redesigned. 09:38:37 <priteau> plus ways for plugins to throw exception and ensure the manager cleans up what it already started to do 09:39:12 <masahito> yes. 09:39:29 <r-mibu_> GeraldK, yes, but the proposal won't change interaction between manager and api 09:39:53 <masahito> the reason I raised the topic is for making blazar's task more concrete. 09:40:04 <r-mibu_> "<hiro-kobayashi> Who should have a resource allocation algorithm?" is really good question 09:40:44 <priteau> I would say plugin 09:40:44 <masahito> 'concrete' means more easy to handle rollback and rollfoward in error. 09:40:54 <priteau> resource allocation is inherently specific to each resource 09:40:58 <hiro-kobayashi> r-mibu_: I think the allocation algorithm depends on the type of resource. So, the resource plugin should have 09:41:06 <hiro-kobayashi> priteau: +1 09:41:13 <masahito> +1 09:41:18 <r-mibu_> i suggest to put it in plugins and hide whole magic code from manager 09:41:27 <r-mibu_> right 09:42:04 <r-mibu_> even we have cascaded resource, we can have wrapper resource plugin 09:42:33 <masahito> right. 09:42:35 <hiro-kobayashi> masahito: sounds good 09:43:08 <hiro-kobayashi> Oh, sorry. r-mibu: sounds good 09:43:43 <masahito> ok 09:44:03 <r-mibu_> hiro-kobayashi, np, we had nice discussion 09:44:13 <GeraldK> what about a reservation for two instances that should be placed into two different zones? if we treat each resource (=instance) allocation separately, who can we ensure this condition? 09:44:35 <hiro-kobayashi> And who should manage the reservation info in the Blazar DB? 09:45:09 <masahito> GeraldK: it depends on what's the pluging. 09:45:16 <priteau> The problem with the reservation table is that it contains a resource_id 09:45:37 <priteau> and in the case of the host plugin, this resource_id is the ID of the aggregate allocated by Nova 09:45:55 <GeraldK> should we setup an Etherpad with all the different tasks and then try to map tasks to entity? 09:46:05 <priteau> so, either the plugin creates the reservation DB row, or it returns the values to the manager who creates it 09:46:10 <masahito> currently host plugin only represents 1 resource. If the plugin represents multi resources. the plugin handle the multi instances. 09:46:39 <hiro-kobayashi> priteau: Yes. That's complicate the separation of concern 09:47:01 <masahito> priteau: yes, I planed to raise the question in next topic. 09:47:25 <masahito> ok, I'll make etherpad to discuss details 09:47:58 <r-mibu_> we can dig into this topic at the summit, maybe 09:48:06 <hiro-kobayashi> masahito: thanks! 09:48:07 <masahito> then we can discuss it with concerns/restrictions/vice verse at next meeting or summit. 09:48:26 <r-mibu_> # i might propose heat approach 09:49:09 <hiro-kobayashi> r-mibu_: make sense 09:49:26 <masahito> let's move on next. 09:49:28 <hiro-kobayashi> It's good to use heat to handle multiple resources, right? 09:49:55 <masahito> hiro-kobayashi: it's depends on what heat can handle. 09:50:06 <r-mibu_> yes, i think so, and user can use HOT for reservations 09:50:31 <hiro-kobayashi> OK. Let's discuss at the summit 09:50:37 <r-mibu_> yep 09:50:57 <hiro-kobayashi> I'm sorry but I have to leave in 5 mins 09:51:10 <masahito> I created https://etherpad.openstack.org/p/blazar-resource-plugin 09:51:26 <masahito> #topic instance reservation 09:52:24 <masahito> some wrote down their comment at the etherpad 09:52:35 <masahito> https://etherpad.openstack.org/p/resource-plugin 09:53:34 <masahito> Basing on the page, I'm writing the spec now. 09:53:50 <hiro-kobayashi> thanks! 09:54:11 <masahito> I'll push the spec in this week. so we can start to discuss the details soon. 09:54:29 <hiro-kobayashi> I'm sorry but I have to leave. Thanks! bye 09:55:42 <masahito> in the instance reservation, resources in a reservation is a map of flavor to number of instances. 09:56:19 <masahito> so it could hit the topic we talked just before. 09:57:08 <masahito> any comments or questions? 09:57:25 <r-mibu_> i cannot see any content in the above link... 09:58:11 <r-mibu_> I'll check later and reach out you if i still have the same issue 09:58:15 <priteau> The correct link is: 09:58:17 <priteau> #link https://etherpad.openstack.org/p/new-instance-reservation 09:58:32 <masahito> sorry, I missed 09:58:33 <masahito> https://etherpad.openstack.org/p/new-instance-reservation 09:58:42 <r-mibu_> thanks! 09:59:03 <masahito> last 2 mins 10:00:31 <masahito> running out the time. 10:00:33 <masahito> thanks all, 10:00:35 <masahito> bye 10:00:45 <priteau> bye everyone, thanks for a great meeting 10:00:54 <masahito> #endmeeting