Appendix C: Deploying Netronome SmartNIC
This appendix contains information to configure and deploy Netronome SmartNIC in your Contrail Cloud environment.
The procedure below will show you:
How to get the Netronome containers.
How to configure the roles and properties for Netronome including profiles.
How to deploy Netronome in Contrail Cloud.
Prepare for Netronome deployment.
You need to configure specific parameters in your YAML configuration
files before deploying Netronome in your Contrail Cloud environment.
The following will demonstrate which files you need to configure and
will give you examples for each section. Complete samples for Netronome
deployment can be referenced in
samples/features/netronome_support/. This folder will have Netronome specific examples for each required
YAML configuration file listed within. Make sure to copy the necessary
configuration samples into the appropriate YAML configuration files
for the changes to take effect.
The following procedure will prepare your Contrail Cloud environment for Netronome deployment:
- Review the samples in
- Compute nodes with Netronome cards must include “Smartnic”
in the profile name to enable Agilio services. Add the “Smartnic”
profile name to your
compute_nodes_kernel: - name: compute1 leaf: '0' profile: Smartnic0
- Provide information about the Agilio containers version
and source. Modify your
config/site.ymlovercloud section to include “smartnic:” per the format found in the
samples/features/netronome_support/site.ymlfile. Here you will select container source and tag, as seen below:
overcloud: smartnic: vrouter_tag: '2.39-rhel-queens' forwarder_tag: '2.39-rhel-queens' vrouter_path: docker.io/netronomesystems/agilio-vrouter forwarder_path: docker.io/netronomesystems/virtio-forwarder
The information you entered above will be used by
scripts/netronome_containers_upload.shlater in the procedure.
- Modify Netronome-enabled compute nodes in the overcloud
extra configurations section of
config/site.ymlto reflect hugepages and kernel parameters for the compute nodes using Netronome cards.
overcloud: extra_config: ComputeKernel0Smartnic0Parameters: # Force writing of kernel parameters KernelArgs: "intel_iommu=on iommu=pt isolcpus=1,2" ContrailVrouterHugepages2MB: "8192" PHYSICAL_INTERFACE: nfp_p0
Deploy Netronome in your Contrail Cloud Environment.
The previous section set the parameters for your Netronome deployment. This section will now take you through the procedure for the script needed to deploy Netronome.
Start your Netronome deployment after you have completed the
undercloud node deployment (
scripts/install_contrail_cloud_manager.sh). The steps below will load the Netronome Agilio containers:
- The script below will perform the Docker login and download
Agilio containers from the source you provided in
config/site.ymlfrom the previous section. The process will then upload the containers to the local registry on the undercloud.
The username and password used below is for accessing the plugins in the registry and is supplied by Netronome. This is not the same as your Contrail Cloud login credentials.
scripts/netronome_containers_upload.sh -u <USER> -p <PASSWORD>
- You can now proceed with the rest of the deployment process as stated in the Contrail Cloud Deployment Guide.