Added DPDK environment file and nic configs samples
Added an environment file to configure DPDK with OVS by overriding ComputeNeutronOvsAgent. Also added nic configs for configuring DPDK bridge and bond with numbered nic format. Implements: blueprint tripleo-ovs-dpdk Co-Authored-By: Vijay Chundury <vchundur@redhat.com> Change-Id: I82b6f66394a8928f8524706c939508edd08afa9b
This commit is contained in:
parent
09a5ff6c79
commit
1b604a95e9
18
environments/neutron-ovs-dpdk.yaml
Normal file
18
environments/neutron-ovs-dpdk.yaml
Normal file
@ -0,0 +1,18 @@
|
||||
## A Heat environment that can be used to deploy DPDK with OVS
|
||||
resource_registry:
|
||||
OS::TripleO::Services::ComputeNeutronOvsAgent: ../puppet/services/neutron-ovs-dpdk-agent.yaml
|
||||
|
||||
parameter_defaults:
|
||||
## NeutronDpdkCoreList and NeutronDpdkMemoryChannels are REQUIRED settings.
|
||||
## Attempting to deploy DPDK without appropriate values will cause deployment to fail or lead to unstable deployments.
|
||||
#NeutronDpdkCoreList: ""
|
||||
#NeutronDpdkMemoryChannels: ""
|
||||
|
||||
NeutronDatapathType: "netdev"
|
||||
NeutronVhostuserSocketDir: "/var/run/openvswitch"
|
||||
|
||||
#NeutronDpdkSocketMemory: ""
|
||||
#NeutronDpdkDriverType: "vfio-pci"
|
||||
#NovaReservedHostMemory: 4096
|
||||
#NovaVcpuPinSet: ""
|
||||
|
192
network/config/bond-with-vlans/compute-dpdk.yaml
Normal file
192
network/config/bond-with-vlans/compute-dpdk.yaml
Normal file
@ -0,0 +1,192 @@
|
||||
heat_template_version: 2015-04-30
|
||||
|
||||
description: >
|
||||
Software Config to drive os-net-config with 2 bonded nics on a bridge
|
||||
with VLANs attached for the compute role.
|
||||
|
||||
parameters:
|
||||
ControlPlaneIp:
|
||||
default: ''
|
||||
description: IP address/subnet on the ctlplane network
|
||||
type: string
|
||||
ExternalIpSubnet:
|
||||
default: ''
|
||||
description: IP address/subnet on the external network
|
||||
type: string
|
||||
InternalApiIpSubnet:
|
||||
default: ''
|
||||
description: IP address/subnet on the internal API network
|
||||
type: string
|
||||
StorageIpSubnet:
|
||||
default: ''
|
||||
description: IP address/subnet on the storage network
|
||||
type: string
|
||||
StorageMgmtIpSubnet:
|
||||
default: ''
|
||||
description: IP address/subnet on the storage mgmt network
|
||||
type: string
|
||||
TenantIpSubnet:
|
||||
default: ''
|
||||
description: IP address/subnet on the tenant network
|
||||
type: string
|
||||
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
|
||||
default: ''
|
||||
description: IP address/subnet on the management network
|
||||
type: string
|
||||
BondInterfaceOvsOptions:
|
||||
default: ''
|
||||
description: The ovs_options string for the bond interface. Set things like
|
||||
lacp=active and/or bond_mode=balance-slb using this option.
|
||||
type: string
|
||||
ExternalNetworkVlanID:
|
||||
default: 10
|
||||
description: Vlan ID for the external network traffic.
|
||||
type: number
|
||||
InternalApiNetworkVlanID:
|
||||
default: 20
|
||||
description: Vlan ID for the internal_api network traffic.
|
||||
type: number
|
||||
StorageNetworkVlanID:
|
||||
default: 30
|
||||
description: Vlan ID for the storage network traffic.
|
||||
type: number
|
||||
StorageMgmtNetworkVlanID:
|
||||
default: 40
|
||||
description: Vlan ID for the storage mgmt network traffic.
|
||||
type: number
|
||||
TenantNetworkVlanID:
|
||||
default: 50
|
||||
description: Vlan ID for the tenant network traffic.
|
||||
type: number
|
||||
ManagementNetworkVlanID:
|
||||
default: 60
|
||||
description: Vlan ID for the management network traffic.
|
||||
type: number
|
||||
ControlPlaneSubnetCidr: # Override this via parameter_defaults
|
||||
default: '24'
|
||||
description: The subnet CIDR of the control plane network.
|
||||
type: string
|
||||
ControlPlaneDefaultRoute: # Override this via parameter_defaults
|
||||
description: The default route of the control plane network.
|
||||
type: string
|
||||
ExternalInterfaceDefaultRoute: # Not used by default in this template
|
||||
default: '10.0.0.1'
|
||||
description: The default route of the external network.
|
||||
type: string
|
||||
ManagementInterfaceDefaultRoute: # Commented out by default in this template
|
||||
default: unset
|
||||
description: The default route of the management network.
|
||||
type: string
|
||||
DnsServers: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
|
||||
type: comma_delimited_list
|
||||
EC2MetadataIp: # Override this via parameter_defaults
|
||||
description: The IP address of the EC2 metadata server.
|
||||
type: string
|
||||
|
||||
resources:
|
||||
OsNetConfigImpl:
|
||||
type: OS::Heat::StructuredConfig
|
||||
properties:
|
||||
group: os-apply-config
|
||||
config:
|
||||
os_net_config:
|
||||
network_config:
|
||||
-
|
||||
type: interface
|
||||
name: nic1
|
||||
use_dhcp: false
|
||||
dns_servers: {get_param: DnsServers}
|
||||
addresses:
|
||||
-
|
||||
ip_netmask:
|
||||
list_join:
|
||||
- '/'
|
||||
- - {get_param: ControlPlaneIp}
|
||||
- {get_param: ControlPlaneSubnetCidr}
|
||||
routes:
|
||||
-
|
||||
ip_netmask: 169.254.169.254/32
|
||||
next_hop: {get_param: EC2MetadataIp}
|
||||
-
|
||||
default: true
|
||||
next_hop: {get_param: ControlPlaneDefaultRoute}
|
||||
-
|
||||
type: ovs_bridge
|
||||
name: {get_input: bridge_name}
|
||||
members:
|
||||
-
|
||||
type: ovs_bond
|
||||
name: bond1
|
||||
ovs_options: {get_param: BondInterfaceOvsOptions}
|
||||
members:
|
||||
-
|
||||
type: interface
|
||||
name: nic2
|
||||
primary: true
|
||||
-
|
||||
type: interface
|
||||
name: nic3
|
||||
-
|
||||
type: vlan
|
||||
device: bond1
|
||||
vlan_id: {get_param: InternalApiNetworkVlanID}
|
||||
addresses:
|
||||
-
|
||||
ip_netmask: {get_param: InternalApiIpSubnet}
|
||||
-
|
||||
type: vlan
|
||||
device: bond1
|
||||
vlan_id: {get_param: StorageNetworkVlanID}
|
||||
addresses:
|
||||
-
|
||||
ip_netmask: {get_param: StorageIpSubnet}
|
||||
-
|
||||
type: vlan
|
||||
device: bond1
|
||||
vlan_id: {get_param: TenantNetworkVlanID}
|
||||
addresses:
|
||||
-
|
||||
ip_netmask: {get_param: TenantIpSubnet}
|
||||
# Uncomment when including environments/network-management.yaml
|
||||
# If setting default route on the Management interface, comment
|
||||
# out the default route on the Control Plane.
|
||||
#-
|
||||
# type: vlan
|
||||
# device: bond1
|
||||
# vlan_id: {get_param: ManagementNetworkVlanID}
|
||||
# addresses:
|
||||
# -
|
||||
# ip_netmask: {get_param: ManagementIpSubnet}
|
||||
# routes:
|
||||
# -
|
||||
# default: true
|
||||
# next_hop: {get_param: ManagementInterfaceDefaultRoute}
|
||||
-
|
||||
type: ovs_user_bridge
|
||||
name: br-link
|
||||
members:
|
||||
-
|
||||
type: ovs_dpdk_bond
|
||||
name: dpdkbond0
|
||||
members:
|
||||
-
|
||||
type: ovs_dpdk_port
|
||||
name: dpdk0
|
||||
members:
|
||||
-
|
||||
type: interface
|
||||
name: nic4
|
||||
-
|
||||
type: ovs_dpdk_port
|
||||
name: dpdk1
|
||||
members:
|
||||
-
|
||||
type: interface
|
||||
name: nic5
|
||||
|
||||
outputs:
|
||||
OS::stack_id:
|
||||
description: The OsNetConfigImpl resource.
|
||||
value: {get_resource: OsNetConfigImpl}
|
@ -166,7 +166,6 @@ resource_registry:
|
||||
OS::TripleO::Services::NeutronCorePluginOpencontrail: puppet/services/neutron-plugin-opencontrail.yaml
|
||||
OS::TripleO::Services::NeutronCorePluginMidonet: puppet/services/neutron-midonet.yaml
|
||||
OS::TripleO::Services::NeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml
|
||||
# ComputeNeutronOvsAgent can be overriden to puppet/services/neutron-ovs-dpdk-agent.yaml also to enable DPDK
|
||||
OS::TripleO::Services::ComputeNeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml
|
||||
OS::TripleO::Services::Pacemaker: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronSriovAgent: OS::Heat::None
|
||||
|
@ -19,13 +19,15 @@ parameters:
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
NeutronDpdkCoreList:
|
||||
default: ""
|
||||
description: List of cores to be used for DPDK Poll Mode Driver
|
||||
type: string
|
||||
constraints:
|
||||
- allowed_pattern: "[0-9,-]+"
|
||||
NeutronDpdkMemoryChannels:
|
||||
default: ""
|
||||
description: Number of memory channels to be used for DPDK
|
||||
type: string
|
||||
constraints:
|
||||
- allowed_pattern: "[0-9]+"
|
||||
NeutronDpdkSocketMemory:
|
||||
default: ""
|
||||
description: Memory allocated for each socket
|
||||
|
Loading…
Reference in New Issue
Block a user