Uploaded image for project: 'OpenShift Dev Console'
  1. OpenShift Dev Console
  2. ODC-6479

Service Binding support for multiple binding between the same 2 components

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • Service Binding enhancements - support for multiple
    • False
    • False
    • To Do
    • 0
    • 0
    • 0% 0%
    • Not Supported

      Problem:

      We need Topology to support the ability to have multiple service binding connections between the same 2 components.

      Goal:

      1. Provide the ability to support creation of multiple service binding connections between the same 2 connections. Be sure that topology will properly support this from a visualization perspective as well as allowing the user to easily select one of these.

      Why is it important?

      In the context of Managed Kafka, it is possible to have a single application that will communicate with a single Kafka in different ways. The application could be both a consumer and producer on that Kafka. 

      Use cases:

      1. User is able to visually create a binding between 2 same components (drag&drop)
      2. User is able to use the Create Service Binding CTA to create another binding between 2 same
      3. User is able to visually see that there are more than one binding between 2 same components

      Acceptance criteria:

      1. User creates a first binding by doing a drag&drop action in the topology view
      2. The user will be able to provide a name for the Service Binding from the modal view (introduced with https://issues.redhat.com/browse/ODC-5947
      3. The name of is used as the name of the underlying ServiceBindingCR that is created and the directory created in the "/bindings" mountpoint of the pod matches the name of the ServiceBindingCR (responsibility of Service Binding Operator)
      4. The user creates a second binding by doing a drag&drop action in the topology view
      5. The user will provide a different name for the Service Binding from the modal view (introduced with https://issues.redhat.com/browse/ODC-5947
      6. There are actually two different bindings directories in the "/bindings" mountpoint of the pod. 
      7. The user creates a third binding by using the Create Service Binding CTA 
      8. The user will provide a different name for the Service Binding from the modal view (introduced with https://issues.redhat.com/browse/ODC-5947
      9. There are actually three different bindings directories in the "/bindings" mountpoint of the pod. 
      10. User can get back to the topology view and see that there are 3 different bindings between the same.
      11. User can select one of the 3 different binding to visualize its details.

      Additional Details:

      This requirement is needed in order to allow a single application (e.g. Quarkus) bind to multiple Managed Kafka instances, and use the name of the CR as the configuration name in Quarkus SmallRye Reactive Messaging. This allows us to configure which SmallRye configuration should bind to which Service by matching the name of the ServiceBindingCR with the name of the SmallRye configuration.

      Dependencies (External/Internal):

      Design Artifacts:

      Exploration:

      Note:

        1.
        Docs Tracker Sub-task Closed Undefined Unassigned
        2.
        QE Tracker Sub-task Closed Undefined Unassigned
        3.
        TE Tracker Sub-task Closed Undefined Unassigned

            Unassigned Unassigned
            sdoyle@redhat.com Serena Nichols
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: