Add support for resource provider bandwidth in Neutron config
Neutron introduced bandwidth aware scheduling some time ago. In [1]
new config options to set up available bandwidth in ovs agent was
introduced.
In [2] similar config options for SR-IOV agent was also added.
This patch adds support for both of them in TripleO.
[1] https://review.opendev.org/#/c/577223/
[2] https://review.opendev.org/#/c/581364/
Depends-On: https://review.opendev.org/#/c/727123/
Change-Id: Ic7b6e45b47bdb91758818555d870056730fe3983
(cherry picked from commit 6ca476842f
)
This commit is contained in:
parent
751ef8c0b0
commit
55ecd97d3e
|
@ -133,6 +133,16 @@ parameters:
|
||||||
description: Enable IGMP Snooping.
|
description: Enable IGMP Snooping.
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
NeutronOvsResourceProviderBandwidths:
|
||||||
|
description: >
|
||||||
|
Comma-separated list of <bridge>:<egress_bw>:<ingress_bw> tuples, showing
|
||||||
|
the available bandwidth for the given bridge in the given direction. The
|
||||||
|
direction is meant from VM perspective. Bandwidth is measured in kilobits
|
||||||
|
per second (kbps). The bridge must appear in bridge_mappings as the value.
|
||||||
|
type: comma_delimited_list
|
||||||
|
default: ""
|
||||||
|
tags:
|
||||||
|
- role_specific
|
||||||
|
|
||||||
conditions:
|
conditions:
|
||||||
no_firewall_driver: {equals : [{get_param: NeutronOVSFirewallDriver}, '']}
|
no_firewall_driver: {equals : [{get_param: NeutronOVSFirewallDriver}, '']}
|
||||||
|
@ -157,11 +167,13 @@ resources:
|
||||||
- neutron::agents::ml2::ovs::bridge_mappings: NeutronBridgeMappings
|
- neutron::agents::ml2::ovs::bridge_mappings: NeutronBridgeMappings
|
||||||
vswitch::ovs::enable_hw_offload: OvsHwOffload
|
vswitch::ovs::enable_hw_offload: OvsHwOffload
|
||||||
vswitch::ovs::disable_emc: OvsDisableEMC
|
vswitch::ovs::disable_emc: OvsDisableEMC
|
||||||
|
neutron::agents::ml2::ovs::resource_provider_bandwidths: NeutronOvsResourceProviderBandwidths
|
||||||
- values: {get_param: [RoleParameters]}
|
- values: {get_param: [RoleParameters]}
|
||||||
- values:
|
- values:
|
||||||
NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
|
NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
|
||||||
OvsHwOffload: {get_param: OvsHwOffload}
|
OvsHwOffload: {get_param: OvsHwOffload}
|
||||||
OvsDisableEMC: {get_param: OvsDisableEMC}
|
OvsDisableEMC: {get_param: OvsDisableEMC}
|
||||||
|
NeutronOvsResourceProviderBandwidths: {get_param: NeutronOvsResourceProviderBandwidths}
|
||||||
|
|
||||||
NeutronBase:
|
NeutronBase:
|
||||||
type: ./neutron-base.yaml
|
type: ./neutron-base.yaml
|
||||||
|
|
|
@ -91,6 +91,18 @@ parameters:
|
||||||
value in ML2 plugin. And overwrite values from global_physnet_mtu for
|
value in ML2 plugin. And overwrite values from global_physnet_mtu for
|
||||||
selected network.
|
selected network.
|
||||||
type: comma_delimited_list
|
type: comma_delimited_list
|
||||||
|
NeutronOvsVnicTypeBlacklist:
|
||||||
|
description: |
|
||||||
|
Comman-separated list of VNIC types for which support in Neutron is
|
||||||
|
administratively prohibited by the OVS mechanism driver.
|
||||||
|
type: comma_delimited_list
|
||||||
|
default: ""
|
||||||
|
NeutronSriovVnicTypeBlacklist:
|
||||||
|
description: >
|
||||||
|
Comman-separated list of VNIC types for which support in Neutron is
|
||||||
|
administratively prohibited by the SR-IOV mechanism driver.
|
||||||
|
type: comma_delimited_list
|
||||||
|
default: ""
|
||||||
|
|
||||||
conditions:
|
conditions:
|
||||||
physical_network_mtus_set: {not: {equals: [{get_param: NeutronML2PhysicalNetworkMtus}, []]}}
|
physical_network_mtus_set: {not: {equals: [{get_param: NeutronML2PhysicalNetworkMtus}, []]}}
|
||||||
|
@ -125,6 +137,8 @@ outputs:
|
||||||
neutron::plugins::ml2::tenant_network_types: {get_param: NeutronNetworkType}
|
neutron::plugins::ml2::tenant_network_types: {get_param: NeutronNetworkType}
|
||||||
neutron::plugins::ml2::firewall_driver: {get_param: NeutronFirewallDriver}
|
neutron::plugins::ml2::firewall_driver: {get_param: NeutronFirewallDriver}
|
||||||
neutron::plugins::ml2::overlay_ip_version: {get_param: NeutronOverlayIPVersion}
|
neutron::plugins::ml2::overlay_ip_version: {get_param: NeutronOverlayIPVersion}
|
||||||
|
neutron::plugins::ml2::ovs_driver::vnic_type_blacklist: {get_param: NeutronOvsVnicTypeBlacklist}
|
||||||
|
neutron::plugins::ml2::sriov_driver::vnic_type_blacklist: {get_param: NeutronSriovVnicTypeBlacklist}
|
||||||
- if:
|
- if:
|
||||||
- physical_network_mtus_set
|
- physical_network_mtus_set
|
||||||
- neutron::plugins::ml2::physical_network_mtus: {get_param: NeutronML2PhysicalNetworkMtus}
|
- neutron::plugins::ml2::physical_network_mtus: {get_param: NeutronML2PhysicalNetworkMtus}
|
||||||
|
|
|
@ -85,6 +85,17 @@ parameters:
|
||||||
type: boolean
|
type: boolean
|
||||||
tags:
|
tags:
|
||||||
- role_specific
|
- role_specific
|
||||||
|
NeutronSriovResourceProviderBandwidths:
|
||||||
|
description: >
|
||||||
|
Comma-separated list of <network_device>:<egress_bw>:<ingress_bw> tuples,
|
||||||
|
showing the available bandwidth for the given device in the given
|
||||||
|
direction. The direction is meant from VM perspective. Bandwidth is
|
||||||
|
measured in kilobits per second (kbps). The device must appear in
|
||||||
|
physical_device_mappings as the value.
|
||||||
|
type: comma_delimited_list
|
||||||
|
default: ""
|
||||||
|
tags:
|
||||||
|
- role_specific
|
||||||
|
|
||||||
conditions:
|
conditions:
|
||||||
|
|
||||||
|
@ -119,11 +130,13 @@ resources:
|
||||||
- neutron::agents::ml2::sriov::physical_device_mappings: NeutronPhysicalDevMappings
|
- neutron::agents::ml2::sriov::physical_device_mappings: NeutronPhysicalDevMappings
|
||||||
neutron::agents::ml2::sriov::exclude_devices: NeutronExcludeDevices
|
neutron::agents::ml2::sriov::exclude_devices: NeutronExcludeDevices
|
||||||
neutron::agents::ml2::sriov::extensions: NeutronSriovAgentExtensions
|
neutron::agents::ml2::sriov::extensions: NeutronSriovAgentExtensions
|
||||||
|
neutron::agents::ml2::sriov_nic::resource_provider_bandwidths: NeutronSriovResourceProviderBandwidths
|
||||||
- values: {get_param: [RoleParameters]}
|
- values: {get_param: [RoleParameters]}
|
||||||
- values:
|
- values:
|
||||||
NeutronPhysicalDevMappings: {get_param: NeutronPhysicalDevMappings}
|
NeutronPhysicalDevMappings: {get_param: NeutronPhysicalDevMappings}
|
||||||
NeutronExcludeDevices: {get_param: NeutronExcludeDevices}
|
NeutronExcludeDevices: {get_param: NeutronExcludeDevices}
|
||||||
NeutronSriovAgentExtensions: {get_param: NeutronSriovAgentExtensions}
|
NeutronSriovAgentExtensions: {get_param: NeutronSriovAgentExtensions}
|
||||||
|
NeutronSriovResourceProviderBandwidths: {get_param: NeutronSriovResourceProviderBandwidths}
|
||||||
|
|
||||||
ContainersCommon:
|
ContainersCommon:
|
||||||
type: ../containers-common.yaml
|
type: ../containers-common.yaml
|
||||||
|
|
Loading…
Reference in New Issue