XMLWordPrintable

    • BU Product Work
    • False
    • Hide

      None

      Show
      None
    • False
    • 0% To Do, 0% In Progress, 100% Done
    • 0
    • Program Call

      Epic Goal

      • An NRI plugin that invoked by CRI-O right before the container creation, and updates the container's cpuset and quota to match the mixed-cpus request. 
      • The cpu pinning reconciliation operation must also execute the NRI API call on every update (so we can intercept kubelet and it does not destroy our changes)

      Why is this important?

      • This would unblock lots of options including mixed cpu workloads where some CPUs could be shared among containers / pods CNF-3706
      • This would also allow further research on dynamic (simulated) hyper threading CNF-3743

      Scenarios

      1. TODO

      Acceptance Criteria

      • Have an NRI plugin which called by the runtime and updates the container with mutual cpus.
      • The plugin must be able to override CPU manager conciliation loop and immune to future CPU manager changes.
      • The plugin must be robust and handle node reboot/kubelet/crio restart scenarios
      • OpenShift enhancement proposal for the plugin deployment via NTO should be approved and merged.

      Dependencies (internal and external)

      1. TODO

      Previous Work (Optional):

      1. https://issues.redhat.com/browse/CNF-3706 : Spike - mix of shared and pinned/dedicated cpus within a container
      2. https://issues.redhat.com/browse/CNF-3743 : Spike: Dynamic offlining of cpu siblings to simulate no-smt
      3. upstream Node Resource Interface project - https://github.com/containerd/nri 
      4. https://issues.redhat.com/browse/CNF-6082: [SPIKE] Cpus assigned hook point in CRI-O

      Open questions::

      Done Checklist

      • CI - CI is running, tests are automated and merged.
      • Release Enablement <link to Feature Enablement Presentation>
      • DEV - Upstream code and tests merged: <link to meaningful PR or GitHub Issue>
      • DEV - Upstream documentation merged: <link to meaningful PR or GitHub Issue>
      • DEV - Downstream build attached to advisory: <link to errata>
      • QE - Test plans in Polarion: <link or reference to Polarion>
      • QE - Automated tests merged: <link or reference to automated tests>
      • DOC - Downstream documentation merged: <link to meaningful PR>

              gausingh@redhat.com Gaurav Singh
              msivak@redhat.com Martin Sivak
              Brent Rowsell, Neelesh Agrawal, Peter Hunt, Ryan Phillips
              Mallapadi Niranjan Mallapadi Niranjan
              Matthew Werner Matthew Werner
              Mrunal Patel Mrunal Patel
              Gaurav Singh Gaurav Singh
              Derrick Ornelas Derrick Ornelas
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: