tripleo-heat-templates/roles/ComputeVdpa.yaml
David Vallee Delisle 7010a27415 Introducing the ComputeVdpa role
Now that nova supports libvirt's vDPA implementation [1][2], we need
deployment code to enable such a feature.

The ComputeVdpa role is basically a copy of ComputeSriov with the
addition of the ExtraKernelModules. Beside these modules, operators
should define to their ``NovaPCIPassthrough`` as they normally do
for standard SR-IOV as a role parameter.

When having the right modules loaded, at least in RHEL8.5, the kernel
will automatically create /dev/vhost-vdpa-X devices for each one of the
VFs.

[1] https://opendev.org/openstack/nova-specs/src/branch/master/specs/wallaby/implemented/libvirt-vdpa-support.rst
[2] https://bugzilla.redhat.com/1873409

Depends-On: https://review.opendev.org/c/openstack/os-net-config/+/798926
Related: https://bugzilla.redhat.com/1956297
Change-Id: Ifda3ac08c596f65bc75d869097a0f72e816ba783
2021-07-07 10:29:01 -04:00

71 lines
2.5 KiB
YAML

###############################################################################
# Role: ComputeVdpa #
###############################################################################
- name: ComputeVdpa
description: |
Compute vDPA Role
CountDefault: 1
tags:
- compute
networks:
InternalApi:
subnet: internal_api_subnet
Tenant:
subnet: tenant_subnet
Storage:
subnet: storage_subnet
RoleParametersDefault:
TunedProfileName: "cpu-partitioning"
OvsHwOffload: true
ExtraKernelModules:
vdpa: {}
vhost_vdpa: {}
mlx5_vdpa: {}
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD
- OS::TripleO::Services::BootParams
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::CephClient
- OS::TripleO::Services::CephExternal
- OS::TripleO::Services::Collectd
- OS::TripleO::Services::ComputeCeilometerAgent
- OS::TripleO::Services::ComputeNeutronCorePlugin
- OS::TripleO::Services::ComputeNeutronL3Agent
- OS::TripleO::Services::ComputeNeutronMetadataAgent
- OS::TripleO::Services::ComputeNeutronOvsAgent
- OS::TripleO::Services::Frr
- OS::TripleO::Services::IpaClient
- OS::TripleO::Services::Ipsec
- OS::TripleO::Services::Iscsid
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::LoginDefs
- OS::TripleO::Services::MetricsQdr
- OS::TripleO::Services::Multipathd
- OS::TripleO::Services::MySQLClient
- OS::TripleO::Services::NeutronBgpVpnBagpipe
- OS::TripleO::Services::NeutronSriovAgent
- OS::TripleO::Services::NeutronVppAgent
- OS::TripleO::Services::NovaAZConfig
- OS::TripleO::Services::NovaCompute
- OS::TripleO::Services::NovaLibvirt
- OS::TripleO::Services::NovaLibvirtGuests
- OS::TripleO::Services::NovaMigrationTarget
- OS::TripleO::Services::ContainersLogrotateCrond
- OS::TripleO::Services::Podman
- OS::TripleO::Services::Rear
- OS::TripleO::Services::Rhsm
- OS::TripleO::Services::Rsyslog
- OS::TripleO::Services::RsyslogSidecar
- OS::TripleO::Services::Securetty
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::Sshd
- OS::TripleO::Services::Timesync
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::Vpp
- OS::TripleO::Services::OVNController
- OS::TripleO::Services::OVNMetadataAgent