Bug 1772847

Summary: [sriov] should block user to create sriovnetwork when minTxRate is specified since it does not be supported for Intel card
Product: OpenShift Container Platform Reporter: zhaozhanqi <zzhao>
Component: NetworkingAssignee: zenghui.shi <zshi>
Networking sub component: SR-IOV QA Contact: zhaozhanqi <zzhao>
Status: CLOSED WONTFIX Docs Contact:
Severity: medium    
Priority: high CC: bbennett, dosmith
Version: 4.3.0   
Target Milestone: ---   
Target Release: 4.6.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-06-04 03:17:53 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:

Description zhaozhanqi 2019-11-15 10:11:41 UTC
Description of problem:
since minTxRate is not supported for Intel card. So we should validate when creating sriovnetwork. 

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


How reproducible:


Steps to Reproduce:
1.  init intel VF with following CR:
 apiVersion: sriovnetwork.openshift.io/v1
kind: SriovNetworkNodePolicy
metadata:
  name: intel-netdevice
  namespace: openshift-sriov-network-operator
spec:
  deviceType: netdevice
  mtu: 1500
  nicSelector:
    pfNames:
      - ens1f0
    rootDevices:
      - '0000:3b:00.0'
    vendor: '8086'
  nodeSelector:
    feature.node.kubernetes.io/sriov-capable: 'true'
  numVfs: 5
  priority: 99
  resourceName: intelnetdevice
2. Create sriovnetwork with minTxRate: 

apiVersion: sriovnetwork.openshift.io/v1
kind: SriovNetwork
metadata:
  name: static-sriovnetwork
  namespace: openshift-sriov-network-operator
spec:
  ipam: |
    {
      "type": "static"
    }
  capabilities: |
    {
      "mac": true,
      "ips": true
    }
  vlan: 0
  maxTxRate: 100
  minTxRate: 40
  spoofChk: "on"
  trust: "off"
  resourceName: intelnetdevice
  networkNamespace: z2
3. create pod with above net-attach-def

Actual results:

Pod cannot be created and it will also block the VF, see another bug: https://bugzilla.redhat.com/show_bug.cgi?id=1772815


Expected results:
should block When creating sriovnetwork with minTxRate for intel resource. 

Additional info:

Comment 1 zenghui.shi 2019-12-06 05:38:59 UTC
Intel i40e NIC doesn't support setting min_tx_rate on VFs.
There is an issue in i40e driver when setting min_tx_rate on VF, it puts VF in a state that all other operations cannot be executed(pending). 
This issue is fixed in i40e driver on RHEL-8.1.z: https://bugzilla.redhat.com/show_bug.cgi?id=1772815

For sr-iov operator in 4.3, a note will be added in SR-IOV document to indicate this known issue: https://github.com/openshift/openshift-docs/pull/18317

Comment 2 zenghui.shi 2019-12-09 07:07:41 UTC
A note will be added in 4.3 doc for this issue.
In 4.4 or future releases, we will likely add a feature in SR-IOV Operator admission controller to detect and validate min_tx_rate config, and only apply when it's supported.

Moving target release to 4.4

Comment 4 zenghui.shi 2020-02-05 14:14:53 UTC
move target release to 4.5