Installing the IBM App Connect Operator from the Red Hat OpenShift CLI

OpenShift-only contentUse these instructions to install the IBM® App Connect Operator by using the Red Hat® OpenShift CLI.

Before you begin

Procedure

To install and subscribe to the IBM App Connect Operator, complete the following steps:

  1. From the command line, log in to your OpenShift cluster by using the oc login command.
  2. If you want to install the IBM App Connect Operator into an existing namespace or cluster wide, go to step 3. Otherwise, create a namespace to use for the IBM App Connect Operator by running this command, where namespaceName represents the namespace (project) name that you want to create.
    oc new-project namespaceName
    Restriction: Do not install into any of these system namespaces, which might impose restrictions on assigning role-based access control (RBAC) permissions or security context constraints:
    • The default namespace
    • Any namespace prefixed with kube-
    • The openshift namespace or any namespace prefixed with openshift-

      The exception is the openshift-operators namespace, which is used for a cluster-wide installation.

  3. View the list of Operators that are available to the cluster from the OperatorHub:
    oc get packagemanifests -n openshift-marketplace
    Tip: Optionally append | grep ibm as a filter.

    You should see the IBM App Connect Operator CatalogSource in this list; for example:

    ...
    ibm-commonui-operator-app                          IBMCS Operators             2d22h
    ibm-events-operator                                IBMCS Operators             2d22h
    ibm-management-ingress-operator-app                IBMCS Operators             2d22h
    ibm-appconnect                                     IBM App Connect operator    2d22h
    ibm-block-csi-operator-community                   Community Operators         2d22h
    ibm-integration-platform-navigator                 Cloud Pak for Integration   2d22h
    ibm-crossplane-operator-app                        IBMCS Operators             2d22h
    ...
  4. Inspect the IBM App Connect Operator (ibm-appconnect) to verify its supported install modes and available channels:
    oc describe packagemanifests ibm-appconnect -n openshift-marketplace

    You should see similar details to this:

    Name:         ibm-appconnect
    Namespace:    openshift-marketplace
    Labels:       catalog=appconnect-operator-catalogsource
                  catalog-namespace=openshift-marketplace
                  operatorframework.io/arch.amd64=supported
                  operatorframework.io/arch.ppc64le=supported
                  operatorframework.io/arch.s390x=supported
                  operatorframework.io/os.linux=supported
                  provider=IBM
                  provider-url=
    
    ...
    # Documentation
    See the [IBM App Connect documentation](https://ibm.biz/ACEv12ContainerDocs).
    
          Display Name:  IBM App Connect
          Install Modes:
            Supported:  true
            Type:       OwnNamespace
            Supported:  true
            Type:       SingleNamespace
            Supported:  false
            Type:       MultiNamespace
            Supported:  true
            Type:       AllNamespaces
          Keywords:
            appconnect
            app connect
            app connect enterprise
            ace
            designer
            dashboard
            switch
            integration
            cloud pak
            cloud pak for integration
            cp4i
          Links:
            Name:  App Connect documentation
            URL:   https://ibm.biz/ACEv12ContainerDocs
            Name:  Dashboard documentation
            URL:   https://ibm.biz/acedashbdop
            Name:  Integration Runtime documentation
            URL:   https://ibm.biz/createintruntime-ace
            Name:  Integration Server documentation
            URL:   https://ibm.biz/createintserver-ace
            Name:  Designer Authoring documentation
            URL:   https://ibm.biz/acedesignerop
            Name:  SwitchServer documentation
            URL:   https://ibm.biz/aceswitchsrvop
            Name:  Configuration documentation
            URL:   https://ibm.biz/aceconfig
            Name:  Trace documentation
            URL:   https://ibm.biz/acetraceop
          Maintainers:
            Name:            IBM
          Maturity:          stable
          Min Kube Version:  1.23.0
          Provider:
            Name:  IBM
          Related Images:
            cp.icr.io/cp/appc/ace-server-prod@sha256:68c8723c97d2b70985972f25cf06f6b9d5a3e008c22e7df6f044c1dd988cb77f
            cp.icr.io/cp/appc/acecc-proxy-prod@sha256:5886dd460345df44bf6a7b79c9f61e2b8ac4a07d626e2f0da70c86c6cbcd5504
            cp.icr.io/cp/appc/acecc-designer-runtime-prod@sha256:592851f0aa0734e058ea57549b05214ee531cc635c52015787c5c5f060b1bdd6
    ...
          Version:  9.2.1
        Entries:
          Name:         ibm-appconnect.v9.2.1
          Version:      9.2.1
        Name:           v9.2
      Default Channel:  v11.6
      Package Name:     ibm-appconnect
      Provider:
        Name:  IBM
    Events:    <none>
    
  5. Create an OperatorGroup object that identifies the namespace in which role-based access control (RBAC) permissions for the IBM App Connect Operator will be generated, and where the Operator’s Cluster Service Version (CSV) will be available. To do so, you must define an OperatorGroup resource in a YAML file and then use it to create the OperatorGroup object.

    An OperatorGroup is an Operator Lifecycle Manager (OLM) resource that selects target namespaces in which to generate required RBAC access for all Operators in the same namespace as the OperatorGroup.

    The namespace to which you install (or subscribe) the IBM App Connect Operator must contain an OperatorGroup that matches the Operator's install mode, which can be OwnNamespace or SingleNamespace (for installation into a single namespace), or AllNamespaces (for a cluster wide installation into all namespaces). If you intend to install the Operator cluster wide, you do not need to create an OperatorGroup because the openshift-operators namespace (into which the Operator will be installed) already has an appropriate OperatorGroup in place. You can therefore skip this step.

    However, if you intend to install the Operator into a single namespace that doesn't already contain an appropriate OperatorGroup for use, you must create an OperatorGroup as follows:

    1. From your local computer, create a file called appconn-operator-group.yaml with the following content. Replace operatorgroupName and namespaceName with your preferred values.
      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: operatorgroupName
        namespace: namespaceName
      spec:
        targetNamespaces:
        - namespaceName
    2. Create the OperatorGroup object:
      oc apply -f appconn-operator-group.yaml
  6. Add the IBM App Connect Operator to the OperatorGroup that you created in the previous step. To do so, you must define a Subscription resource in a YAML file and then use it to create a Subscription object in the namespace where the OperatorGroup was created:
    1. From your local computer, create a file called appconn-sub.yaml with the following YAML content for your installation environment.
      Online installation environment that is connected to the internet Air-gapped installation environment with no connection to the internet

      Installing from your deployed IBM App Connect Operator catalog source:

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: ibm-appconnect
        namespace: namespaceName
      spec:
        channel: v11.6
        name: ibm-appconnect
        source: appconnect-operator-catalogsource
        sourceNamespace: openshift-marketplace
      

      Installing from the IBM Operator Catalog:

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: ibm-appconnect
        namespace: namespaceName
      spec:
        channel: v11.6
        name: ibm-appconnect
        source: ibm-operator-catalog
        sourceNamespace: openshift-marketplace
      

      Installing from the internal product-specific catalog in your restricted network:

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: ibm-appconnect
        namespace: namespaceName
      spec:
        channel: v11.6
        name: ibm-appconnect
        source: appconnect-operator-catalogsource
        sourceNamespace: openshift-marketplace
      

      • If installing into a single namespace, replace namespaceName with your preferred namespace. If installing cluster wide, replace namespaceName with openshift-operators.

      • The spec.channel: v11.6 setting defines the update channel that OLM will track for new versions of the Operator.
      • By default, an Automatic approval strategy is set to allow the running instance of your Operator to be automatically upgraded whenever new versions are made available to the channel.

        If you would prefer to review a generated Install Plan for the new Operator version before manually approving this installation (or an upgrade), add a spec.installPlanApproval setting with a value of Manual to the supplied YAML code, as shown in the following example. (Do not use this Manual setting if you are installing the Operator from a product-specific App Connect catalog source. The use of a product-specific catalog source enables you to control which upgrades to apply because upgrades happen only when the image digest for the catalog source is changed.)
        spec:
          installPlanApproval: Manual
        Tip: You can change the approval strategy later if required by running a command such as oc edit; for example:
        oc edit subscription ibm-appconnect -n namespaceName

        This command will automatically open the default text editor for your operating system or open another configured editor. You can then update and save the YAML definition, and close the text editor to apply the command.

    2. To install the Operator, create the Subscription object:
      oc apply -f appconn-sub.yaml
  7. If you chose to install with a Manual approval strategy, review and approve the Install Plan of the subscription to allow OLM to install the Operator.
    1. List any Install Plans, where namespaceName is the namespace that you specified for the subscription:
      oc get installplans -n namespaceName

      You should see output similar to this, with the APPROVED value set to false.

      NAME            CSV                                  APPROVAL   APPROVED
      install-bl7pf   ibm-appconnect.v11.6.0               Manual     false


      In the output, the Install Plan identified in the NAME column contains details about the following cluster service version (CSV), which contains metadata about the IBM App Connect Operator:

      • ibm-appconnect.v11.6.0
    2. Display the details of the Install Plan, where installPlanName is the generated name for the Install Plan (for example, install-bl7pf):
      oc describe installplan installPlanName -n namespaceName

      Review the output.

    3. Approve the Install Plan for the IBM App Connect Operator. You can use commands such as oc patch or oc edit to partially update the Install Plan.

      For example, run oc patch with the following syntax (or your preferred syntax) to set spec.approved to true:

      oc patch installplan installPlanName -n namespaceName -p '{"spec":{"approved":true}}' --type merge

      Or run oc edit as follows. When the text editor for your operating system opens, set spec.approved to true. Then save the YAML definition and close the text editor to apply the changes.

      oc edit installplan installPlanName -n namespaceName

      OLM will now proceed with the installation.

    4. Verify the approval:
      oc get installplans -n namespaceName

      In the output, the APPROVED value should now be set to true.

  8. Verify that the IBM App Connect Operator has been installed:
    oc get csv -n namespaceName

    You should see output similar to this. The REPLACES column might be blank if the installed Operator is the first release in the associated channel.

    NAME                                 DISPLAY                               VERSION   REPLACES                             PHASE
    ibm-appconnect.v11.6.0               IBM App Connect                       11.6.0                                         Succeeded

What to do next