Implements: Heat template for integrating Cavium SmartNIC LiquidIO
Contains Tripleo Heat templates to deploy Liquidio Compute nodes. Creates a New role ComputeLiquidio, which contains Cavium SmartNIC. Depends-On: Idfd094d344d7419557139dbcee98e42307eb465b Change-Id: I777ae696e54da70d6bb8311d372742435638a172
This commit is contained in:
parent
1724c7d088
commit
b97fa08eb5
25
environments/cavium-liquidio.yaml
Normal file
25
environments/cavium-liquidio.yaml
Normal file
@ -0,0 +1,25 @@
|
||||
resource_registry:
|
||||
OS::TripleO::Services::LiquidioCompute: ../puppet/services/liquidio-compute-config.yaml
|
||||
|
||||
parameter_defaults:
|
||||
LiquidioSriovVfNum: 4
|
||||
LiquidioConfigureMode: ml2-odl
|
||||
LiquidioEnableBonding: true
|
||||
LiquidioBondingOptions: active-backup
|
||||
LiquidioProviderMappings: 'datacentre:eth1'
|
||||
|
||||
#LiquidioConfigureMode takes three valid values
|
||||
#ml2-odl:- Installation is OpenStack and Opendaylight
|
||||
#ml2-ovn:- Installation is OpenStack and OVN
|
||||
#ml2-ovs:- Standard Openstack with OVS
|
||||
#LiquidioEnableBonding, if set to true then DVR on LiquidioCompute nodes
|
||||
#is disabled by default. to Enable DVR on LiquidioCompute nodes,
|
||||
#set it to false.
|
||||
#Liquidio supports three bonding options, these are considered
|
||||
#only when bonding is enabled
|
||||
# 1) active-backup
|
||||
# 2) balance-tcp
|
||||
# 3) balance-slb
|
||||
#LiquidioProviderMappings: Valid input <external-network-name>:<Interface>
|
||||
#Interface is connected to external network and used only when bonding
|
||||
#is disabled
|
78
puppet/services/liquidio-compute-config.yaml
Normal file
78
puppet/services/liquidio-compute-config.yaml
Normal file
@ -0,0 +1,78 @@
|
||||
heat_template_version: queens
|
||||
|
||||
description: >
|
||||
Configures Compute Nodes for liquidio ODL integration
|
||||
|
||||
parameters:
|
||||
ServiceData:
|
||||
default: {}
|
||||
description: Dictionary packing service data
|
||||
type: json
|
||||
ServiceNetMap:
|
||||
default: {}
|
||||
description: Mapping of service_name -> network name. Typically set
|
||||
via parameter_defaults in the resource registry. This
|
||||
mapping overrides those in ServiceNetMapDefaults.
|
||||
type: json
|
||||
DefaultPasswords:
|
||||
default: {}
|
||||
type: json
|
||||
RoleName:
|
||||
default: ''
|
||||
description: Role name on which the service is applied
|
||||
type: string
|
||||
RoleParameters:
|
||||
default: {}
|
||||
description: Parameters specific to the role
|
||||
type: json
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
LiquidioSriovVfNum:
|
||||
type: number
|
||||
description: Number of vf interfaces to be created on Compute nodes
|
||||
default: 4
|
||||
constraints:
|
||||
- range: { min: 1, max: 64 }
|
||||
description: Vfs should be between 1 and 64
|
||||
LiquidioConfigureMode:
|
||||
type: string
|
||||
description: Mode of installation, either odl, ovn or ovs
|
||||
default: ml2-odl
|
||||
constraints:
|
||||
- allowed_values: [ 'ml2-odl', 'ml2-ovn', 'ml2-ovs' ]
|
||||
description: ConfigureMode for Liquidio service
|
||||
LiquidioEnableBonding:
|
||||
type: boolean
|
||||
description: DVR Enabled or not
|
||||
default: true
|
||||
LiquidioBondingOptions:
|
||||
type: string
|
||||
description: Bonding options for Liquido interfaces
|
||||
default: active-backup
|
||||
constraints:
|
||||
- allowed_values:
|
||||
- active-backup
|
||||
- balance-tcp
|
||||
- balance-slb
|
||||
LiquidioProviderMappings:
|
||||
type: string
|
||||
description: BridgeMappings used in ODL/OVN Deployments
|
||||
default: 'datacentre:eth1'
|
||||
constraints:
|
||||
- allowed_pattern: "[a-zA-Z0-9]*:eth[0-1]"
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the LiquidioCompute node
|
||||
value:
|
||||
service_name: liquidio_compute_config
|
||||
config_settings:
|
||||
tripleo::network::cavium::liquidio::vf_nums: {get_param: LiquidioSriovVfNum}
|
||||
tripleo::network::cavium::liquidio::configure_mode: {get_param: LiquidioConfigureMode}
|
||||
tripleo::network::cavium::liquidio::enable_bonding: {get_param: LiquidioEnableBonding}
|
||||
tripleo::network::cavium::liquidio::bonding_options: {get_param: LiquidioBondingOptions}
|
||||
tripleo::network::cavium::liquidio::provider_mappings: {get_param: LiquidioProviderMappings}
|
||||
step_config: |
|
||||
include ::tripleo::network::cavium::liquidio
|
44
roles/ComputeLiquidio.yaml
Normal file
44
roles/ComputeLiquidio.yaml
Normal file
@ -0,0 +1,44 @@
|
||||
###############################################################################
|
||||
## Role: ComputeLiquidio #
|
||||
################################################################################
|
||||
- name: ComputeLiquidio
|
||||
description: |
|
||||
Compute Node with Cavium Liquidio smart NIC
|
||||
CountDefault: 1
|
||||
networks:
|
||||
- InternalApi
|
||||
- Tenant
|
||||
- Storage
|
||||
HostnameFormatDefault: '%stackname%-lionovacompute-%index%'
|
||||
ServicesDefault:
|
||||
- OS::TripleO::Services::AuditD
|
||||
- OS::TripleO::Services::CACerts
|
||||
- OS::TripleO::Services::CephClient
|
||||
- OS::TripleO::Services::CephExternal
|
||||
- OS::TripleO::Services::CertmongerUser
|
||||
- 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::Docker
|
||||
- OS::TripleO::Services::FluentdClient
|
||||
- OS::TripleO::Services::Iscsid
|
||||
- OS::TripleO::Services::Kernel
|
||||
- OS::TripleO::Services::MySQLClient
|
||||
- OS::TripleO::Services::NovaCompute
|
||||
- OS::TripleO::Services::NovaLibvirt
|
||||
- OS::TripleO::Services::NovaMigrationTarget
|
||||
- OS::TripleO::Services::Ntp
|
||||
- OS::TripleO::Services::LiquidioCompute
|
||||
- OS::TripleO::Services::OpenDaylightOvs
|
||||
- OS::TripleO::Services::Securetty
|
||||
- OS::TripleO::Services::Snmp
|
||||
- OS::TripleO::Services::Sshd
|
||||
- OS::TripleO::Services::Timezone
|
||||
- OS::TripleO::Services::TripleoFirewall
|
||||
- OS::TripleO::Services::TripleoPackages
|
||||
- OS::TripleO::Services::Tuned
|
||||
- OS::TripleO::Services::Vpp
|
||||
- OS::TripleO::Services::OVNController
|
Loading…
Reference in New Issue
Block a user