Skip to content

Deploy IBM Sterling Partner Engagement Manager

Introduction

The instructions in this section will walk you through the steps necessary for setting up a demo environment that can be quickly shown to customers to showcase the art of the possible.

This demo in no way removes the need for following the tutorial style instructions that are documented in other sections of this guide. The instructions below will set up a pre-canned application demo environment to show to the customers.


Pre-requisites

Create a custom Git Organization

Create a new Git Organization to host the different GitOps repositories.

Note

Make sure you do not populate your GitHub organization with cloned repositories. The GitHub organization must be empty and will be populated automatically by the environment provisioning.

Instructions:

  1. Log in to http://github.com and select the option to create a New organization.

    New Organization

  2. Click on Create a free organization plan.

  3. Complete the wizard by filling in the Organization account name and Contact email fields. Select the My personal account bullet and complete the verification step and click Next.

  4. Skip the step to add members to the Organization.

  5. Complete the Welcome to GitHub questionnaire and click Submit.

  6. Congratulations, you have successfully created a new Github Organization.

    Note

    Please ensure your GitHub organization is Public and not Private.

Create a Git Personal Access Token (PAT)

Create a new Git Personal Access Token with the appropriate scopes. This will be required to run the application pipelines or to set up webhooks.

Instructions:

  1. Log in to http://github.com and click on Settings.

    New Organization

  2. Select Developer settings and click on Personal access tokens.

  3. Provide a name for the token, set the Expiration to 90 days ,set the following scopes and click Generate token.

    GitHub Personal Access Token scopes

    Token Scopes
    Token Scopes

  4. Copy and save the Personal Access Token. You will not be able to retrieve this value again later.


Red Hat OpenShift on IBM Cloud cluster with GitOps Configuration

Create the cluster

  1. Provision a Red Hat OpenShift on IBM Cloud cluster with GitOps Configuration from IBM Technology Zone. Select the OpenShift + GitOps Configuration tile.

  2. Click the Reserve now radio button.

  3. Provide a name for the cluster, select Practice / Self-Education for the purpose and choose the region to provision the cluster.

  4. Once a Preferred Geography has been selected, provide the appropriate Worker Node Count and Worker Node Flavor values based on the requirements for this quickstart listed in the note below. Finally, click Submit.

This recipe is for deploying the B2BI Sterling Partner Engagement Manager Standard in a single namespace (i.e. pem). This recipe requires you to activate the Sterling File Gateway recipe on two namespaces, namely b2bi-nonprod and b2bi-prod. This guide assumes that you already deployed and verified the 2 instances of the Sterling File Gateway.

Infrastructure - Kustomization.yaml

  1. Edit the Infrastructure layer ${GITOPS_PROFILE}/1-infra/kustomization.yaml, un-comment the following lines, commit and push the changes and synchronize the infra Application in the ArgoCD console. (Note that existing modules that are required for Sterling File Gateway should not be commented out)

    cd multi-tenancy-gitops/0-bootstrap/single-cluster/1-infra
    
    - argocd/namespace-pem.yaml
    - argocd/serviceaccounts-pem.yaml
    - argocd/pem-b2bi-clusterwide.yaml
    

Services - Kustomization.yaml

  1. This recipe can be implemented using a combination of storage classes. Not all combination will work, the following table lists the storage classes that we have tested to work:

    Component Access Mode IBM Cloud OCS/ODF
    DB2 RWO ibmc-block-gold ocs-storagecluster-cephfs
    PEM RWX managed-nfs-storage ocs-storagecluster-cephfs
  2. Clone the services repo for GitOps: open a terminal window and clone the multi-tenancy-gitops-services repository under your Git Organization.

    git clone git@github.com:${GIT_ORG}/multi-tenancy-gitops-services.git
    
  3. Modify the PEM pre-requisites components which includes the secrets and PVCs required for the B2BI helm chart.

    1. Go to the instances/ibm-pem-setup directory:

      cd multi-tenancy-gitops-services/instances/ibm-sfg-b2bi-prod-setup
      
    2. Generate the pre-requisites for PEM:

      PEM_DB_PASSWORD=db2inst1 \
      PEM_PASSWORD=password \
      SERVER_KEYSTORE_PASSWORD=password \
      B2BI_PROD_PASSWORD=password \
      B2BI_PROD_DB_PASSWORD=db2inst1 \
      B2BI_NONPROD_PASSWORD=password \
      B2BI_NONPROD_DB_PASSWORD=db2inst1 \
      RWX_STORAGECLASS=managed-nfs-storage \
      ./pem-prereqs.sh
      

    💡 NOTE
    Commit and Push the changes for multi-tenancy-gitops-services

  4. Enable DB2 and prerequisites in the main multi-tenancy-gitops repository

    1. Edit the Services layer ${GITOPS_PROFILE}/2-services/kustomization.yaml by uncommenting the following lines to install the pre-requisites for Sterling File Gateway.

      - argocd/instances/ibm-pem-db2.yaml
      - argocd/instances/ibm-pem-db2test.yaml
      - argocd/instances/ibm-pem-setup.yaml
      
    2. Optional Modify the DB2 storage classes to the environment that you use, the files are in ${GITOPS_PROFILE}/2-services/argocd/instances. Edit ibm-pem-db2.yaml and ibm-pem-db2test.yaml to switch the storageClassName if necessary.

    💡 NOTE
    Commit and Push the changes for multi-tenancy-gitops and Refresh the ArgoCD application services.

    Make sure that the sterling toolkit pod and pem migrator do not throw any error. Wait for 5-10 minutes until the database is fully initialized.

  5. Generate Helm Chart values.yaml for the Partner Engagement Manager Helm Chart in the multi-tenancy-gitops-services repo; note that the default storage class is using managed-nfs-storage - if you are installing on ODF, set RWX_STORAGECLASS=ocs-storagecluster-cephfs.

    cd multi-tenancy-gitops-services/instances/ibm-pem
    ./ibm-pem-overrides-values.sh
    

    💡 NOTE
    Commit and Push the changes for multi-tenancy-gitops-services

  6. Edit the Services layer ${GITOPS_PROFILE}/2-services/kustomization.yaml by uncommenting the following line to install Sterling File Gateway, commit and push the changes and refresh the services Application in the ArgoCD console:

    - argocd/instances/ibm-pem.yaml
    

    💡 NOTE
    Commit and Push the changes for multi-tenancy-gitops and sync ArgoCD application services this will take around 1 hr for the database setup.


⚠️ Warning:
If you decided to scale the pods or upgrade the version you should do the following steps:

This is to avoid going through the database setup job again

  • Step 1:
    cd multi-tenancy-gitops-services/instances/ibm-pem
    
  • Step 2:
  • Inside values.yaml, find & set
  • bash dbsetup: enable: false upgrade: true
  • Commit and push the changes for the multi-tenancy-gitops-services repo.

Validation

  1. Retrieve the Partner Engagement Manager and Community Managers console URL.

    oc get route -n pem ibm-pem-pem-route  -o template --template='https://{{.spec.host}}'
    oc get route -n pem ibm-pem-prodpem-route  -o template --template='https://{{.spec.host}}'
    oc get route -n pem ibm-pem-nonprodpem-route  -o template --template='https://{{.spec.host}}'
    
  2. Log in to Partner Engagement Manager with the default credentials: username:admin password: password

  3. Log in to Partner Engagement Manager Community Management URLs (prod and nonprod) with the default credentials: username:superadmin password: password