InfiniBand Hybrid Deployment

The following section details the steps which are required in order to perform a hybrid deployment with a virtual and a baremetal InfiniBand host:

Make sure you follow the steps in Undercloud Configuration and Installation, and then edit the following file as illustrated below:

Copy
Copied!
            

vi /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-mlnx-agent.yaml

Example:

Copy
Copied!
            

resource_registry: OS::TripleO::Services::NeutronMlnxAgent: ../../deployment/neutron/neutron-mlnx-agent-container-puppet.yaml OS::TripleO::Services::NeutronAgentsIBConfig: ../../deployment/neutron/neutron-agents-ib-config-container-puppet.yaml OS::TripleO::NodeUserData: /usr/share/openstack-tripleo-heat-templates/firstboot/userdata_root_password.yaml parameter_defaults: NodeRootPassword: "12345"  NtpServer: ['0.asia.pool.ntp.org', '1.asia.pool.ntp.org'] NeutronMechanismDrivers: ['mlnx_sdn_assist', 'mlnx_infiniband'] MultiInterfaceEnabled: true  BindNormalPortsPhysnet: 'ibnet'  MultiInterfaceDriverMappings: ['ibnet:ipoib,datacentre:openvswitch'] IPoIBPhysicalInterface: 'ib0'  NeutronPhysicalDevMappings: ['ibnet:ib0'] NeutronNetworkVLANRanges: 'datacentre:10:99,ibnet:100:200'  NovaSchedulerDefaultFilters:['AvailabilityZoneFilter','ComputeFilter','ComputeCapabilitiesFilter','ImagePropertiesFilter','ServerGroupAntiAffinityFilter','ServerGroupAffinityFilter','PciPassthroughFilter'] NovaSchedulerAvailableFilters: ["nova.scheduler.filters.all_filters","nova.scheduler.filters.pci_passthrough_filter.PciPassthroughFilter"]   NovaPCIPassthrough: - devname: "ib0"  physical_network: ibnet ComputeSriovIBParameters: # Kernel arguments for ComputeSriov node KernelArgs: "intel_iommu=on iommu=pt"  TunedProfileName: "throughput-performance" 

Deploy the overcloud by using the appropriate templates and yaml file from the heat templates, as shown in the following example:

Copy
Copied!
            

$ openstack overcloud deploy \ --templates /usr/share/openstack-tripleo-heat-templates \ --libvirt-type kvm \ -r ~/roles_data.yaml\ --timeout 240 \ -e /usr/share/openstack-tripleo-heat-templates/environments/disable-telemetry.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/podman.yaml\ --validation-warnings-fatal \ -e /home/stack/cloud-names.yaml \ -e /home/stack/overcloud_storage_params.yaml\ -e /home/stack/containers-prepare-parameter.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/net-single-nic-with-vlans.yaml \ -e /home/stack/network-environment.yaml \ -e /home/stack/nic_configs/network.yaml \ -e /home/stack/overcloud-selinux-config.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/ironic.yaml\ -e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovs.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/neutron-ml2-mlnx-sdn.yaml\ -e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-mlnx-agent.yaml

For post deployment configuration instructions, see Post Deployment Configuration.

© Copyright 2023, NVIDIA. Last updated on May 23, 2023.