asterfusion / Helium_DPU

Helium DPU
Apache License 2.0
31 stars 8 forks source link

Openstack Integration #3

Open Kryptoxic opened 1 year ago

Kryptoxic commented 1 year ago

Is your feature request related to a problem? Please describe. I am trying to integrate the DPU with Openstack such that we are able to offload the OVS from Openstack to the DPU.

Describe the solution you'd like Seamless integration of the DPU that is in line with the Openstack documentation.

Additional context Looking at the Openstack documentation, there is a section where it mentions that Openstack will auto detect the smartnic based on the card serial number, PF mac address and VF logical number. I am not sure if the Helium advertises this to the server or not.

For reference, we are running Openstack Zed via the Kolla-Ansible deploy method on an all-in-one inventory.

https://docs.openstack.org/neutron/zed/admin/ovn/smartnic_dpu.html

Kryptoxic commented 1 year ago

Just an update, I tried following the instructions in the openstack documentation after setting up the Helium drivers and when I try to create the virtual machine on openstack and use the port which is mapped to the Helium's port and I am met with the following error.

image

Aster-Marvin commented 1 year ago

Thank you for your comments. Could you possibly send us your configuration?

Kryptoxic commented 1 year ago

Which specific configuration do you need? I used the devstack script to setup a openstack instance on my test server before following the commands listed in the openstack documentation which I linked in the first post.

Aster-Marvin commented 1 year ago

OK. I will follow the reference to reproduce it.

Kryptoxic commented 1 year ago

Here is more information about devstack and how I set my test server up.

https://docs.openstack.org/devstack/latest/

After the setup I created an instance to ensure that everything is working correctly before I installed and loaded the helium drivers. Then I followed the instructions in https://docs.openstack.org/neutron/zed/admin/ovn/smartnic_dpu.html to add the pci passthrough option in the /etc/nova/nova.conf.

image

After I have set that in the nova.conf, I set the serial number in the helium ovs table.

image

The serial number I got by running lspci on the host with the DPU pci address

image

Then I added the port to the openstack network

image

And finally create the VM on openstack. But at this point, I meet the error which I posted earlier.

image

Kryptoxic commented 1 year ago

Hi guys,

Is there any update on this?

Aster-Marvin commented 1 year ago

Hi, we check the off-path spec, and found the "PCIe VPD capability" is not exposed on PCIe bar space. Then we should add this capability first, any news will let you know later.

Kryptoxic commented 1 year ago

Hi Marvin,

Thanks for the update. Is there a timeline on adding this capability?

zcf900604 commented 9 months ago

When it query table resource_provider_traits in database placement, trait_id=257 (corresponding to COMPUTE_REMOTE_MANAGED_PORTS) is not found, therefore it is believed that remote-managed is not supported, resulting in a failure to create a virtual machine.

You can add a piece of data to make the detection pass: image image

Kryptoxic commented 9 months ago

Thanks for the information. We tried to follow your instructions in our production environment which is deployed using kolla ansible but we still meet the same issue.

image

image

Kryptoxic commented 9 months ago

Hi @zcf900604, is there any updates? Apologies for the rush but we have a deadline to meet for the customer as well.