Bug 1788974

Summary: Support to configure vnic_type_blacklist and resource_provider_bandwidths parameters for ovs/sriov agents
Product: Red Hat OpenStack Reporter: James Parker <jparker>
Component: openstack-tripleo-heat-templatesAssignee: Slawek Kaplonski <skaplons>
Status: CLOSED CURRENTRELEASE QA Contact: Candido Campos <ccamposr>
Severity: high Docs Contact:
Priority: high    
Version: 16.1 (Train)CC: atragler, bcafarel, bhaley, ccamposr, egallen, ekuris, fbaudin, hakhande, igallagh, jamsmith, jjoyce, jschluet, mburns, njohnston, nwolf, skaplons, slinaber, spower, stephenfin, tkajinam, tvignaud
Target Milestone: z5Keywords: FutureFeature, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-tripleo-heat-templates-11.3.2-1.20201114031844.el8ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-04-07 14:37:14 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1991746, 1669584, 1801054, 1885514    

Description James Parker 2020-01-08 13:46:46 UTC
Description of problem:
RFE https://bugzilla.redhat.com/show_bug.cgi?id=1463838 requires the following two the configuration of blacklisting specific vnic drivers as well assigning kbps egress/ingress to interfaces.  The driver relevant parameters exist in ml2_conf.ini and the respective resource_provider_bandwidths parameters exist in ovs_agent.ini and sriov_agent.ini.  Example configs below.  Currently require support in TripleO to configure these parameters

Example from ml2_conf.ini
[ovs_driver]
vnic_type_blacklist = direct

[sriov_driver]
#vnic_type_blacklist = direct

Example from ovs_agent.ini
[ovs]
bridge_mappings = physnet0:br-physnet0,...
resource_provider_bandwidths = br-physnet0:10000000:10000000,...

Example from sriov_agent.ini
[sriov_nic]
physical_device_mappings = physnet0:ens5,physnet0:ens6,...
resource_provider_bandwidths = ens5:40000000:40000000,ens6:40000000:40000000,...

Comment 1 Stephen Finucane 2020-03-23 12:28:58 UTC
In addition to the aforementioned configuration options in 'ml2_conf.ini', 'ovs_agent.ini', and 'sriov_agent.ini', we also need to configure neutron-placement interaction. There are two steps required here: configure the placement service plugin and configure placement credentials. For example, in 'neutron.conf':

  [DEFAULT]
  service_plugins = placement,...
  auth_strategy = keystone
  
  [placement]
  auth_type = password
  auth_url = https://controller/identity
  password = secret
  project_domain_name = Default
  project_name = service
  user_domain_name = Default
  username = placement

Also note that configuration of the '[ovs_driver] vnic_type_blacklist' and '[sriov_driver] vnic_type_blacklist' config options listed in comment #0 is not actually required for this.

More information can be found in the neutron documentation [1].

[1] https://docs.openstack.org/neutron/latest/admin/config-qos-min-bw.html

Comment 3 Scott Lewis 2020-04-19 19:06:47 UTC
Removing Target Milestone; please replan

Comment 12 Lon Hohberger 2020-07-29 10:47:47 UTC
According to our records, this should be resolved by puppet-neutron-15.5.1-0.20200514103419.0a45ec7.el8ost.  This build is available now.

Comment 15 Irina 2020-10-05 08:12:53 UTC
Hi James and Slawek

So for the documentation, do I now just need to update Steps 2 and 3 in the "Creating and applying a guaranteed minimum bandwidth QoS policy and rule" procedure [0], replacing them with adding the above heat parameters to network-environment.yaml?

Thanks

Irina


[0] https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html-single/networking_guide/index#guaranteed-min-bw

Comment 19 Brian Haley 2020-10-08 18:19:31 UTC
Slawek - since this code hasn't merged downstream and we are past the blocker
freeze for 16.1.2, I think the target milestone should be changed to z3 to
reflect that.