Uploaded image for project: 'OpenShift Container Platform (OCP) Strategy'
  1. OpenShift Container Platform (OCP) Strategy
  2. OCPSTRAT-1147

Implement RWOP SELinux context mounts (Full Support)

XMLWordPrintable

    • BU Product Work
    • False
    • Hide

      None

      Show
      None
    • False
    • 0% To Do, 0% In Progress, 100% Done
    • S
    • 0
    • Its unclear if readiness is needed here (marking so that its discussed)

      Feature Overview (aka. Goal Summary)  

      An elevator pitch (value statement) that describes the Feature in a clear, concise way.  Complete during New status.

      Provide a long term solution to SELinux context labeling in OCP. Start with RWOP access mode.

      IMPORTANT: As of 4.15 the selinux context mount is TP and enabled by default for RWOP access mode which is also TP.  In 4.16 RWOP is promoted GA, while selinux mounts are still Beta upstream. We can't ship a GA feature that is relying on a TP sub-feature therefore we need to support selinux as fully supported while it is still beta upstream. We're continuing to work upstream to promote SELinux GA but in the meantime we need to support customers who are using RWOP PVs.

      Goals (aka. expected user outcomes)

      The observable functionality that the user now has as a result of receiving this feature. Include the anticipated primary user type/persona and which existing features, if any, will be expanded. Complete during New status.

      As of today when selinux is enabled, the PV's files are relabeled when attaching the PV to the pod, this can cause timeout when the PVs contains lot of files as well as overloading the storage backend.

      https://access.redhat.com/solutions/6221251 provides few workarounds until the proper fix is implemented. Unfortunately these workarounds are not perfect and we need a long term seamless optimised solution.

      This feature tracks the long term solution where the PV FS will be mounted with the right selinux context thus avoiding to relabel every file. This covers RWOP PVs only.

      Requirements (aka. Acceptance Criteria):

      A list of specific needs or objectives that a feature must deliver in order to be considered complete.  Be sure to include nonfunctional requirements such as security, reliability, performance, maintainability, scalability, usability, etc.  Initial completion during Refinement status.

      Should pass all regular regression CI. All the drivers we ship should have it enabled and partners may enable it if they want it to be consumed.

       

      Performances should drascillaly improved and security should remain the same as the legacy chcon approach.

       

      Anyone reviewing this Feature needs to know which deployment configurations that the Feature will apply to (or not) once it's been completed.  Describe specific needs (or indicate N/A) for each of the following deployment scenarios. For specific configurations that are out-of-scope for a given release, ensure you provide the OCPSTRAT (for the future to be supported configuration) as well.

      Deployment considerations List applicable specific needs (N/A = not applicable)
      Self-managed, managed, or both both
      Classic (standalone cluster) Y
      Hosted control planes Y
      Multi node, Compact (three node), or Single node (SNO), or all all
      Connected / Restricted Network Both
      Architectures, e.g. x86_x64, ARM (aarch64), IBM Power (ppc64le), and IBM Z (s390x) all
      Operator compatibility AWS EBS, Azure Disk, GCP PD, IBM VPC block, OSP cinder, vSphere
      Backport needed (list applicable versions) no
      UI need (e.g. OpenShift Console, dynamic plugin, OCM) No need
      Other (please specify)  

      Use Cases (Optional):

      Include use case diagrams, main success scenarios, alternative flow scenarios.  Initial completion during Refinement status.

      Provide details for user scenarios including actions to be performed, platform specifications, and user personas.  

      1. Apply new context when there is none
      2. Change context of all files/folders when changing context
      3. RWO & RWX PVs
        1. ReadWriteOncePod PVs first
        2. RWX PV in a second phase

      As we are relying on mount context there should not be any relabeling (chcon) because all files / folders will inherit the context from the mount context

      More on design & scenarios in the KEP

      Questions to Answer (Optional):

      Include a list of refinement / architectural questions that may need to be answered before coding can begin.  Initial completion during Refinement status.

      <your text here>

      Out of Scope

      High-level list of items that are out of scope.  Initial completion during Refinement status.

      RWO & RWX PVs

      Background

      Provide any additional context is needed to frame the feature.  Initial completion during Refinement status.

      Lots of support cases due to pod taking too long to start because of selinux relabeling with chcon.

      Customer Considerations

      Provide any additional customer-specific considerations that must be made when designing and delivering the Feature.  Initial completion during Refinement status.

      Most cases / concerns are on RWX, RWOP is the first step and has limited customer's impact though it is easier to implement first and gather feedback / metrics. https://access.redhat.com/solutions/6221251

      Documentation Considerations

      Provide information that needs to be considered and planned so that documentation will meet customer needs.  If the feature extends existing functionality, provide a link to its current documentation. Initial completion during Refinement status.

      Relnotes + table of drivers supporting it.

      Interoperability Considerations

      Which other projects, including ROSA/OSD/ARO, and versions in our portfolio does this feature impact?  What interoperability test scenarios should be factored by the layered products?  Initial completion during Refinement status.

      Partners may want to enable the feature.

            rh-gs-gcharot Gregory Charot
            rh-gs-gcharot Gregory Charot
            Jan Safranek Jan Safranek
            Chao Yang Chao Yang
            Lisa Pettyjohn Lisa Pettyjohn
            Jan Safranek Jan Safranek
            Gregory Charot Gregory Charot
            Eric Rich Eric Rich
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: