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:
vi /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-mlnx-agent.yaml
Example:
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:
$ 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.