14:06:18 <Li_Liu> #startmeeting openstack-cyborg 14:06:18 <openstack> Meeting started Wed Oct 17 14:06:18 2018 UTC and is due to finish in 60 minutes. The chair is Li_Liu. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:06:19 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 14:06:21 <openstack> The meeting name has been set to 'openstack_cyborg' 14:06:29 <Li_Liu> #topic Roll Call 14:06:37 <Sundar> #info Sundar 14:06:38 <Li_Liu> #info Li_Liu 14:06:51 <wangzhh> #info wangzhh 14:07:51 <Li_Liu> Let's wait for shaohe 14:08:07 <Sundar> What is the agenda? 14:08:32 <Li_Liu> We will go over all the pending patches and tasks. and discuss the demo plan for the summit 14:08:48 <Sundar> I'd like to bring up the need to get reviews for: https://review.openstack.org/#/q/status:open+project:openstack/cyborg-specs 14:09:00 <Sundar> Next week is Stein-1 milestone 14:09:30 <Li_Liu> yes 14:09:50 <Li_Liu> we should get the pending one merged as much as we could 14:11:18 <Li_Liu> ok, let's get started first 14:11:35 <Li_Liu> #topic Pending patches 14:11:51 <Li_Liu> https://review.openstack.org/#/q/status:open%20project:openstack/cyborg 14:11:56 <Sundar> May be we can start with wangzhh's patch on drivers 14:12:16 <Sundar> https://review.openstack.org/#/c/596691/ ? 14:12:30 <Li_Liu> Added Glance Client for Image downloading --- Please help review this so that we can merge. The summit demo needs this one 14:12:55 <wangzhh> Of course. My patch is based on ovo now. 14:13:38 <wangzhh> And Sundar, I have sent an email about your questions. Did u get it? 14:14:27 <Sundar> wangzhh: Sorry, don't remember seeing it. When was it sent? 14:15:03 <Li_Liu_> I am back 14:15:04 <shaohe_feng> #info shaohe_feng_ 14:15:07 <Li_Liu_> did I miss anything? 14:15:17 <Li_Liu_> Hi shaohe 14:15:23 <shaohe_feng> morning Li_Liu_ 14:15:47 <wangzhh> SundarMaybe this morning for you. 14:16:19 <xinran> #info xinran 14:16:24 <xinran> Hi all 14:16:38 <Sundar> wangzhh: OK. I haven't got it yet. I see your new patch set and responses. Thanks. 14:16:41 <wangzhh> Hi, xinran shaohe. 14:18:16 <Li_Liu> back again.. 14:18:38 <Li_Liu> are we gonna merge Xinran's spec? 14:18:47 <Li_Liu> does it still depend on anything? 14:18:51 <Sundar> Li_Liu: Re. Glance client, I gave some reviews. Wondering why can't we just call Glance client directly? Do we need a wrapper? 14:19:09 <Sundar> Li_Liu: which spec? 14:19:20 <xinran> Li_Liu: 14:19:28 <Li_Liu> https://review.openstack.org/#/c/597991/ 14:20:23 <xinran> Li_Liu: I have discussed with Sundar offline, the current solution after PTG is different with this one. 14:20:24 <Li_Liu> Sundar, of course, but I just wanna do it similar to Nova --> created a wrapper API for it 14:20:52 <Li_Liu> xinran: any plan on updating it? 14:22:16 <Li_Liu> did I drop? 14:22:24 <Li_Liu> ah.. i am good :) 14:22:29 <xinran> Sundar has a new spec https://review.openstack.org/#/c/603955/ in nova community 14:22:49 <Li_Liu> xinran, so that one will replace yours right? 14:23:04 <shaohe_feng> hi wangzhh 14:23:33 <xinran> yes in the future 14:23:49 <wangzhh> Didn't get the review email about this patch... 14:24:07 <shaohe_feng> seems I miss something 14:24:24 <shaohe_feng> something wrong with my net. 14:24:52 <shaohe_feng> no any message on the screen for a long time. 14:25:15 <Sundar> Thanks, Xinran. All, please review https://review.openstack.org/608624 . That is the proposed implementation (high-level design) of Cyborg APIs for Nova 14:25:43 <xinran> but you guys can use https://review.openstack.org/#/c/596187/ this API if it's urgent. It can works with nova, but of course need change code on nova side. 14:26:40 <Li_Liu__> Sundar, could you help me run the meeting for now... my connection is so bad 14:26:53 <Li_Liu__> I am going through all the patches in https://review.openstack.org/#/q/status:open%20project:openstack/cyborg 14:26:58 <wangzhh> xinran: So this patch should be abandoned? https://review.openstack.org/#/c/597991/ 14:27:06 <Sundar> Li_Liu: Sure. NP. 14:29:00 <Sundar> Xinran: On https://review.openstack.org/#/c/601150/, this patch tries to create RP trees from the agent, IIUC. It is better to do it from the conductor 14:29:08 <Sundar> for the reasons we have discussed in the past 14:29:35 <Sundar> Also, it is desirable to have all db access from the conductor (and not from the agent) 14:29:52 <xinran> Hmmm, Sundar do you wanna continue work on this spec https://review.openstack.org/#/c/597991/ or you prefer to create a new one? 14:30:40 <Sundar> Xinran, I think this spec should be dropped -- that is a better use of your time and energy :) 14:31:01 <shaohe_feng> why dropped? 14:31:31 <Sundar> Shaohe: I already explained in the reviews. Basically, this is not in line with the Nova flow at all 14:32:03 <shaohe_feng> A patch is not perfect, every reviewers should give his comments and let the auther to improve it. 14:32:09 <shaohe_feng> that's the rule 14:32:30 <Sundar> I gave my comments 14:33:23 <Sundar> Think about how this even relates to the Nova spec 14:34:08 <shaohe_feng> so the summary of new cyborg design: 14:34:32 <shaohe_feng> 1. split the nova flavor to device profile 14:34:57 <shaohe_feng> 2. change the accelerator api to var api. 14:34:59 <xinran> Sundar: I can modify this spec according to your nova spec if you want once your spec is merged. 14:35:00 <shaohe_feng> right? 14:35:48 <xinran> Sundar: or you prefer to write a new one by yourself? 14:36:05 <Sundar> Xinran, Shaohe: we need to start with the Cyborg API signatures proposed for Nova, and work downwards into the details. That is what we do in https://review.openstack.org/#/c/608624/ 14:36:51 <shaohe_feng> what is signatures? 14:37:34 <Sundar> Shaohe: API parameters, responses, HTTP return codes 14:38:53 <Sundar> Shahe: re. your question about 2 parts, the device profiles are an important part. So is the whole flow about creating VARs in an unbound state, then binding them, then attaching. 14:40:23 <Sundar> Aso, the device model where we map deployables to RPs, as we discussed last week 14:41:10 <shaohe_feng> I do not care you name is var or accelerator. 14:41:35 <Sundar> A VAR is not an accelerator. 14:41:54 <shaohe_feng> but as user var is puzzle, like vport. 14:42:35 <Sundar> "var is puzzle" -- what does that mean? 14:42:35 <shaohe_feng> var is used for a choose a device to bind to a VM. 14:43:43 <Sundar> A VAR is a Virtual Accelerator Request. It abstracts the state of the request, starting from user requirements, moving on to the Nova's selection of an alloc cand with device RPs, and then Cyborg bindings 14:43:54 <shaohe_feng> any project, you seen they expose a var object to user? 14:43:58 <Sundar> This is conceptually different from what we had before the PTG 14:44:10 <shaohe_feng> vport, vvolume? 14:44:38 <Li_Liu_> shaohe, are you more concern with the naming or the concept? 14:44:56 <shaohe_feng> the initial design, is Request a Accelerator to VM. 14:45:33 <shaohe_feng> but we does not name it virtual accelerator, we just named it accelerator 14:45:40 <shaohe_feng> no need to use virtual 14:45:52 <Sundar> Shaohe: is this about names, or concepts? 14:46:27 <shaohe_feng> no need to emphasize virtual 14:46:41 <shaohe_feng> you can discuss with Li_Liu_ about the accelerator history 14:46:43 <shaohe_feng> about the name 14:46:48 <Li_Liu_> I think "virtual" word indeed confuses a bit 14:47:00 <wangzhh> Shaohe: Accelerator is not same as VAR. Maybe u confusion about them? 14:47:46 <Li_Liu_> but I agree it's different from concept of accelerator 14:48:32 <Sundar> Neutron has something called a VIF -- virtual interface. The word 'virtual' is used in many contexts. I don't understand the issue. 14:50:23 <Li_Liu_> I guess when you put all of these virtual accelerator / accelerator request / virtual accelerator request together. that's where the confusion starts 14:51:34 <Li_Liu_> Sundar, does nova needs to care if a accelerator is virtual or not? 14:51:43 <Sundar> Li_Liu: We have accelerators and we have VARs. Former is a resource represented in Placement. VAR, as you said, is different -- it is a request for an accelerator -- not known to Placement. There are only 2 things 14:52:12 <wangzhh> I think it's better to have a clear definition of VAR. In the doc, for other developer or users. 14:52:39 <wangzhh> Sundar: Agree. 14:52:42 <Sundar> Li_Liu: Accelerators are resource class inventories -- they are not physical hardware, even in the previous Rocky proposal 14:53:41 <Sundar> Li_Liu: AFAIK, we never used the term 'virtual accelerator' to refer to an accelerator. 14:54:27 <Li_Liu_> I know, I think Cyborg maybe should hide physical/virtual accelerator concept from nova. 14:54:47 <Li_Liu_> or can we rename it to Accelerator Virtual Request 14:55:11 <Li_Liu_> as, according to you, the request is virtual but not the accelerator? 14:55:18 <shaohe_feng> accelerator is OK. 14:55:51 <shaohe_feng> and Request is verb 14:56:03 <Li_Liu_> shaohe_feng, we do have accelerator, but sunder needs something different to work with placement 14:56:23 <Sundar> Li_Liu: yes, the request is virtual. If we just call it an Accelerator Request, say ARQ or something, are you ok with that? 14:56:34 <shaohe_feng> Request and be apply to a noun accelerator 14:56:57 <shaohe_feng> Request can be apply to a noun accelerator 14:57:26 <shaohe_feng> this is not conflict with RESTFUL style. 14:57:53 <Sundar> Li_Liu: "hide physical/virtual accelerator" Please note that the term 'accelerator' never refers to any physical entity :) 14:58:50 <Sundar> In Placement, an accelerator type is a resource class (e.g. CUSTOM_ACCELERATOR_FPGA). There are number of resources of one RC in a single RP 14:58:52 <Li_Liu_> ARQ is kinda cool to me 14:58:52 <wangzhh> Sundar, could u explain the differences between Acc and VAR? I just know parts of them. I think shaohe is confused about them. 14:59:06 <Sundar> So, it is just a number that Placement is counting as RC inventory 14:59:35 <shaohe_feng> generally, for a REST, a resource belong to a collection, and the the resource can support different verb action 15:01:02 <Li_Liu_> btw shaohe, Request cal also be a noun 15:01:27 <shaohe_feng> so request is a resource 15:01:35 <Sundar> wangzhh: OK. Placement has the notion of Resource providers (RPs) and Resource Classes (RC). We model each accelerator type as an RC. An accelerator is a unit of offload that can be assigned individually (to a VM, container, ...) 15:01:44 <shaohe_feng> bind is verb to this request resource 15:02:33 <Li_Liu_> shaohe_feng, I think that's Sundar's idea, is it? Sundar 15:03:08 <shaohe_feng> OK, seldom see this rest style. 15:03:15 <Sundar> VARs are indeed resources in the REST API. We apply HTTP operations like GET, POST etc. to that resource. 15:03:40 <Sundar> Shaohe: have you reviewed the Nova spec? 15:04:23 <shaohe_feng> have a look at https://review.openstack.org/#/c/608624/2/specs/stein/approved/cyborg-api-wflows-for-instance-ops.rst 15:04:36 <wangzhh> Sundar, Yes. So is there any differences on data structure? 15:04:59 <shaohe_feng> any way, virtual Accelerator Requests is puzzle me. 15:05:00 <wangzhh> Between VAR and Acc. 15:05:28 <shaohe_feng> so VARs is a collection, and var is resource. 15:05:48 <shaohe_feng> VARs means multi requests. 15:05:56 <Sundar> wangzhh: Getting back to your question :) Yes, a VAR is an OVO that is stored in Cyborg db. An accelerator is not a data structure per se: it is the inventory of a resource provider maintained by Placement n its db 15:05:58 <shaohe_feng> var is one request 15:06:05 <shaohe_feng> right? 15:07:23 <shaohe_feng> and why we need var? just for consistency? 15:07:47 <Sundar> Yes, VAR is singular, VARs is plural. The Nova spec 603955 defines APIs on the collection VARs, so that we can do batch operations 15:10:36 <shaohe_feng> anyway, here you define the VAR is same to the accelerator concept in our initial design 15:10:44 <Sundar> No 15:10:53 <Sundar> Accelerator != VAR 15:11:06 <shaohe_feng> anyway, here you define the VAR is same to the accelerator concept in my initial design 15:11:10 <Sundar> The concept of accelerator as a RC existed from Rocky cycle 15:11:12 <wangzhh> So, when cyborg-agent started, It collects which one? I think It is acc. And VAR will be created when user want accs to attach? 15:11:15 <Sundar> VAR is new from Stein PTG 15:11:55 <shaohe_feng> and your Accelerator is same to the allocation unit in my initial design :) 15:13:24 <shaohe_feng> other's no different 15:13:28 <shaohe_feng> just name is different 15:13:36 <Sundar> wangzhh: Cyborg agent collects device (physical hardware) and accelerator info from the driver. Please see the driver report structure in https://docs.google.com/presentation/d/1Anud3Qbcb0P3G245HpHduHhslx1MJljGD6wqPDy7o9E/edit#slide=id.g44d3e3519f_4_134 15:13:59 <shaohe_feng> OK, let go ahead for others. 15:15:00 <Sundar> I am 15 minutes into my next meeting, and it is a bit difficult to flip back and forth. I need to drop out now. 15:15:29 <Sundar> Shaohe: I am open to discussion at other times or meetings. 15:15:54 <shaohe_feng> Sundar: OK. we can also discuss it off line. 15:16:01 <shaohe_feng> Sundar: have a good day. bye. 15:20:44 <Li_Liu> ping 15:20:55 <Li_Liu> you guys still there? 15:22:06 <Li_Liu> anyone? 15:26:00 <Li_Liu> if no one is here, I will end the meeting for today 15:26:24 <Li_Liu> we can carry on the discussion offline 15:26:25 <Li_Liu> #endmeeting