curtin-dev team mailing list archive
-
curtin-dev team
-
Mailing list archive
-
Message #03274
[Merge] ~ogayot/curtin:nvme-o-tcp-storageconfig into curtin:master
The proposal to merge ~ogayot/curtin:nvme-o-tcp-storageconfig into curtin:master has been updated.
Commit message changed to:
block: initial support for NVMe over TCP
This MP adds partial support for NVMe over TCP.
In the storage configuration, NVMe drives can now have a "nvme_controller" property, holding the identifier to an existing nvme_controller object (which is new), e.g.,
```
- type: disk
id: disk-nvme0n1
path: /dev/nvme0n1
nvme_controller: nvme-controller-nvme0
- type: disk
id: disk-nvme1n1
path: /dev/nvme1n1
nvme_controller: nvme-controller-nvme1
- type: nvme_controller
id: nvme-controller-nvme0
transport: pcie
- type: nvme_controller
id: nvme-controller-nvme1
transport: tcp
tcp_port: 4420
tcp_addr: 1.2.3.4
```
In the presence of a nvme_controller section having transport=tcp in the storage config, curtin will install nvme-stas (and nvme-cli) and configure the service so that the drives can be discovered and made available when the target system boots.
Current limitations:
* For the target system to boot correctly, we only support placing non-critical partitions (e.g., /home) on remote storage. For the next iteration, the plan is to support placing the rootfs (i.e., /) on remote NVMe drives, while preserving the /boot and /boot/efi partitions on local storage.
* If a nvme_controller section is present in the storage configuration, curtin will end up installing nvme-stas and nvme-cli on the target system ; even if the nvme_controller section denotes the use of PCIe (local storage).
* Curtin itself will not automatically append the _netdev option if a given mount uses remote storage, so we would expect the storage configuration to specify the option, e.g.:
```
-type: mount
path: /home
device: ...
options: defaults,_netdev
id: mount-2
```
For more details, see:
https://code.launchpad.net/~ogayot/curtin/+git/curtin/+merge/458446
--
Your team curtin developers is subscribed to branch curtin:master.