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