Earlier  
Posted Nick Remark
#openstack-cyborg - 2019-08-22
03:21:51 xinranwang *exactly
03:21:58 Coco_gao_ OK, got that.
03:22:00 Sundar Agreed.
03:22:35 xinranwang Also, placement provides cmd line like openstack resource provider list, we can check the result directly by using this.
03:23:11 Sundar Ok, then order with dependencies is: [ P5-P9, Placement report], then nova notification. Sounds good?
03:23:31 Coco_gao_ Great.
03:23:34 chenke yes.
03:24:16 xinranwang yes, great
03:24:17 Coco_gao_ I see there are several patches which had conflict problems.
03:24:36 Coco_gao_ Will that be solved if we merge P5-P9
03:25:17 Sundar Coco_gao_: In https://review.opendev.org/#/q/status:open+project:openstack/cyborg+branch:master, I see 4 merge conflicts and they are all old patches only for reference. Rest should be good.
03:25:18 Coco_gao_ Seems good to me because I know where to start my reviews.
03:26:13 xinranwang Sundar wangzhh: I noticed that GPU driver report vendor id and fill the vendor field with ID, is there any possibility that we fill vendor field by vendor name?
03:27:11 Sundar IMHO, we need the vendor name for the device somehwere, so that we can create the traits with the vendor name, as listed in https://review.opendev.org/gitweb?p=openstack/cyborg-specs.git;f=specs/train/approved/cyborg-nova-placement.rst;hb=refs/changes/45/603545/7#l179
03:27:14 Coco_gao_ We can get the vendor name from vendor ID right?
03:27:44 Coco_gao_ Since the vendor ID is unique
03:28:01 Sundar Yes, but the driver report does not include the vendor name as a field today
03:28:14 wangzhh Of course, but I suggest record vendorId in db. And translate it to name if needed.
03:28:39 Sundar Perhaps it will be easiest to add vendor name as a separate field in the driver_objects.device, to minimize changes to GPU driver and other drivers
03:29:14 Coco_gao_ OK.
03:29:26 Coco_gao_ Agree that we should keep vendor ID
03:29:38 xinranwang each driver should know about the mapping relation between id and name, but cyborg-agent/conductor don't
03:30:11 Sundar The Cyborg driver for a vendor could even hardcode the vendor name, if it will handle only one vendor.
03:30:35 xinranwang So IMO, driver should report vendor name anyway.
03:30:54 Sundar xinranwang: Agreed. Proposal: Add vendor name to driver_objects.device . Any objections?
03:30:56 wangzhh Sundar, It is hardcoded in driver now.
03:31:08 wangzhh Agreed
03:31:26 xinranwang no objection.
03:31:45 xinranwang Btw, i find driver name in deployable tables, but no assignment.
03:32:04 shaohe_feng Yes, I translate the vendor ID to name for FPGA in my DEMO
03:32:05 Coco_gao_ Agree. The object.device will not add vendor name? Only driver_objects.device will?
03:32:54 shaohe_feng it can add a vendor name
03:33:24 shaohe_feng but maybe more driver infos, such as driver version.
03:33:24 Sundar Coco_gao_: Good point. It will be easier to add it to device object too, for use in ext-arq binding for creating traits
03:34:06 Sundar Do we need to add that to the db then? Oherwise, how how do we get it in the device object by querying?
03:34:07 wangzhh So just add name in object, not in db, right?
03:34:09 Coco_gao_ My question is do you think we should keep vendor name in object or database?
03:34:35 shaohe_feng for a long term. maybe we can translate the ID to name at present.
03:34:37 shaohe_feng DB
03:34:58 Coco_gao_ vendor ID is already in DB?
03:35:03 xinranwang Sundar: what is driver name you added in deployable table stand for?
03:35:22 wangzhh coco yep
03:35:27 Sundar If you don;t add the vendor name to db, the translation from id to name may have to be outside the driver too, which is not good
03:35:32 xinranwang Coco_gao_: yes, in device tables
03:36:09 Yumeng Coco_gao_:yes. already have vendor_id in db device table
03:36:42 Coco_gao_ About the ext-arq binding, do we need to qurey DB for vendor name?
03:36:44 Sundar xinranwang: It is the driver that is used for programming and device updates. At discovery time, we know which deployable has which driver. So, we can use that info to locate the driver needed for programming.
03:37:00 shaohe_feng https://github.com/shaohef/cyborg/commit/7e353bf09259a9b4cfba3763f3a99eb1adfaaa2b#diff-7ca60ed56d570ebe3490
03:37:11 xinranwang Sundar:
03:37:20 xinranwang there is no assignment of this field
03:37:24 Sundar Coco_gao_: For ext_arq binding, we are queryig db for the deployable now. We can extend tthat to query the device and its vendor name too
03:37:38 xinranwang maybe we can extract vendor name from this field?
03:37:40 shaohe_feng here is what I do, just for a temporary solution
03:38:19 shaohe_feng driver_name = db_deployable.driver_name
03:39:44 Sundar xinranwang: The intention is that, when the agent discovers a device from a driver, it sends the driver name to the conductor and has it persisted.
03:40:39 Sundar shaohe_feng: That is what we are doing today. We could use the driver name and vendor name as same-- at least for Train. Is that what I am hearing from many of you?
03:41:24 xinranwang Sundar: so what will it look like? intel_fpga_driver? or 0x8086 like shaohe's demo does.
03:41:40 shaohe_feng https://github.com/shaohef/cyborg/blob/profile-ctrl/cyborg/accelerator/drivers/fpga/base.py#L23
03:42:16 shaohe_feng for fpga driver, I maintain a map, both vendor ID and name can work.
03:42:40 shaohe_feng Sundar: yes, we need a driver name
03:43:17 Sundar xinranwang: just 'intel', for example. That is what we use to load a driver module. The intel_fpga_driver is the name in setup.cfg.
03:44:08 xinranwang so we should fill driver_name with 'intel' for example?
03:44:28 xinranwang if so, we can extract vendor name for driver_name..
03:44:54 Sundar Yes, xinranwang. To summarize, I think we are agreeing to update the driver_name field in the deployable and use that as 'vendor name' to create the traits as per https://review.opendev.org/gitweb?p=openstack/cyborg-specs.git;f=specs/train/approved/cyborg-nova-placement.rst;hb=refs/changes/45/603545/7#l179
03:45:02 Sundar Sounds good?
03:45:21 Sundar Then no need to add vendor_name to any object
03:45:44 xinranwang yes
03:46:56 Sundar Great. If others have objecttions, please LMK. Let's move on in the interest of time
03:47:04 Sundar #topic python cyborg client
03:47:44 s_shogo I'm working that with P5-P9 patch in advance.
03:48:12 Sundar Thanks, s_shogo. I am wondering if we have the time to update the cyborg client to v2 API?
03:48:28 Coco_gao_ So zhenghao's patch should use Vendor ID and then update deployable vendor name?
03:48:47 Sundar Coco_gao_: Yes
03:48:48 Coco_gao_ update to deployable table with vendor name
03:48:54 Coco_gao_ Sounds good.
03:49:21 Sundar It already has a driver name. At least today, driver name and vendor name are the same.
03:49:36 Sundar s_shogo: May be we need somebody to help you, for the client?
03:49:43 s_shogo Sundar : ok, I think so. I'll report the prospection for the v2 API Work in every IRC meeting.
03:50:12 Sundar s_shogo: Thanks a lot. Appreciate it. :) Please do ask if you need help.
03:50:49 Sundar BTW, TC has proposed: https://review.opendev.org/#/c/675317/
03:50:50 s_shogo Sundar: Ok, Thanks.
03:51:25 Sundar They are proposing an intermediate release of the client. IMHO, it is useless because it is currently v1 based, has no Python 3 fixes and so nothing new from Stein release
03:51:47 Sundar We may as well club the client update with Train release. What do you al think?
03:53:47 Sundar Coco_gao_, wangzhh, xinranwang, shaohe_feng, Li_Liu, all: ^
03:54:39 Coco_gao_ Agree if we have time. I don't know whether we can make that happen, are you optimistic about that?
03:54:51 xinranwang what's club mean....
03:55:13 Sundar xinranwang: I mean combine client update with rest of Train release.
03:55:54 Sundar Coco_gao_: Yes, i share that concern. Once s_shogo lets us know if it can happen by Sep, we can decide.
03:56:25 xinranwang Yes, nice to have.
03:57:02 Sundar Yes, It will probably be lesser priority than Nova integ, Python 3, RBAC/security etc. Anybody thinks otherwise?
03:57:14 Coco_gao_ Agree.
03:57:33 Sundar #topic Other important Train tasks
03:57:48 shaohe_feng should the async bind in this release?
03:58:04 Sundar wangzhh: Could you give us an update on RBAC, whenever you have the time?
03:58:21 Sundar shaohe_feng: Yes. It is needed for Nova integ
03:58:33 xinranwang I notice current code does not create deployable with driver_name, does it? Maybe need one patch on it?
03:58:41 shaohe_feng OK.
03:58:52 Sundar xinranwang: Yes, it is a gap
03:58:54 shaohe_feng Then we will add 2 more state for bind.
03:59:15 shaohe_feng ARQ_BIND_STARTED and ARQ_DELETING

Earlier   Later