Bug 1729439

Summary: Capital letters on interface names are not allowed during SR-IOV configuration
Product: Red Hat OpenStack Reporter: Luis Arizmendi <larizmen>
Component: puppet-tripleoAssignee: yogananth subramanian <ysubrama>
Status: CLOSED EOL QA Contact: Yariv <yrachman>
Severity: high Docs Contact:
Priority: high    
Version: 13.0 (Queens)CC: cfontain, eshulman, gurpsing, jjoyce, jschluet, mgarciac, slinaber, spower, supadhya, tvignaud, ysubrama
Target Milestone: ---Keywords: TestOnly, Triaged, ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: puppet-tripleo-8.5.1-5 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1768370 (view as bug list) Environment:
Last Closed: 2022-11-21 08:35:11 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: 1768370    

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:
    NeutronPhysicalDevMappings:
      - sriov:enP65536p3s0f0
    NeutronSriovNumVFs:
      - enP65536p3s0f0:32
    NovaPCIPassthrough:
      - devname: "enP65536p3s0f0"
        physical_network: "sriov

3.try to deploy



Actual results:
----------------

Deployment fails with this error:

overcloud.AllNodesDeploySteps.ComputeHCIDeployment_Step1.2:
  resource_type: OS::Heat::StructuredDeployment
  physical_resource_id: f45149ec-158f-418a-8fcb-90a1d055733b
  status: UPDATE_FAILED
  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 
0



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:

newvalues(/^[a-zA-Z0-9\-_]+:[0-9]+(:(switchdev|legacy))?$/)


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 
32

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.

Comment 13 Red Hat Bugzilla 2023-09-18 00:16:43 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 120 days