XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • False
    • 100
    • 100% 100%
    • 0
    • 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:
            10 Start watching this issue

              Created:
              Updated:
              Resolved: