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