• Product / Portfolio Work
    • OCPSTRAT-1644Converge HCP and Standalone Control Plane Architectures - OpenShiftManager
    • Hide
      • Color Status: Green
      • Status Summary:
        • Not much to update this week, everyone on the team has been pulled off to work on rebase (for 4.21) or component readiness related tasks to support the 4.20 release.
      • Risks:
        • n/a
      Show
      Color Status: Green Status Summary: Not much to update this week, everyone on the team has been pulled off to work on rebase (for 4.21) or component readiness related tasks to support the 4.20 release. Risks: n/a
    • False
    • Hide

      None

      Show
      None
    • False
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Feature Overview (aka. Goal Summary)  

      For phase one, our goal is to implement a prototype to prove that it is possible to run core payload openshift operator controllers in a portable way. In order to do that, we will initially target the Cluster Authentication Operator and deliver a proof of concept. Since a main goal of this project is to make those controllers portable so that they can be run as part of HyperShift, we will also target a proof of concept where our OM-ified Cluster Authentication Operator is running in an HCP deployment. To do this we will:

      • Update the Cluster Authentication Operator to use the OpenShift Manager libraries and allow the controller reconciliation functions to be called from a binary. This code will be merged into the production version of the CAO, although since we are not targeting building an OM process for standalone in phase 1, it will be inert and not called as part of the standalone OCP deployment in phase 1.
      • Build an initial proof of concept that can call the OM binary in a deployment running on HyperShift to demonstrate that we can generate the same manifests created by the CPO
      • Where there are differences between what is generated by standalone vs what is in HCP, reconcile the two
      • Update the Control Plane Operator (CPO) to use the OM binary rather than its existing Auth Operator code to generate manifests. Since this is phase 1 and a proof of concept, we will not target merging this code into the default CPO deployment in this phase. The outcome here should be a demoable implementation and an API that can be used as part of phase 2.

      In addition, one of the main goals of this project is to enable OpenShift operator controllers to have real integration tests written against them. By using the abstraction layer between the OM and the API server, we can theoretically generate synthetic sequences of events that are reproducible in a testing context. For this phase, we will build a set of example tests with our auth operator proof of concept to demonstrate this is possible. Additionally, we will work towards defining a framework to make running and writing these tests possible.

      Finally, an outcome for this phase will be to write designs and an eventual enhancement proposal for what our eventual set of APIs will look like, for how this work can be rolled out to the set of operators we will eventually target, and for how these changes can be integrated both in HyperShift and standalone.

      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.

      <your text here>

      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.

      <enter general Feature acceptance here>

       

      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  
      Classic (standalone cluster)  
      Hosted control planes  
      Multi node, Compact (three node), or Single node (SNO), or all  
      Connected / Restricted Network  
      Architectures, e.g. x86_x64, ARM (aarch64), IBM Power (ppc64le), and IBM Z (s390x)  
      Operator compatibility  
      Backport needed (list applicable versions)  
      UI need (e.g. OpenShift Console, dynamic plugin, OCM)  
      Other (please specify)  

      Use Cases (Optional):

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

      <your text here>

      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.

      <your text here>

      Background

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

      <your text here>

      Customer Considerations

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

      <your text here>

      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.

      <your text here>

      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.

      <your text here>

              krizza@redhat.com Kevin Rizza
              wlewis@redhat.com Wallace Lewis
              None
              Ben Luddy, Fabio Bertinatto, Lukasz Szaszkiewicz
              Lukasz Szaszkiewicz Lukasz Szaszkiewicz
              Xingxing Xia Xingxing Xia
              Avani Bhatt Avani Bhatt
              Kyle Walker Kyle Walker
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: