From ba0974f5ed14ef296c6286c091f41d50d66b9c9e Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Tue, 15 Mar 2022 13:11:23 +0100 Subject: [PATCH] [doc] Add doc how to pass SR-IOV inside containers Change-Id: I55905987365ed485b039239126d1f74c24a699b0 --- .../configuration/extra-networks.rst | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/doc/source/reference/configuration/extra-networks.rst b/doc/source/reference/configuration/extra-networks.rst index 77ba8411cc..a1d10fc580 100644 --- a/doc/source/reference/configuration/extra-networks.rst +++ b/doc/source/reference/configuration/extra-networks.rst @@ -60,3 +60,49 @@ do several actions in ``openstack_user_config.yml``. address: 10.0.20.100 netmask: 255.255.255.0 gateway: 10.0.20.1 + + +Using SR-IOV interfaces in containers +===================================== + +For some deployments it might be required to passthrough devices directly to +containers, for example, when SR-IOV is used or devices can't be bridged +(ie with `IPoIB `) + +You would need to manually map physical interfaces to specific containers. +This also assumes, that same interface name is present on all containers and +it is consistent and present before LXC startup. + +Below as an example we will try using IB interfaces for storage network +and pass them inside containers that require storage connectivity. +For that you need describe connections in ``provider_networks`` +inside `openstack_user_config.yml` configuration: + + .. code-block:: yaml + + global_overrides: + provider_networks: + - network: + container_bridge: "ib1" + container_type: "phys" + container_interface: "ib1" + ip_from_q: "storage" + type: "raw" + group_binds: + - cinder_volume + - network: + container_bridge: "ib3" + container_type: "phys" + container_interface: "ib3" + ip_from_q: "storage" + type: "raw" + group_binds: + - glance_api + - network: + container_bridge: "ib5" + container_type: "phys" + container_interface: "ib5" + ip_from_q: "storage" + type: "raw" + group_binds: + - gnocchi_api