| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-cyborg - 2020-06-11 | |||
| 03:27:42 | Yumeng | so if Admin use Placement CLI to set traits, then admin should know “physicalnet” and RP RC of this smartNIC. so does that mean admin needs to GET physicalnet first, then GET RP,RC, then report? | |
| 03:27:43 | Sundar | Anyway, I'll throw another idea in. Ideally, the admin should be able to formulate the device profile in the same way, independent of whether it is a single-component or multi-component device. | |
| 03:28:36 | xinranwang | s_shogo: | |
| 03:28:42 | Sundar | Yumeng: the admin needs to get the RP for the NIC and set the trait there. he could do so via the installer | |
| 03:28:48 | xinranwang | Shogo, are you around? | |
| 03:29:35 | s_shogo | xinranwang: yes, I'm considering about that, with thinking about the operation of N3000.. | |
| 03:29:59 | Sundar | Good. Thanks, s_shogo | |
| 03:30:07 | Sundar | To repeat: Ideally, the admin should be able to formulate the device profile in the same way, independent of whether it is a single-component or multi-component device. | |
| 03:30:23 | Sundar | That common device profile would look like this: | |
| 03:30:33 | chenke | Sundar: I am not familar with this. | |
| 03:30:58 | xinranwang | s_shogo: lol, np. Just for other things. Haibin can not access to IRC, and he met some problem with this https://review.opendev.org/#/c/698190/ , could you connect him, maybe by email? | |
| 03:31:45 | Sundar | chenke: ok, np | |
| 03:32:01 | Sundar | { "name": "my-smartnic-dp", | |
| 03:32:03 | s_shogo | Yes, I agree that from operator 's point of view > same way to treat device profile | |
| 03:32:18 | Sundar | { "name": "my-smartnic-dp", | |
| 03:32:26 | Sundar | "groups": [{ | |
| 03:32:35 | Sundar | "resources:FPGA": "1", | |
| 03:32:46 | Sundar | "resources:CUSTOM_NIC_X": "1", | |
| 03:33:05 | Sundar | "trait:CUSTOM_FPGA_REGION_ID_FOO": "required", | |
| 03:33:15 | Sundar | "trait:CUSTOM_NIC_TRAIT_BAR": "required", | |
| 03:33:22 | Sundar | "accel:bitstream_id": "3AFE" | |
| 03:33:29 | s_shogo | xinranwang: OK, I took conversation with haibin and shaohe yesterday, that seems to be solved. Of course, If another one , I can help that, too. | |
| 03:33:31 | Sundar | }] | |
| 03:33:32 | Sundar | } | |
| 03:33:51 | Sundar | IOW, the resource, traits and Cyborg properties for both the accelerator and NIC would be presented as a single resource group, which would ensure that a single RP would have to satisfy that. That single RP could be the top-level RP of a hierarchy. | |
| 03:34:13 | shaohe_feng | s_shogo: yes, another one, need your help | |
| 03:34:35 | xinranwang | s_shogo: thanks, please contace him when you got time. | |
| 03:34:41 | Sundar | Basically, unless it is a single request group, it is not guaranteed that the resources will come form the same RP | |
| 03:35:03 | Sundar | Do you have any comments or questions? | |
| 03:35:11 | s_shogo | shaohe_feng, OK,I got it! Could you contact me via e-mail like yesterday? | |
| 03:35:25 | shaohe_feng | s_shogo: yes. | |
| 03:35:46 | Sundar | During ARQ binding, Cyborg would still get a single RP as today. In the case of a multi-component device, Cyborg would translate that to the top-level Deployable object, and figure out what constituent components are present. | |
| 03:35:50 | xinranwang | we can merge the triat to a single request group, from cyborg, or from neutron. | |
| 03:36:48 | xinranwang | I am not against you Sundar I understand your proposal, it is one of the solution we presents in PTG. | |
| 03:36:55 | Sundar | Neutron cannot add traits to a RP owned by Cyborg, as per existing agreement among developers. | |
| 03:38:24 | Sundar | I don't think we got into the aspects of how the device profile should look, during the PTG. It is impotant to nail that down, so we get a uniform way of handling all smart NICs, whether they have 1 component or many | |
| 03:38:53 | xinranwang | If neutron don't want do this. Cyborg can update traits created by neutron, in that case, cyborg should know whether neutron create RP or not. We should think about it. | |
| 03:39:47 | Yumeng | Sundar,xinranwang: I just got a question. if admin knows the "physicalnet", why can't the admin create a device_profile with "physicalnet" directly? | |
| 03:39:50 | Sundar | If one OpenStack service starts updating traits on RPs created by another service, that can cause confusion. You are welcome to discuss it with other developers. | |
| 03:40:06 | Sundar | We have already had many such discussions during Nova-Cyborg discussion. | |
| 03:40:13 | xinranwang | How device_profile looks like is not related to how we report the RP. It's 2 questions. | |
| 03:40:36 | xinranwang | Yumeng: yes, admin can do that. | |
| 03:40:39 | Yumeng | so that either nova or neutron does not have to merge "physicalnet" trait to request group | |
| 03:40:53 | swp20 | Sundar, 'During ARQ binding, Cyborg would still get a single RP as today.' the RP is for FPGA or NIC_X? | |
| 03:41:13 | Sundar | My point is, the device profile must have a single RG for both sides. If you create 2 separate RGs for the multi-component case, it won't ensure co-location. | |
| 03:41:39 | Sundar | swp20: That would be the top-level RP, which contains both the FPGA and NIC RPs as children. | |
| 03:41:40 | xinranwang | I think we have mix 2 questions... one is who report to placement, one is how nova get this traits before scheduling. | |
| 03:41:49 | Yumeng | xinranwang: ok. so that's also one of the solution. | |
| 03:42:42 | Sundar | Yumeng: admin can create device profiles with physnet as a trait. The question is, how is that trait set in the RP, before it is referenced in the devic eprofile. | |
| 03:43:17 | Sundar | xinranwang: No, I have addressed both questions separately above. | |
| 03:45:06 | swp20 | Sundar: got it,Thanks. | |
| 03:45:19 | xinranwang | Yumeng: yes, sure. That's one of the solution | |
| 03:46:00 | Sundar | flavor to do the scheduling. | |
| 03:46:00 | Sundar | If it is not clear, let me state it again: I think Cyborg should create all the RPs needed for a smart NIC. It populates most traits. Some traits, like physnet, may need to come from the admin. The dmin creates device profiles. The user/tenant creates Neutron ports with the device profile name. Nova uses the device profiles in neutorn ports + | |
| 03:46:50 | xinranwang | Yes, I agree. That's one of the solution | |
| 03:47:17 | Sundar | What alternative solution is under consideration? | |
| 03:47:35 | xinranwang | ok, let me state | |
| 03:48:15 | xinranwang | 1. cyborg create rp, neutron use this rp and update phynet traits. | |
| 03:48:16 | swp20 | Sundar: ' Some traits, like physnet', should we report these traits to Placement? | |
| 03:48:43 | xinranwang | 2. neutron create rp, cyborg use this rp to update acc related rc and traits. | |
| 03:49:51 | Sundar | First, you are assuming it is ok for one service to create an RP and another to update it by adding traits. Secondly, who will create the top-level RP for multi-component NICs? | |
| 03:51:28 | xinranwang | there is also solution by using provider-config.yaml | |
| 03:51:31 | Sundar | swp20: SOme traits cna be discovered from the device's PCI ID, like the type of NIC. Those can be added as traits by Cyborg. Others, like physnet or external network connecivity, are know only to the admin or the OpenStack installer. They are best left out of Cyborg. | |
| 03:51:45 | Sundar | The provider-config.yaml doe snot create RPs today. | |
| 03:52:07 | Sundar | It can be enhanced n the future to do that, but that will be another long discussion and development | |
| 03:52:16 | xinranwang | cyborg create rp and other update traits. | |
| 03:53:11 | xinranwang | I am investigating how neutron report physnet traits, it seems neutron has also create a logic rp. Not sure, need to verify this. | |
| 03:53:22 | Sundar | You are free to bring this up. Look at past IRC discussions before you spend time on this. | |
| 03:53:37 | Sundar | Yes, Neutron creates an RP for bandwidth provider feature. | |
| 03:54:31 | swp20 | Sundar: so how we scheduler the resources by these traits left out Cyborg? | |
| 03:55:01 | Sundar | Just one more point before I conclude: when we have multi-component NICs with different RPs, it is important that the resource classes and traits for the accelerator RP and the NIC RP be totally disjoint (no overlapping resource classes or traits. That will usually be the case. | |
| 03:55:15 | shaohe_feng | neutron has a create_pci_requests_for_sriov_ports | |
| 03:55:35 | Sundar | swp20: The admin can reference such traits in the device profile which he creates in Cyborg. | |
| 03:56:15 | Sundar | Ok, this has taken a bit longer than I thought :). I didn't mean to take up the whole meeting. | |
| 03:56:39 | xinranwang | Yes, every solution has it's pros & cons... Need more investigation | |
| 03:56:56 | Yumeng | Sundar, xinranwang and all: IMHO, If nova and neutron have no objections, I would prefer the solution which Cyborg create the top-level RP for multi-component NICs. Since Cyborg does the lifecycle management of NICs. So I personally prefer Cyborg should create all the RPs needed for a smart NIC. | |
| 03:57:38 | shaohe_feng | it should can create RP. but anyway, who create the RP, cyborg and neutron should have the same way, that means it know each other | |
| 03:57:43 | Sundar | Yumeng: Sure. We need to discuss with neutron folks on the bandwidth provider case, where they create the RP now | |
| 03:57:49 | xinranwang | Yes, I prefer this too. RP creation in cyborg seems reasonable. | |
| 03:58:35 | xinranwang | About the physnet trait. that's what we need to discuss more. | |
| 03:58:49 | shaohe_feng | admin can set physnet for both cyborg and neutron. Tenant does not need to know this. Neutron can get the detail and device profile from cyborg, and add physnet when neutron call create_pci_requests_for_sriov_ports | |
| 03:59:25 | xinranwang | And also need to discuss the consistency about rp created in neutron and cyborg. | |
| 03:59:41 | shaohe_feng | agree | |
| 04:00:19 | wangzhh | I think it's better to let cyborg ccreate RP. And for the traits, can cybog auto sync it from neuton? | |
| 04:00:29 | wangzhh | *cyborg | |
| 04:00:32 | swp20 | Sundar: not familar with this, i will track it. thanks | |
| 04:00:49 | xinranwang | Neutron need to provide an interface in this case. wangzhh | |
| 04:01:27 | shaohe_feng | 1. if we just let neutron the create set the physnet, that is convenient to admin. convenience maybe that need more change, more effort. | |
| 04:03:06 | wangzhh | It is bridge_mapping conf of neutron, not sure if we can get it from neutron net-show external-net. xinranwang | |
| 04:03:06 | shaohe_feng | actually, cyborg can not know the physical networks. | |
| 04:04:31 | xinranwang | neutron will report physnet trait only if bandwidth feature enabled, as my understanding. So I am not sure we can get info from these apis | |
| 04:05:27 | Sundar | I would suggest that we keep networking aspects out of Cyborg. That can only lead to complexity and trouble. | |
| 04:06:01 | Yumeng | agree. | |
| 04:06:39 | Yumeng | seems we have run out of time! let's continue discussion in wechat or ML. | |
| 04:07:12 | Yumeng | And I will quickly mention the left topics. | |
| 04:07:51 | Yumeng | #topic third-party driver CI | |
| 04:09:13 | Yumeng | we got three new drivers in victoria releases, do we need to require a CI for new drivers? what should be include in the tests? | |
| 04:11:43 | Yumeng | From my opinion, third-party driver CI is good. But not sure each vendor can provide. I think cyborg should at least require one or two main driver vendors to provide this kind of CI tests. | |
| 04:11:49 | Yumeng | what do you think? | |
| 04:12:31 | xinranwang | Hmmm, better to have 3rd CI. We can keep the dreiver as experimental until it has 3rd CI | |