Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Openstack Integration #3

Open
Kryptoxic opened this issue May 25, 2023 · 11 comments
Open

Openstack Integration #3

Kryptoxic opened this issue May 25, 2023 · 11 comments

Comments

@Kryptoxic
Copy link

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
Copy link
Author

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
Copy link
Contributor

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

@Kryptoxic
Copy link
Author

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
Copy link
Contributor

OK. I will follow the reference to reproduce it.

@Kryptoxic
Copy link
Author

Kryptoxic commented May 31, 2023

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
Copy link
Author

Hi guys,

Is there any update on this?

@Aster-Marvin
Copy link
Contributor

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
Copy link
Author

Hi Marvin,

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

@zcf900604
Copy link
Contributor

zcf900604 commented Sep 27, 2023

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
Copy link
Author

Kryptoxic commented Sep 27, 2023

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
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants