NVMe not currently handled correctly

Bug #2035975 reported by Simon Dodsley
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
kolla
Triaged
Medium
Michal Nasiadka

Bug Description

With the development of NVMe-TCP and NVMe-RoCE external storage for cinder, there is a requirement for the NVMe CLI package to be correctly handled in Kolla.

Currently, the `nvme-cli` package is installed in the kolla images, but this installation creates a /etc/nvme/hostnqn, therefore all containers that use this image have the same NQN - every nova-compute or cinder-volume should have a unique NQN value.

(This is very similar to the way iSCSI IQNs are generated and persisted over container restarts.)

When an NVMe volume is created on a cinder backend it connects to a host using its NQN. If all the nova-computes have the same NQN there is no guarantee which nova-compute will get the volume connection and this could not be the hypervisor the nova instance is running on.

I suggest the solution is to create a new nvme role, similar to the way the iscsi role works - https://github.com/openstack/kolla-ansible/tree/master/ansible/roles/iscsi

Also, note that OpenStack currently only supports native nvme multipathing (enabled by default in most modern operating systems) but due to an architectural issue in OpenStack multipathd also needs to be installed, but is not used...

Revision history for this message
Yusuf Güngör (yusuf2) wrote :

This bug affects us too.

+1 for Simon's solution suggestion.

If creating a new role cost is too much, kolla-ansible can install **nvme-cli** to the hosts and mount the host **/etc/nvme/** path to the nova_compute containers. We have to keep the **/etc/nvme/hostnqn** file is uniqe and persistent for the life of compute host.

As a temporary solution, exec into the all nova_compute containers, purge and reinstall nvme-cli package to get unique hostnqn and hostid files:

```
apt purge nvme-cli
apt install nvme-cli
```

Changed in kolla:
status: New → Triaged
importance: Undecided → Medium
assignee: nobody → Michal Nasiadka (mnasiadka)
Revision history for this message
Yusuf Güngör (yusuf2) wrote :

Hi, same problem exist for cinder_volume containers too. hostnqn files must be unique for cinder_volume containers too.

Revision history for this message
Michal Nasiadka (mnasiadka) wrote :

I don't think we need a separate role, because iscsid role really deploys a container, here we just need to have name-cli installed on host level (or generate hostnqn) and bind mount the files into the container.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.