Merge "Implements: Heat template for integrating Cavium SmartNIC LiquidIO"
This commit is contained in:
commit
465ec1d909
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