Bug 1729439 - Capital letters on interface names are not allowed during SR-IOV configuration [NEEDINFO]
Summary: Capital letters on interface names are not allowed during SR-IOV configuration
Status: ON_QA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: puppet-tripleo
Version: 13.0 (Queens)
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
: ---
Assignee: yogananth subramanian
QA Contact: Yariv
Depends On:
Blocks: 1768370
TreeView+ depends on / blocked
Reported: 2019-07-12 09:36 UTC by Luis Arizmendi
Modified: 2020-09-01 09:31 UTC (History)
11 users (show)

Fixed In Version: puppet-tripleo-8.5.1-5
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1768370 (view as bug list)
Last Closed:
Target Upstream Version:
jamsmith: needinfo? (ysubrama)

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
OpenStack gerrit 692101 0 'None' MERGED Fix upper case checks for SRIOV interface 2021-01-15 02:48:01 UTC

Description Luis Arizmendi 2019-07-12 09:36:05 UTC
Description of problem:
Interface names with capital letters cannot be configured to be used as SR-IOV interfaces

Version-Release number of selected component (if applicable): RHSOP13

How reproducible:
Always reproducible

Steps to Reproduce:
1.Get interfaces containing capital letters, in my case "Intel Corporation Ethernet Controller XL710 for 40GbE QSFP+"

2.Configure those interfaces for SR-IOV:
      - sriov:enP65536p3s0f0
      - enP65536p3s0f0:32
      - devname: "enP65536p3s0f0"
        physical_network: "sriov

3.try to deploy

Actual results:

Deployment fails with this error:

  resource_type: OS::Heat::StructuredDeployment
  physical_resource_id: f45149ec-158f-418a-8fcb-90a1d055733b
  status_reason: |
    Error: resources[2]: Deployment to server failed: deploy_status_code : Deployment exited with non-zero status code: 2
  deploy_stdout: |
            "                    with Stdlib::Compat::Hash. There is further documentation for validate_legacy function in the README. at [\"/etc/puppet/modules/ssh/manifests/server.pp\", 12]:[\"/var/lib/tripleo-config/puppet_step_config.pp\", 42]", 
            "Warning: tag is a metaparam; this value will inherit to all contained resources in the tripleo::firewall::rule definition", 
            "Error: Parameter name failed on Sriov_vf_config[enP65536p3s0f0:32]: Invalid value \"enP65536p3s0f0:32\". Valid values match /^[a-z0-9\\-_]+:[0-9]+(:(switchdev|legacy))?$/. at /etc/puppet/modules/tripleo/manifests/host/sriov.pp:22"
        to retry, use: --limit @/var/lib/heat-config/heat-config-ansible/d024d019-6bdc-4233-aa50-7d86b66868ef_playbook.retry
    PLAY RECAP *********************************************************************
    localhost                  : ok=23   changed=9    unreachable=0    failed=1   
    (truncated, view all with --long)
  deploy_stderr: |

Expected results:
Deployment completes with these interfaces configured for SR-IOV

Additional info:
If you change to underscore letters the error does not happen but the SR-IOV configuration is not right:

[root@computehci-1 ~]# cat /sys/class/net/enP65536p3s0f0/device/sriov_numvfs 

I looked for the file that is preventing to use capital letters:

(undercloud) [stack@director ~]$ grep -Ri "switchdev|legacy" /etc/puppet/modules/tripleo/
/etc/puppet/modules/tripleo/lib/puppet/type/sriov_vf_config.rb:    newvalues(/^[a-z0-9\-_]+:[0-9]+(:(switchdev|legacy))?$/)

I changed the filter to:


I tried to deploy again and the error disappeared and now the VFs appear in the interface configuration:

[root@computehci-1 ~]# cat /sys/class/net/enP65536p3s0f0/device/sriov_numvfs 

Comment 1 Luis Arizmendi 2019-07-12 11:56:22 UTC
Please, if you are using these XL710 NIC be aware of https://bugzilla.redhat.com/show_bug.cgi?id=1729485

Comment 7 Lon Hohberger 2020-03-11 10:36:37 UTC
According to our records, this should be resolved by puppet-tripleo-8.5.1-8.el7ost.  This build is available now.

Note You need to log in before you can comment on or make changes to this bug.