-
Feature
-
Resolution: Unresolved
-
Major
-
None
-
None
-
Product / Portfolio Work
-
None
-
50% To Do, 50% In Progress, 0% Done
-
False
-
-
False
-
M
-
None
-
None
-
None
-
-
None
-
None
-
None
-
None
Feature Overview (aka. Goal Summary)
Simplify SR-IOV usage on MicroShift by supporting the sriov device plugin and cni provider to allow for declarative access to VFs
Goals (aka. expected user outcomes)
User will be able to install the SR-IOV device plugin and the SR-IOV CNI provider on MicroShift <your text here>
Requirements (aka. Acceptance Criteria):
- Users must be able to install the SR-IOV device plugin to expose SR-IOV devices as resources
- Users must be able to install the SR-IOV CNI provider so that they can use NetworkAttachment Definitions CRs to access VFs
- The same list of supported devices that is supported on OpenShift must be supported on MicroShift
- SR-IOV must be an optional install with as minimal resource usage as possible
- SR-IOV must work with image mode
- can be easily added into an image built
- does not conflict with existing greenbot healthchecks and provides additional health checks specific to SR-IOV.
- Users should be able to use Discovery and Manage of SR-IOV devices, to simplify configuration of SR-IOV VFs on PFs.
- Users should be able to expose SR-IOV Metrics to allow monitoring of network activity (see the metrics exporter docs
Questions to Answer (Optional):
- Can the OpenShift SR-IOV operator be used? Does it have any hard dependencies on OpenShift APIs? Can it be configured / tailored for MicroShift usage?
- How can this be tested in CI? SR-IOV NIC hardware at least for a smoke test is required.
- Which of the optional requirements ("should" in the description) can be supported?
- Can this become GA directly, or is a TP release first needed?
- What is the resource requirement in regards to CPU and Memory, request/limit and actual usage in idle state?
- Can we optimise resource requirements, e.g. by joining several components (e.g. the deviceplugin and config daemon) into a single pod/container to share resources?
Out of Scope
- A full test of all SR-IOV related functions. A simple smoke test validating the basic functionality / requirements is good enough. The assumption is that the tests done by OpenShift then also cover the MicroShift use case.
Background
SR-IOV can be used with MicroShift today, by manually configure VFs on os level and then map VF to pods using multus. That is clumsy and non-declarative.
k8s sr-iov device plugin and cni provider from upstream have been demonstrated to work on MicroShift already.
Customer Considerations
There are customers who use upstream plugin and provider already. (Example document is available from the Assignee)
But they want this officially supported. Close communication with those customers is recommended to ensure design and implementation matches their need.
Documentation Considerations
- The usual documentation of optional components derived from OpenShift is required:
Installation instructions, how to add it to MicroShift - Basic configuration, e.g. simple example config.
- Fore more detailed / advanced explanation, links to the OCP docs can be used. Those are not required in the MicroShift docs.
Interoperability Considerations
Support and Assistance from the networking team with guidance and reviews is required.
- is triggered by
-
RFE-7929 SR-IOV with MicroShift
-
- Refinement
-
- links to