Bug 2140881

Summary: _NETWORK_CONFIG_SCHEMA - should allow num_dpdk_interface_rx_queues
Product: Red Hat OpenStack Reporter: Ryo Hayakawa <rhayakaw>
Component: tripleo-ansibleAssignee: Harald Jensås <hjensas>
Status: CLOSED ERRATA QA Contact: Joe H. Rahme <jhakimra>
Severity: medium Docs Contact:
Priority: high    
Version: 17.0 (Wallaby)CC: bshephar, erpeters, hjensas, igallagh, jelynch, jkreger, jparoly, jschluet
Target Milestone: z1Keywords: Triaged
Target Release: 17.0   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: tripleo-ansible-3.3.1-0.20221108110245.fa5422f.el9ost Doc Type: Bug Fix
Doc Text:
Before this update, the `network_config` schema in the bare-metal provisioning definition did not allow setting the `num_dpdk_interface_rx_queues` parameter, which caused a schema validation error that blocked the bare-metal node provisioning process. With this update, the schema validation error no longer occurs when the 'num_dpdk_interface_rx_queues' parameter is used.
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-01-25 12:29:58 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:

Comment 1 Brendan Shephard 2022-11-08 04:19:14 UTC
Hey,

Yeah, that's the patch you will need here. I have created the cherry-pick back to Wallaby / OSP17 now:
https://review.opendev.org/c/openstack/tripleo-ansible/+/863794

So with that patch, you will need to specify that variable under the network_config dictionary in your baremetal_deployment.yaml file like so:


- name: Compute
  count: 1
  hostname_format: compute-%index%
  ansible_playbooks:
    - playbook: bm-deploy-playbook.yaml
  defaults:
    profile: compute-leaf2
    networks:
      - network: internal_api
        subnet: internal_api_subnet02
      - network: tenant
        subnet: tenant_subnet02
      - network: storage
        subnet: storage_subnet02
    network_config:
      template: templates/multiple_nics/multiple_nics_dvr.j2
      num_dpdk_interface_rx_queues: 2.   <<<---- Enter the number of queues you want here

Comment 2 Harald Jensås 2022-11-08 09:45:50 UTC
Possible workaround:

Run 'openstack overcloud node provision' without the '--network-config' option.

Use a Heat environment file to define the nic-config template:

parameter_defaults:
  ComputeOvsDpdkNetworkConfigTemplate: <path_to_template>
  NumDpdkInterfaceRxQueues: 4


Not using the '--network-config' option means that the network configuration will be applied later in the process when 'openstack overcloud deploy' run.
When the stack has been created and config download deploy playbooks execute, node network config will be applied and the THT parameter `NumDpdkInterfaceRxQueues` can be used to control the desired setting in this case.

NOTE:
 Make sure to set the <%ROLE%>NetworkConfigTemplate parameter for all roles, not only for ComputeOvsDpdk role since not using '--network-config' will apply to all roles.

Comment 20 errata-xmlrpc 2023-01-25 12:29:58 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Red Hat OpenStack Platform 17.0.1 bug fix and enhancement advisory), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2023:0271