From edbd16566b60229575affb5870b05ee5a35352b9 Mon Sep 17 00:00:00 2001 From: MCamp859 Date: Fri, 6 Mar 2020 15:40:29 -0500 Subject: [PATCH] Add guide describing how to set up VirtualBox VMs Change-Id: I30e736d16e6f93629e7c6c11ff2f2796b9ee87b0 Signed-off-by: MCamp859 --- .../install_virtualbox_configparms.png | Bin 0 -> 13447 bytes .../figures/install_virtualbox_guiscreen.png | Bin 0 -> 23175 bytes .../r4_release/index.rst | 6 + .../r4_release/virtual/aio_duplex_environ.rst | 7 + .../virtual/aio_simplex_environ.rst | 7 + .../virtual/config_virtualbox_netwk.rst | 161 ++++++++ .../virtual/controller_storage_environ.rst | 7 + .../virtual/dedicated_storage_environ.rst | 7 + .../r4_release/virtual/install_virtualbox.rst | 366 ++++++++++++++++++ doc/source/developer_resources/index.rst | 1 + 10 files changed, 562 insertions(+) create mode 100644 doc/source/deploy_install_guides/r4_release/figures/install_virtualbox_configparms.png create mode 100644 doc/source/deploy_install_guides/r4_release/figures/install_virtualbox_guiscreen.png create mode 100644 doc/source/deploy_install_guides/r4_release/virtual/config_virtualbox_netwk.rst create mode 100644 doc/source/deploy_install_guides/r4_release/virtual/install_virtualbox.rst diff --git a/doc/source/deploy_install_guides/r4_release/figures/install_virtualbox_configparms.png b/doc/source/deploy_install_guides/r4_release/figures/install_virtualbox_configparms.png new file mode 100644 index 0000000000000000000000000000000000000000..40adec2476db0f997acf753c8f3565c8fdcc6370 GIT binary patch literal 13447 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 P6oJsvxU5c4y&munaZbm| literal 0 HcmV?d00001 diff --git a/doc/source/deploy_install_guides/r4_release/index.rst b/doc/source/deploy_install_guides/r4_release/index.rst index 74eeb736f..86c4de0e8 100644 --- a/doc/source/deploy_install_guides/r4_release/index.rst +++ b/doc/source/deploy_install_guides/r4_release/index.rst @@ -18,6 +18,12 @@ Install StarlingX Kubernetes in a virtual environment virtual/controller_storage virtual/dedicated_storage +.. toctree:: + :hidden: + + virtual/config_virtualbox_netwk + virtual/install_virtualbox + ------------------------------------------ Install StarlingX Kubernetes on bare metal ------------------------------------------ diff --git a/doc/source/deploy_install_guides/r4_release/virtual/aio_duplex_environ.rst b/doc/source/deploy_install_guides/r4_release/virtual/aio_duplex_environ.rst index e099bee12..45cc6b21e 100644 --- a/doc/source/deploy_install_guides/r4_release/virtual/aio_duplex_environ.rst +++ b/doc/source/deploy_install_guides/r4_release/virtual/aio_duplex_environ.rst @@ -19,6 +19,13 @@ Physical host requirements and setup Prepare virtual environment and servers --------------------------------------- +.. note:: + + The following commands for host, virtual environment setup, and host + power-on use KVM / virsh for virtual machine and VM management + technology. For an alternative virtualization environment, see: + :doc:`Install StarlingX in VirtualBox `. + #. Prepare virtual environment. Set up the virtual platform networks for virtual deployment: diff --git a/doc/source/deploy_install_guides/r4_release/virtual/aio_simplex_environ.rst b/doc/source/deploy_install_guides/r4_release/virtual/aio_simplex_environ.rst index 50ca70e9d..6620bc971 100644 --- a/doc/source/deploy_install_guides/r4_release/virtual/aio_simplex_environ.rst +++ b/doc/source/deploy_install_guides/r4_release/virtual/aio_simplex_environ.rst @@ -19,6 +19,13 @@ Physical host requirements and setup Prepare virtual environment and servers --------------------------------------- +.. note:: + + The following commands for host, virtual environment setup, and host + power-on use KVM / virsh for virtual machine and VM management + technology. For an alternative virtualization environment, see: + :doc:`Install StarlingX in VirtualBox `. + #. Prepare virtual environment. Set up the virtual platform networks for virtual deployment: diff --git a/doc/source/deploy_install_guides/r4_release/virtual/config_virtualbox_netwk.rst b/doc/source/deploy_install_guides/r4_release/virtual/config_virtualbox_netwk.rst new file mode 100644 index 000000000..9e733cd36 --- /dev/null +++ b/doc/source/deploy_install_guides/r4_release/virtual/config_virtualbox_netwk.rst @@ -0,0 +1,161 @@ +=================================== +Configure VirtualBox Network Access +=================================== + +This guide describes two alternatives for providing external network access +to the controller :abbr:`VMs (Virtual Machines)` for VirtualBox: + +.. contents:: + :local: + :depth: 1 + +---------------------- +Install VM as a router +---------------------- + + +A router can be used to act as a gateway to allow your other VirtualBox VMs +(for example, controllers) access to the external internet. The router needs to +be able to forward traffic from the OAM network to the internet. + +In VirtualBox, create a new Linux VM to act as your router. This example uses +Ubuntu. For ease of use, we recommend downloading Ubuntu 18.04 Desktop +version or higher. + +**Installation tip** + +Before you install the Ubuntu 18.04 Desktop version in a Virtual Box 5.2, +configure the VM using Edit Settings as follows: + +#. Go to Display and move the "Video memory" slider all the way to the right. + Then tick the "Acceleration" checkbox "Enable 3D Acceleration". +#. Go to General/Advanced and set "Shared Clipboard" and "Drag'n Drop" to + Bidirectional. +#. Go to User Interface/Devices and select "Devices/Insert Guest Additions CD + image" from the drop down. Restart your VM. + +The network configuration for this VM must include: + +* NAT interface to allow installation and access to the external internet. +* Host-only Adapter connected to the same network as the OAM interfaces on + your controllers. + +Once the router VM has been installed, enable forwarding. In Ubuntu, do the +following steps: + +:: + + # Edit sysctl.conf and uncomment the following line: + # net.ipv4.ip_forward=1 + sudo vim /etc/sysctl.conf + # Activate the change + sudo sysctl -p + +Then add the gateway IP address to the interface connected to the OAM host only +network: + +:: + + # Assuming that enp0s8 is connected to the OAM host only network: + cat > /etc/netplan/99_config.yaml << EOF + network: + version: 2 + renderer: networkd + ethernets: + enp0s8: + addresses: + - 10.10.10.1/24 + EOF + sudo netplan apply + + # If netplan is not installed on your router you can use these commands instead of the above. + ip addr add 10.10.10.1/24 dev enp0s8 + +Finally, set up iptables to forward packets from the host only network to the +NAT network: + +:: + + # This assumes the NAT is on enp0s3 and the host only network is on enp0s8 + sudo iptables -t nat -A POSTROUTING --out-interface enp0s3 -j MASQUERADE + sudo iptables -A FORWARD --in-interface enp0s8 -j ACCEPT + sudo apt-get install iptables-persistent + + +----------------------------- +Add NAT Network in VirtualBox +----------------------------- + +#. Select File -> Preferences menu. +#. Choose Network, ``Nat Networks`` tab should be selected. +#. Click on plus icon to add a network, which will add a network named + NatNetwork. +#. Edit the NatNetwork (gear or screwdriver icon). + + * Network CIDR: 10.10.10.0/24 (to match OAM network specified in + ansible bootstrap overrides file) + * Disable ``Supports DHCP`` + * Enable ``Supports IPv6`` + * Select ``Port Forwarding`` and add any rules you desire. Here are some + examples where 10.10.10.2 is the StarlingX OAM Floating IP address and + 10.10.10.3/.4 are the IP addresses of the two controller units: + + ++-------------------------+-----------+---------+-----------+------------+-------------+ +| Name | Protocol | Host IP | Host Port | Guest IP | Guest Port | ++=========================+===========+=========+===========+============+=============+ +| controller-0-ssh | TCP | | 3022 | 10.10.10.3 | 22 | ++-------------------------+-----------+---------+-----------+------------+-------------+ +| controller-1-ssh | TCP | | 3122 | 10.10.10.4 | 22 | ++-------------------------+-----------+---------+-----------+------------+-------------+ +| controller-ssh | TCP | | 22 | 10.10.10.2 | 22 | ++-------------------------+-----------+---------+-----------+------------+-------------+ +| platform-horizon-http | TCP | | 8080 | 10.10.10.2 | 8080 | ++-------------------------+-----------+---------+-----------+------------+-------------+ +| platform-horizon-https | TCP | | 8443 | 10.10.10.2 | 8443 | ++-------------------------+-----------+---------+-----------+------------+-------------+ +| openstack-horizon-http | TCP | | 80 | 10.10.10.2 | 80 | ++-------------------------+-----------+---------+-----------+------------+-------------+ +| openstack-horizon-https | TCP | | 443 | 10.10.10.2 | 443 | ++-------------------------+-----------+---------+-----------+------------+-------------+ + +~~~~~~~~~~~~~ +Access the VM +~~~~~~~~~~~~~ + +Once your VM is running, use your PC's host address and the forwarded port to +access the VM. + +Instead of these commands: + +:: + + # ssh to controller-0 + ssh wrsroot@10.10.10.3 + # scp file to controller-0 + scp wrsroot@10.10.10.3:~ + +Enter these commands instead: + +:: + + # ssh to controller-0 + ssh -p 3022 wrsroot@ + # scp file to controller-0 + scp -P 3022 wrsroot@:~ + + +To access your VM console from Horizon, you can update the VNC proxy address +using service parameters. The worker nodes will require a reboot following +this change, therefore it is best to perform this operation before unlocking +the worker nodes. + + +:: + + # update vnc proxy setting to use NatNetwork host name + system service-parameter-add nova vnc vncproxy_host= --personality controller --resource nova::compute::vncproxy_host # aio + system service-parameter-add nova vnc vncproxy_host= --personality compute --resource nova::compute::vncproxy_host # standard + system service-parameter-apply nova + + diff --git a/doc/source/deploy_install_guides/r4_release/virtual/controller_storage_environ.rst b/doc/source/deploy_install_guides/r4_release/virtual/controller_storage_environ.rst index 890dd4d6f..e8bb7c787 100644 --- a/doc/source/deploy_install_guides/r4_release/virtual/controller_storage_environ.rst +++ b/doc/source/deploy_install_guides/r4_release/virtual/controller_storage_environ.rst @@ -20,6 +20,13 @@ Physical host requirements and setup Prepare virtual environment and servers --------------------------------------- +.. note:: + + The following commands for host, virtual environment setup, and host + power-on use KVM / virsh for virtual machine and VM management + technology. For an alternative virtualization environment, see: + :doc:`Install StarlingX in VirtualBox `. + #. Prepare virtual environment. Set up virtual platform networks for virtual deployment: diff --git a/doc/source/deploy_install_guides/r4_release/virtual/dedicated_storage_environ.rst b/doc/source/deploy_install_guides/r4_release/virtual/dedicated_storage_environ.rst index eb2fb5552..b32be9c41 100644 --- a/doc/source/deploy_install_guides/r4_release/virtual/dedicated_storage_environ.rst +++ b/doc/source/deploy_install_guides/r4_release/virtual/dedicated_storage_environ.rst @@ -20,6 +20,13 @@ Physical host requirements and setup Prepare virtual environment and servers --------------------------------------- +.. note:: + + The following commands for host, virtual environment setup, and host + power-on use KVM / virsh for virtual machine and VM management + technology. For an alternative virtualization environment, see: + :doc:`Install StarlingX in VirtualBox `. + #. Prepare virtual environment. Set up virtual platform networks for virtual deployment: diff --git a/doc/source/deploy_install_guides/r4_release/virtual/install_virtualbox.rst b/doc/source/deploy_install_guides/r4_release/virtual/install_virtualbox.rst new file mode 100644 index 000000000..5304677f8 --- /dev/null +++ b/doc/source/deploy_install_guides/r4_release/virtual/install_virtualbox.rst @@ -0,0 +1,366 @@ +=============================== +Install StarlingX in VirtualBox +=============================== + +This guide describes how to run StarlingX in a set of VirtualBox :abbr:`VMs +(Virtual Machines)`, which is an alternative to the default StarlingX +instructions using libvirt. + +.. contents:: + :local: + :depth: 1 + +------------- +Prerequisites +------------- + +* A Windows or Linux computer for running VirtualBox. +* VirtualBox is installed on your computer. The latest verified version is + 5.2.22. Download from: http://www.virtualbox.org/wiki/Downloads +* VirtualBox Extension Pack is installed. + To boot worker nodes via the controller, you must install the + VirtualBox Extension Pack to add support for PXE boot of Intel cards. Download + the extension pack from: https://www.virtualbox.org/wiki/Downloads + +.. note:: + + A set of scripts for deploying VirtualBox VMs can be found in the + `STX tools repository + `_, + however, the scripts may not be updated to the latest StarlingX + recommendations. + +--------------------------------------------------- +Create VMs for controller, worker and storage hosts +--------------------------------------------------- + +For each StarlingX host, configure a VirtualBox VM with the following settings. + +.. note:: + + The different settings for controller, worker, and storage nodes are + embedded in the particular sections below. + +*************************** +OS type and memory settings +*************************** + +* Type: Linux + +* Version: Other Linux (64-bit) + +* Memory size: + + * Controller node: 16384 MB + * Worker node: 8192MB + * Storage node: 4096 MB + * All-in-one node: 20480 MB + +**************** +Disk(s) settings +**************** + +Use the default disk controller and default disk format (for example IDE/vdi) +for VirtualBox VMs. + +* Minimum disk size requirements: + + * Controller nodes: + + * Disk 1: 201GB disk + * Disk 2: 10GB disk (Note: Use 30GB if you are planning to work on the + analytics.) + + * Worker nodes: 80GB root disk (Note: Use 100GB if you are installing + StarlingX AIO node.) + + * When the node is configured for local storage, this will provide ~12GB of + local storage space for disk allocation to VM instances. + * Additional disks can be added to the node to extend the local storage + but are not required. + + * Storage nodes (minimum of 2 disks required): + + * 80GB disk for rootfs. + * 10GB disk (or larger) for each OSD. The size depends on how many VMs you + plan to run. + +* Storage tree, see empty CD-ROM. Click cd-rom, click ``+`` to choose a CD/DVD + iso, and browse to ISO location. Use this ISO only for the first controller + node. The second controller node and worker nodes will network boot from the + first controller node. + +*************** +System settings +*************** + +* System->Motherboard: + + * Boot Order: Enable the Network option. Order should be: Floppy, CD/DVD, + Hard Disk, Network. + +* System->Processors: + + * Controller node: 4 CPU + * Worker node: 3 CPU + + .. note:: + + This will allow only a single instance to be launched. More processors + are required to launch more instances. If more than 4 CPUs are + allocated, you must limit vswitch to a single CPU before unlocking your + worker node, otherwise your worker node will **reboot in a loop** + (vswitch will fail to start, in-test will detect that a critical service + failed to start and reboot the node). Use the following command to limit + vswitch: + + :: + + system host-cpu-modify worker-0 -f vswitch -p0 1 + + * Storage node: 1 CPU + +**************** +Network settings +**************** + +The OAM network has the following options: + +* Host Only Network - **Strongly Recommended.** This option + requires the router VM to forward packets from the controllers to the external + network. Follow the instructions at :doc:`Install VM as a router ` + to set it up. Create one network adapter for external OAM. The IP addresses + in the example below match the default configuration. + + * VirtualBox: File -> Preferences -> Network -> Host-only Networks. Click + ``+`` to add Ethernet Adapter. + + * Windows: This creates a ``VirtualBox Host-only Adapter`` and prompts + with the Admin dialog box. Click ``Accept`` to create an interface. + * Linux: This creates a ``vboxnet`` per interface. + + * External OAM: IPv4 Address: 10.10.10.254, IPv4 Network Mask: 255.255.255.0, + DHCP Server: unchecked. + +* NAT Network - This option provides external network access to the controller + VMs. Follow the instructions at :doc:`Add NAT Network in VirtualBox `. + +Adapter settings for the different node types are as follows: + +* Controller nodes: + + * Adapter 1 setting depends on your choice for the OAM network above. It can + be either of the following: + + * Adapter 1: Host-Only Adapter; VirtualBox Host-Only Ethernet Adapter 1), + Advanced: Intel PRO/1000MT Desktop, Promiscuous Mode: Deny + * Adapter 1: NAT Network; Name: NatNetwork + + * Adapter 2: Internal Network, Name: intnet-management; Intel PRO/1000MT + Desktop, Advanced: Promiscuous Mode: Allow All + +* Worker nodes: + + * Adapter 1: + + Internal Network, Name: intnet-unused; Advanced: Intel + PRO/1000MT Desktop, Promiscuous Mode: Allow All + + * Adapter 2: Internal Network, Name: intnet-management; Advanced: Intel + PRO/1000MT Desktop, Promiscuous Mode: Allow All + * Adapter 3: Internal Network, Name: intnet-data1; Advanced: + Paravirtualized Network (virtio-net), Promiscuous Mode: Allow All + + * Windows: If you have a separate Ubuntu VM for Linux work, then add + another interface to your Ubuntu VM and add it to the same + intnet-data1 internal network. + * Linux: If you want to access the VM instances directly, create a new + ``Host-only`` network called ``vboxnet`` similar to the external OAM + one above. Ensure DHCP Server is unchecked, and that the IP address is + on a network unrelated to the rest of the addresses we're configuring. + (The default will often be fine.) Now attach adapter-3 to the new + Host-only network. + * Adapter 4: Internal Network, Name: intnet-data2; Advanced: Paravirtualized + Network (virtio-net), Promiscuous Mode: Allow All + + Additional adapters can be added via command line, for :abbr:`LAG (Link + Aggregation Group)` purposes. For example: + + :: + + "\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm worker-0 --nic5 intnet --nictype5 virtio --intnet5 intnet-data1 --nicpromisc5 allow-all + "\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm worker-0 --nic6 intnet --nictype6 virtio --intnet6 intnet-data2 --nicpromisc6 allow-all + "\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm worker-0 --nic7 intnet --nictype7 82540EM --intnet7 intnet-infra --nicpromisc7 allow-all + +* Storage nodes: + + * Adapter 1: Internal Network, Name: intnet-unused; Advanced: Intel + PRO/1000MT Desktop, Promiscuous Mode: Allow All + * Adapter 2: Internal Network, Name: intnet-management; Advanced: + Intel PRO/1000MT Desktop, Promiscuous Mode: Allow All + +* Set the boot priority for interface 2 (eth1) on ALL VMs (controller, worker + and storage): + + :: + + # First list the VMs + bwensley@yow-bwensley-lx:~$ VBoxManage list vms + "YOW-BWENSLEY-VM" {f6d4df83-bee5-4471-9497-5a229ead8750} + "controller-0" {3db3a342-780f-41d5-a012-dbe6d3591bf1} + "controller-1" {ad89a706-61c6-4c27-8c78-9729ade01460} + "worker-0" {41e80183-2497-4e31-bffd-2d8ec5bcb397} + "worker-1" {68382c1d-9b67-4f3b-b0d5-ebedbe656246} + "storage-0" {7eddce9e-b814-4c40-94ce-2cde1fd2d168} + # Then set the priority for interface 2. Do this for ALL VMs. + # Command syntax: VBoxManage modifyvm --nicbootprio2 1 + bwensley@yow-bwensley-lx:~$ VBoxManage modifyvm 3db3a342-780f-41d5-a012-dbe6d3591bf1 --nicbootprio2 1 + # OR do them all with a foreach loop in linux + bwensley@yow-bwensley-lx:~$ for f in $(VBoxManage list vms | cut -f 1 -d " " | sed 's/"//g'); do echo $f; VBoxManage modifyvm $f --nicbootprio2 1; done + # NOTE: In windows, you need to specify the full path to the VBoxManage executable - for example: + "\Program Files\Oracle\VirtualBox\VBoxManage.exe" + +* Alternative method for debugging: + + * Turn on VM and press F12 for the boot menu. + * Press ``L`` for LAN boot. + * Press CTL+B for the iPXE CLI (this has a short timeout). + * The autoboot command opens a link with each interface sequentially + and tests for netboot. + + +******************** +Serial port settings +******************** + +To use serial ports, you must select Serial Console during initial boot using +one of the following methods: + +* Windows: Select ``Enable Serial Port``, port mode to ``Host Pipe``. Select + ``Create Pipe`` (or deselect ``Connect to existing pipe/socket``). Enter + a Port/File Path in the form ``\\.\pipe\controller-0`` or + ``\\.\pipe\worker-1``. Later, you can use this in PuTTY to connect to the + console. Choose speed of 9600 or 38400. + +* Linux: Select ``Enable Serial Port`` and set the port mode to ``Host Pipe``. + Select ``Create Pipe`` (or deselect ``Connect to existing pipe/socket``). + Enter a Port/File Path in the form ``/tmp/controller_serial``. Later, you can + use this with ``socat`` as shown in this example: + + :: + + socat UNIX-CONNECT:/tmp/controller_serial stdio,raw,echo=0,icanon=0 + +*********** +Other notes +*********** + +If you're using a Dell PowerEdge R720 system, it's important to execute the +command below to avoid any kernel panic issues: + +:: + + VBoxManage? setextradata VBoxInternal?/CPUM/EnableHVP 1 + + +---------------------------------------- +Start controller VM and allow it to boot +---------------------------------------- + +Console usage: + +#. To use a serial console: Select ``Serial Controller Node Install``, then + follow the instructions above in the ``Serial Port`` section to connect to + it. +#. To use a graphical console: Select ``Graphics Text Controller Node + Install`` and continue using the Virtual Box console. + +For details on how to specify installation parameters such as rootfs device +and console port, see :ref:`config_install_parms`. + +Follow the :doc:`StarlingX Installation and Deployment Guides ` +to continue. + +* Ensure that boot priority on all VMs is changed using the commands in the "Set + the boot priority" step above. +* In an AIO-DX and standard configuration, additional + hosts must be booted using controller-0 (rather than ``bootimage.iso`` file). +* On Virtual Box, click F12 immediately when the VM starts to select a different + boot option. Select the ``lan`` option to force a network boot. + +.. _config_install_parms: + +------------------------------------ +Configurable installation parameters +------------------------------------ + +StarlingX allows you to specify certain configuration parameters during +installation: + +* Boot device: This is the device that is to be used for the boot partition. In + most cases, this must be ``sda``, which is the default, unless the BIOS + supports using a different disk for the boot partition. This is specified with + the ``boot_device`` option. + +* Rootfs device: This is the device that is to be used for the rootfs and + various platform partitions. The default is ``sda``. This is specified with + the ``rootfs_device`` option. + +* Install output: Text mode vs graphical. The default is ``text``. This is + specified with the ``install_output`` option. + +* Console: This is the console specification, allowing the user to specify the + console port and/or baud. The default value is ``ttyS0,115200``. This is + specified with the ``console`` option. + +********************************* +Install controller-0 from ISO/USB +********************************* + +The initial boot menu for controller-0 is built-in, so modification of the +installation parameters requires direct modification of the boot command line. +This is done by scrolling to the boot option you want (for example, Serial +Controller Node Install vs Graphics Controller Node Install), and hitting the +tab key to allow command line modification. The example below shows how to +modify the ``rootfs_device`` specification. + +.. figure:: ../figures/install_virtualbox_configparms.png + :scale: 100% + :alt: Install controller-0 + + +************************************ +Install nodes from active controller +************************************ + +The installation parameters are part of the system inventory host details for +each node, and can be specified when the host is added or updated. These +parameters can be set as part of a host-add or host-bulk-add, host-update, or +via the GUI when editing a host. + +For example, if you prefer to see the graphical installation, you can enter the +following command when setting the personality of a newly discovered host: + +:: + + system host-update 2 personality=controller install_output=graphical console= + +If you don’t set up a serial console, but prefer the text installation, you +can clear out the default console setting with the command: + +:: + + system host-update 2 personality=controller install_output=text console= + +If you’d prefer to install to the second disk on your node, use the command: + +:: + + system host-update 3 personality=compute hostname=compute-0 rootfs_device=sdb + +Alternatively, these values can be set from the GUI via the ``Edit Host`` +option. + +.. figure:: ../figures/install_virtualbox_guiscreen.png + :scale: 100% + :alt: Install controller-0 diff --git a/doc/source/developer_resources/index.rst b/doc/source/developer_resources/index.rst index ab455a390..525a28007 100644 --- a/doc/source/developer_resources/index.rst +++ b/doc/source/developer_resources/index.rst @@ -21,3 +21,4 @@ Developer Resources stx_ipv6_deployment stx_tsn_in_kata +