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:
-
Log in to http://github.com and select the option to create a New organization.
-
Click on
Create a free organization
plan. -
Complete the wizard by filling in the
Organization account name
andContact email
fields. Select theMy personal account
bullet and complete the verification step and click Next. -
Skip the step to add members to the Organization.
-
Complete the
Welcome to GitHub
questionnaire and click Submit. -
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:
-
Log in to http://github.com and click on Settings.
-
Select Developer settings and click on Personal access tokens.
-
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
-
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¶
-
Provision a Red Hat OpenShift on IBM Cloud cluster with GitOps Configuration from IBM Technology Zone. Select the
OpenShift + GitOps Configuration
tile. -
Click the Reserve now radio button.
-
Provide a name for the cluster, select Practice / Self-Education for the purpose and choose the region to provision the cluster.
-
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¶
-
Edit the Infrastructure layer
${GITOPS_PROFILE}/1-infra/kustomization.yaml
, un-comment the following lines, commit and push the changes and synchronize theinfra
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¶
-
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 -
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
-
Modify the PEM pre-requisites components which includes the secrets and PVCs required for the B2BI helm chart.
-
Go to the
instances/ibm-pem-setup
directory:cd multi-tenancy-gitops-services/instances/ibm-sfg-b2bi-prod-setup
-
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 formulti-tenancy-gitops-services
-
-
Enable DB2 and prerequisites in the main
multi-tenancy-gitops
repository-
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
-
Optional Modify the DB2 storage classes to the environment that you use, the files are in
${GITOPS_PROFILE}/2-services/argocd/instances
. Editibm-pem-db2.yaml
andibm-pem-db2test.yaml
to switch the storageClassName if necessary.
💡 NOTE
Commit and Push the changes formulti-tenancy-gitops
and Refresh the ArgoCD applicationservices
.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.
-
-
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 usingmanaged-nfs-storage
- if you are installing on ODF, setRWX_STORAGECLASS=ocs-storagecluster-cephfs
.cd multi-tenancy-gitops-services/instances/ibm-pem ./ibm-pem-overrides-values.sh
💡 NOTE
Commit and Push the changes formulti-tenancy-gitops-services
-
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 theservices
Application in the ArgoCD console:- argocd/instances/ibm-pem.yaml
💡 NOTE
Commit and Push the changes formulti-tenancy-gitops
and sync ArgoCD applicationservices
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¶
-
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}}'
-
Log in to Partner Engagement Manager with the default credentials: username:
admin
password:password
-
Log in to Partner Engagement Manager Community Management URLs (prod and nonprod) with the default credentials: username:
superadmin
password:password