Red Hat Training
A Red Hat training course is available for Red Hat Process Automation Manager
Deploying a Red Hat Process Automation Manager authoring environment on Red Hat OpenShift Container Platform
Red Hat Customer Content Services
brms-docs@redhat.com
Abstract
Preface
As a system engineer, you can deploy a Red Hat Process Automation Manager authoring environment on Red Hat OpenShift Container Platform to provide a platform for development of processes and other business assets.
Prerequisites
- At least four gigabytes of memory are available in the OpenShift environment.
- The OpenShift project for the deployment is created.
-
You have logged in to the project using the OpenShift web console and using the
oc
command. If you intend to scale any of the Business Central or Business Central Monitoring pods, your OpenShift environment supports persistent volumes with ReadWriteMany mode.
ImportantReadWriteMany mode is not supported on OpenShift Online and OpenShift Dedicated.
Chapter 1. Overview of Red Hat Process Automation Manager on Red Hat OpenShift Container Platform
If you have an OpenShift environment, you can deploy Red Hat Process Automation Manager into this environment.
In this solution, components of Red Hat Process Automation Manager are deployed as separate OpenShift pods. You can scale each of the pods up and down individually, providing as few or as many containers as necessary for a particular component. You can use standard OpenShift methods to manage the pods and balance the load.
The following key components are available as pods running in OpenShift:
Process Server, also known as Execution Server or KIE Server, is the infrastructure element that runs a process or a group of processes. All process logic runs on execution servers.
A database server is normally required for Process Server. You can provide a database server in another OpenShift pod or configure an execution server on OpenShift to use any other database server. Alternatively, Process Server can use an H2 database; in this case, the pod cannot be scaled.
You can freely scale up a Process Server pod, providing as many copies, running on the same host or different hosts, as necessary. As you scale a pod up or down, all its copies run the same processes and use the same database server. OpenShift provides load balancing and a request can be handled by any of the pods.
To run a different set of processes, deploy a separate Process Server pod, which can also be scaled up or down. You can have as many separate replicated Process Server pods as necessary.
Business Central is a web-based interactive environment for authoring processes. It also provides a management and monitoring console. You can use Business Central to develop processes, deploy processes to Process Servers, and monitor the execution.
Business Central is a centralized application. However, you can configure it for high availability, where multiple pods run and share the same data. (In the current version, the high-availability functionality is a technology preview).
Business Central includes a Git repository that holds the source for the processes that you develop on it. It also includes a built-in Maven repository. Depending on configuration, Business Central can place the compiled processes (KJAR files) into the built-in Maven repository or (if configured) into an external Maven repository.
- Business Central Monitoring is a web-based management and monitoring console. It can manage deployment of processes to Process Servers and provide monitoring information, but does not include authoring capabilities. You can use this component to manage staging and production environments.
- Smart Router is an optional layer between Process Servers and other components that interact with them. It is required if you want Business Central or Business Central Monitoring to interact with several different Process Servers. Also, when your environment includes many processes running on different Process Servers, Smart Router provides a single endpoint to all client applications. A client application can make a REST API call requiring any process. Smart Router automatically determines which Process Server must be called for any particular request.
You can arrange these and other components into various environment configurations within OpenShift. You can use the templates provided with Red Hat Process Automation Manager to deploy the most common combinations.
The following environment types are typical:
- Authoring: An environment for creating and modifying processes using Business Central. It consists of pods that provide Business Central for the authoring work and a Process Server for test execution of the processes. For instructions about deploying this environment, see Deploying a Red Hat Process Automation Manager authoring environment on Red Hat OpenShift Container Platform.
- Managed deployment: An environment for running existing processes for staging and production purposes. This environment includes several groups of Process Server pods; you can deploy and undeploy processes on every such group and also scale the group up or down as necessary. Use Business Central Monitoring to deploy, run, and stop the processes and to monitor their execution. For instructions about deploying this environment, see Deploying a Red Hat Process Automation Manager managed server environment on Red Hat OpenShift Container Platform.
- Deployment with immutable servers: An alternate environment for running existing processes for staging and production purposes. In this environment, when you deploy a Process Server pod, it builds an image that loads and starts a process or group of processes. You cannot stop any process on the pod or add any new process to the pod. If you want to use another version of a process or modify the configuration in any other way, you deploy a new server image and displace the old one. In this system, you can use typical container-based integration workflows and do not need to use any other tools to manage the pods. Optionally, you can use Business Central Monitoring to monitor the performance of the environment and to stop and restart some of the process instances, but not to deploy additional processes to any Process Server or undeploy any existing ones (you can not add or remove containers). For instructions about deploying this environment, see Deploying a Red Hat Process Automation Manager immutable server environment on Red Hat OpenShift Container Platform.
To deploy a Red Hat Process Automation Manager environment on OpenShift, you can use the templates that are provided with Red Hat Process Automation Manager. You can modify the templates to ensure that your environment suits your needs.
Chapter 2. Preparing to deploy Red Hat Process Automation Manager in your OpenShift environment
Before deploying Red Hat Process Automation Manager in your OpenShift environment, you need to complete several preparatory tasks. You do not need to repeat these tasks if you want to deploy additional images, for example, for new versions of processes or for other processes.
2.1. Ensuring the availability of image streams
You must ensure that the image streams that are required for the deployment are available in your OpenShift environment. Some versions of the OpenShift environment include the necessary image streams. You must check if they are available. If they are not available, you must install the rhpam70-image-streams.yaml
file.
Procedure
Run the following commands:
$ oc get imagestreamtag -n openshift | grep rhpam70-businesscentral $ oc get imagestreamtag -n openshift | grep rhpam70-kieserver
If the outputs of both commands are not empty, the required image streams are available and no further action is required.
If the output of one or both of the commands is empty, download the
rhpam-7.0.0-openshift-templates.zip
product deliverable file from the Software Downloads page for Red Hat Process Automation Manager 7.0. Extract therhpam70-image-streams.yaml
file from it. Complete one of the following actions:Run the following command:
$ oc create -f rhpam70-image-streams.yaml
- Using the OpenShift Web UI, select Add to Project → Import YAML / JSON, then choose the file or paste its contents.
2.2. Creating the secrets for Process Server
OpenShift uses objects called Secrets
to hold sensitive information, such as passwords or keystores. See the Secrets chapter in the OpenShift documentation for more information.
You must create an SSL certificate for Process Server and provide it to your OpenShift environment as a secret.
Procedure
Generate an SSL keystore with a private and public key for SSL encryption for Process Server. In a production environment, generate a valid signed certificate that matches the expected URL of the Process Server. Save the keystore in a file named
keystore.jks
. Record the name of the certificate and the password of the keystore file.See Generate a SSL Encryption Key and Certificate for more information on how to create a keystore with self-signed or purchased SSL certificates.
Use the
oc
command to generate a secret namedkieserver-app-secret
from the new keystore file:$ oc create secret generic kieserver-app-secret --from-file=keystore.jks
2.3. Creating the secrets for Business Central
If you are planning to deploy Business Central or Business Central Monitoring in your OpenShift environment, you must create an SSL certificate for Business Central and provide it to your OpenShift environment as a secret. Do not use the same certificate and keystore for Business Central and for Process Server.
Procedure
Generate an SSL keystore with a private and public key for SSL encryption for Business Central. In a production environment, generate a valid signed certificate that matches the expected URL of the Business Central. Save the keystore in a file named
keystore.jks
. Record the name of the certificate and the password of the keystore file.See Generate a SSL Encryption Key and Certificate for more information on how to create a keystore with self-signed or purchased SSL certificates.
Use the
oc
command to generate a secret namedbusinesscentral-app-secret
from the new keystore file:$ oc create secret generic businesscentral-app-secret --from-file=keystore.jks
2.4. Changing GlusterFS configuration
Check whether your OpenShift environment uses GlusterFS to provide permanent storage volumes. If it uses GlusterFS, to ensure optimal performance, tune your GlusterFS storage by changing the storage class configuration.
Procedure
To check whether your environment uses GlusterFS, run the following command:
oc get storageclass
In the results, check whether the
(default)
marker is on the storage class that listsglusterfs
. For example, in the following output the default storage class isgluster-container
, which does listglusterfs
:NAME PROVISIONER AGE gluster-block gluster.org/glusterblock 8d gluster-container (default) kubernetes.io/glusterfs 8d
If the result has a default storage class that does not list
glusterfs
or if the result is empty, you do not need to make any changes. In this case, skip the rest of this procedure.To save the configuration of the default storage class into a YAML file, run the following command:
oc get storageclass <class_name> -o yaml >storage_config.yaml
Where
class-name
is the name of the default storage class. For example:oc get storageclass gluster-container -o yaml >storage_config.yaml
Edit the
storage_config.yaml
file:Remove the lines with the following keys:
-
creationTimestamp
-
resourceVersion
-
selfLink
-
uid
-
On the line with the
volumeoptions
key, add the following two options:features.cache-invalidation on, performance.nl-cache on
. For example:volumeoptions: client.ssl off, server.ssl off, features.cache-invalidation on, performance.nl-cache on
To remove the existing default storage class, run the following command:
oc delete storageclass <class_name>
Where
class-name
is the name of the default storage class. For example:oc delete storageclass gluster-container
To re-create the storage class using the new configuration, run the following command:
oc create -f storage_config.yaml
Chapter 3. Authoring environment
You can deploy an environment for creating and modifying processes using Business Central. It consists of Business Central for the authoring work and Process Server for test execution of the processes.
Depending on your needs, you can deploy either a single authoring environment or a high-availability (HA) authoring environment.
A single authoring environment contains two pods. One of the pods runs Business Central, the other runs Process Server. The Process Server includes an embedded in-memory H2 database engine. This type of environment uses the least possible amount of resources. However, because of the in-memory database, restarting the Process Server pod leads to loss of all process information.
An HA authoring environment contains several pods. Both Business Central and Process Server are provided in scalable pods that can run in parallel and share persistent storage. The database is provided by a separate high-availability service. Use a high-availability authoring environment to provide maximum reliability and responsiveness, especially if several users are involved in authoring at the same time.
In the current version, the high-availability functionality is a technology preview.
3.1. Deploying a single authoring environment
To deploy a single authoring environment, use the rhpam-70-authoring.yaml
template file. You can extract this file from the rhpam-7.0.0-openshift-templates.zip
product deliverable file. You can download the file from the Software Downloads page for Red Hat Process Automation Manager 7.0.
If you want to modify the environment defined by the template file, see Section 3.3, “Modifying the template for the single authoring environment”.
Procedure
Use one of the following methods to deploy the template:
-
In the OpenShift Web UI, select Add to Project → Import YAML / JSON and then select or paste the
rhpam70-authoring.yaml
file. In the Add Template window, ensure Process the template is selected and click Continue. To use the OpenShift command line console, prepare the following command line:
oc new-app -f <template-path>/rhpam70-authoring.yaml -p BUSINESS_CENTRAL_HTTPS_SECRET=businesscentral-app-secret -p KIE_SERVER_HTTPS_SECRET=kieserver-app-secret
In this command line:
-
Replace
<template-path>
with the path to the downloaded template file. -
Use as many
-p PARAMETER=value
pairs as needed to set the required parameters. You can view the template file to see descriptions for all parameters.
-
Replace
-
In the OpenShift Web UI, select Add to Project → Import YAML / JSON and then select or paste the
Set the following parameters as necessary:
-
Business Central Server Keystore Secret Name (
BUSINESS_CENTRAL_HTTPS_SECRET
): The name of the secret for Business Central, as created in Section 2.3, “Creating the secrets for Business Central”. -
KIE Server Keystore Secret Name (
KIE_SERVER_HTTPS_SECRET
): The name of the secret for Process Server, as created in Section 2.2, “Creating the secrets for Process Server”. -
Application Name (
APPLICATION_NAME
): The name of the OpenShift application. It is used in the default URLs for Business Central and Process Server. OpenShift also uses the application name to create a separate set of deployment configurations, services, routes, labels, and artifacts. You can deploy several applications using the same template into the same project, as long as you use different application names. -
Business Central Server Certificate Name (
BUSINESS_CENTRAL_HTTPS_NAME
): The name of the certificate in the keystore that you created in Section 2.3, “Creating the secrets for Business Central”. -
Business Central Server Keystore Password (
BUSINESS_CENTRAL_HTTPS_PASSWORD
): The password for the keystore that you created in Section 2.3, “Creating the secrets for Business Central”. -
KIE Server Certificate Name (
KIE_SERVER_HTTPS_NAME
): The name of the certificate in the keystore that you created in Section 2.2, “Creating the secrets for Process Server”. -
KIE Server Keystore Password (
KIE_SERVER_HTTPS_PASSWORD
): The password for the keystore that you created in Section 2.2, “Creating the secrets for Process Server”. -
KIE Server ID (
KIE_SERVER_ID
): The name of the server template on the Business Central that the Process Server is to join. Set this parameter to any value. If you do not set it and then the Process Server pod is restarted or scaled, each new instance of the server might join a new template. ImageStream Namespace (
IMAGE_STREAM_NAMESPACE
): The namespace where the image streams are available. If the image streams were already available in your OpenShift environment (see Section 2.1, “Ensuring the availability of image streams”), the namespace isopenshift
. If you have installed the image streams file, the namespace is the name of the OpenShift project.You can also set the following user names and passwords:
-
KIE Admin User (
KIE_ADMIN_USER
) and KIE Admin Password (KIE_ADMIN_PWD
): The user name and password for the administrative user in Business Central. KIE Server User (
KIE_SERVER_USER
) and KIE Server Password (KIE_SERVER_PWD
): The user name and password that a client application must use to connect to the Process Server.If you want to place the built KJAR files into an external Maven repository, set the following parameters:
-
Maven repository URL (
MAVEN_REPO_URL
): The URL for the Maven repository. -
Maven repository username (
MAVEN_REPO_USERNAME
): The username for the Maven repository. -
Maven repository password (
MAVEN_REPO_PASSWORD
): The username for the Maven repository.
-
Business Central Server Keystore Secret Name (
If you modified the template to use an external database server for the Process Server, set the following parameters:
KIE Server External Database Driver (
KIE_SERVER_EXTERNALDB_DRIVER
): The driver for the server, depending on the server type:- mysql
- postgresql
- mariadb
- mssql
- db2
- oracle
- sybase
-
KIE Server External Database User (
KIE_SERVER_EXTERNALDB_USER
) and KIE Server External Database Password (KIE_SERVER_EXTERNALDB_PWD
): The user name and password for the external database server. -
KIE Server External Database URL (
KIE_SERVER_EXTERNALDB_URL
): The JDBC URL for the external database server. KIE Server External Database Dialect (
KIE_SERVER_EXTERNALDB_DIALECT
): The Hibernate dialect for the server, depending on the server type:-
org.hibernate.dialect.MySQL5Dialect
(used for MySQL and MariaDB) -
org.hibernate.dialect.PostgreSQLDialect
-
org.hibernate.dialect.SQLServer2012Dialect
(used for MS SQL) -
org.hibernate.dialect.DB2Dialect
-
org.hibernate.dialect.Oracle12cDialect
-
org.hibernate.dialect.SybaseASE15Dialect
-
-
KIE Server External Database Host (
KIE_SERVER_EXTERNALDB_HOST
): The host name of the external database server. -
KIE Server External Database name (
KIE_SERVER_EXTERNALDB_DB
): The database name to use on the external database server.
If you created a custom image for using an external database server other than MySQL or PostgreSQL, as described in Section 3.5, “Building a custom Process Server image for an external database”, set the KIE Server Image Stream Name (
KIE_SERVER_IMAGE_STREAM_NAME
) parameter to the following value:-
For Microsoft SQL Server,
rhpam70-kieserver-mssql-openshift
-
For MariaDB,
rhpam70-kieserver-mariadb-openshift
-
For IBM DB2,
rhpam70-kieserver-db2-openshift
-
For Oracle Database,
rhpam70-kieserver-oracle-openshift
-
For Sybase,
rhpam70-kieserver-sybase-openshift
-
For Microsoft SQL Server,
Complete the creation of the environment, depending on the method that you are using:
- In the OpenShift Web UI, click Create.
- Complete and run the command line.
3.2. Deploying a high-availability authoring environment
To deploy a high-availability authoring environment, use the rhpam-70-authoring-ha.yaml
template file. You can extract this file from the rhpam-7.0.0-openshift-templates.zip
product deliverable file. You can download the file from the Software Downloads page for Red Hat Process Automation Manager 7.0.
If you want to modify the environment defined by the template file, see Section 3.4, “Modifying the template for the High Availability authoring environment”.
In the current version, the high-availability functionality is a technology preview.
Procedure
Use one of the following methods to deploy the template:
-
In the OpenShift Web UI, select Add to Project → Import YAML / JSON and then select or paste the
rhpam70-authoring-ha.yaml
file. In the Add Template window, ensure Process the template is selected and click Continue. To use the OpenShift command line console, prepare the following command line:
oc new-app -f <template-path>/rhpam70-authoring-ha.yaml -p BUSINESS_CENTRAL_HTTPS_SECRET=businesscentral-app-secret -p KIE_SERVER_HTTPS_SECRET=kieserver-app-secret
In this command line:
-
Replace
<template-path>
with the path to the downloaded template file. -
Use as many
-p PARAMETER=value
pairs as needed to set the required parameters. You can view the template file to see descriptions for all parameters.
-
Replace
-
In the OpenShift Web UI, select Add to Project → Import YAML / JSON and then select or paste the
Set the following parameters as necessary:
-
Business Central Server Keystore Secret Name (
BUSINESS_CENTRAL_HTTPS_SECRET
): The name of the secret for Business Central, as created in Section 2.3, “Creating the secrets for Business Central”. -
KIE Server Keystore Secret Name (
KIE_SERVER_HTTPS_SECRET
): The name of the secret for Process Server, as created in Section 2.2, “Creating the secrets for Process Server”. -
Application Name (
APPLICATION_NAME
): The name of the OpenShift application. It is used in the default URLs for Business Central and Process Server. OpenShift also uses the application name to create a separate set of deployment configurations, services, routes, labels, and artifacts. You can deploy several applications using the same template into the same project, as long as you use different application names. -
Business Central Server Certificate Name (
BUSINESS_CENTRAL_HTTPS_NAME
): The name of the certificate in the keystore that you created in Section 2.3, “Creating the secrets for Business Central”. -
Business Central Server Keystore Password (
BUSINESS_CENTRAL_HTTPS_PASSWORD
): The password for the keystore that you created in Section 2.3, “Creating the secrets for Business Central”. -
KIE Server Certificate Name (
KIE_SERVER_HTTPS_NAME
): The name of the certificate in the keystore that you created in Section 2.2, “Creating the secrets for Process Server”. -
KIE Server Keystore Password (
KIE_SERVER_HTTPS_PASSWORD
): The password for the keystore that you created in Section 2.2, “Creating the secrets for Process Server”. -
KIE Server ID (
KIE_SERVER_ID
): The name of the server template on the Business Central that the Process Server is to join. Set this parameter to any value. If you do not set it and then the Process Server pod is restarted or scaled, each new instance of the server might join a new template. ImageStream Namespace (
IMAGE_STREAM_NAMESPACE
): The namespace where the image streams are available. If the image streams were already available in your OpenShift environment (see Section 2.1, “Ensuring the availability of image streams”), the namespace isopenshift
. If you have installed the image streams file, the namespace is the name of the OpenShift project.You can also set the following user names and passwords:
-
KIE Admin User (
KIE_ADMIN_USER
) and KIE Admin Password (KIE_ADMIN_PWD
): The user name and password for the administrative user in Business Central. KIE Server User (
KIE_SERVER_USER
) and KIE Server Password (KIE_SERVER_PWD
): The user name and password that a client application must use to connect to the Process Server.If you want to place the built KJAR files into an external Maven repository, set the following parameters:
-
Maven repository URL (
MAVEN_REPO_URL
): The URL for the Maven repository. -
Maven repository username (
MAVEN_REPO_USERNAME
): The username for the Maven repository. -
Maven repository password (
MAVEN_REPO_PASSWORD
): The username for the Maven repository.
-
Business Central Server Keystore Secret Name (
If you modified the template to use an external database server for the Process Server, set the following parameters:
KIE Server External Database Driver (
KIE_SERVER_EXTERNALDB_DRIVER
): The driver for the server, depending on the server type:- mysql
- postgresql
- mariadb
- mssql
- db2
- oracle
- sybase
-
KIE Server External Database User (
KIE_SERVER_EXTERNALDB_USER
) and KIE Server External Database Password (KIE_SERVER_EXTERNALDB_PWD
): The user name and password for the external database server. -
KIE Server External Database URL (
KIE_SERVER_EXTERNALDB_URL
): The JDBC URL for the external database server. KIE Server External Database Dialect (
KIE_SERVER_EXTERNALDB_DIALECT
): The Hibernate dialect for the server, depending on the server type:-
org.hibernate.dialect.MySQL5Dialect
(used for MySQL and MariaDB) -
org.hibernate.dialect.PostgreSQLDialect
-
org.hibernate.dialect.SQLServer2012Dialect
(used for MS SQL) -
org.hibernate.dialect.DB2Dialect
-
org.hibernate.dialect.Oracle12cDialect
-
org.hibernate.dialect.SybaseASE15Dialect
-
-
KIE Server External Database Host (
KIE_SERVER_EXTERNALDB_HOST
): The host name of the external database server. -
KIE Server External Database name (
KIE_SERVER_EXTERNALDB_DB
): The database name to use on the external database server.
If you created a custom image for using an external database server other than MySQL or PostgreSQL, as described in Section 3.5, “Building a custom Process Server image for an external database”, set the KIE Server Image Stream Name (
KIE_SERVER_IMAGE_STREAM_NAME
) parameter to the following value:-
For Microsoft SQL Server,
rhpam70-kieserver-mssql-openshift
-
For MariaDB,
rhpam70-kieserver-mariadb-openshift
-
For IBM DB2,
rhpam70-kieserver-db2-openshift
-
For Oracle Database,
rhpam70-kieserver-oracle-openshift
-
For Sybase,
rhpam70-kieserver-sybase-openshift
-
For Microsoft SQL Server,
Complete the creation of the environment, depending on the method that you are using:
- In the OpenShift Web UI, click Create.
- Complete and run the command line.
3.3. Modifying the template for the single authoring environment
By default, the single authoring template uses the H2 database with permanent storage. If you prefer to create a MySQL or PostgreSQL pod or to use an external database server (outside the OpenShift project), you need to modify the template before deploying the environment.
An OpenShift template defines a set of objects that can be created by OpenShift. To change an environment configuration, you need to modify, add, or delete these objects. To simplify this task, comments are provided in the Red Hat Process Automation Manager templates.
Some comments mark blocks within the template, staring with BEGIN
and ending with END
. For example, the following block is named Sample block
:
## Sample block BEGIN sample line 1 sample line 2 sample line 3 ## Sample block END
For some changes, you might need to replace a block in one template file with a block from another template file provided with Red Hat Process Automation Manager. In this case, delete the block, then paste the new block in its exact location.
Procedure
Edit the rhpam70-authoring.yaml
template file to make any of the following changes as necessary.
If you want to use MySQL instead of the H2 database, you need to replace several blocks of the file, marked with comments from
BEGIN
toEND
, with blocks from therhpam70-kieserver-mysql.yaml
file that are also marked with comments. You also need to remove several other blocks and to add blocks in designated locations:-
Replace the block named
H2 database parameters
with the block namedMySQL database parameters
. (Take this block and all subsequent replacement blocks from therhpam70-kieserver-mysql.yaml
file.) -
Replace the block named
H2 driver settings
with the block namedMySQL driver settings
-
Replace the block named
H2 persistent volume claim
with the block namedMySQL persistent volume claim
. -
Remove the blocks named
H2 volume mount
andH2 volume settings
-
Under the comment
Place to add database service
, add the block namedMySQL service
-
Under the comment
Place to add database deployment config
, add the block namedMySQL deployment config
-
Replace the block named
If you want to use PostgreSQL instead of the H2 database, you need to replace several blocks of the file, marked with comments from
BEGIN
toEND
, with blocks from therhpam70-kieserver-postgresql.yaml
file that are also marked with comments. You also need to remove several other blocks and to add blocks in designated locations:-
Replace the block named
H2 database parameters
with the block namedPostgreSQL database parameters
. (Take this block and all subsequent replacement blocks from therhpam70-kieserver-postgresql.yaml
file.) -
Replace the block named
H2 driver settings
with the block namedPostgreSQL driver settings
-
Replace the block named
H2 persistent volume claim
with the block namedPostgreSQL persistent volume claim
. -
Remove the blocks named
H2 volume mount
andH2 volume settings
-
Under the comment
Place to add database service
, add the block namedPostgreSQL service
-
Under the comment
Place to add database deployment config
, add the block namedPostgreSQL deployment config
-
Replace the block named
If you want to use an external database server, replace several blocks of the file, marked with comments from
BEGIN
toEND
, with blocks from therhpam70-kieserver-externaldb.yaml
file, and also remove some blocks:-
Replace the block named
H2 database parameters
with the block namedExternal database parameters
. (Take this block and all subsequent replacement blocks from therhpam70-kieserver-externaldb.yaml
file.) -
Replace the block named
H2 driver settings
with the block namedExternal database driver settings
. Remove the following blocks of the file, marked with comments from
BEGIN
toEND
:-
H2 persistent volume claim
-
H2 volume mount
-
H2 volume settings
-
-
Replace the block named
The standard Process Server image includes drivers for MySQL and PostgreSQL external database servers. If you want to use another database server, you must build a custom Process Server image. For instructions, see Section 3.5, “Building a custom Process Server image for an external database”.
3.4. Modifying the template for the High Availability authoring environment
By default, the high-availability authoring template creates a MySQL pod to provide the database server for the Process Server. If you prefer to use PostgreSQL or to use an external server (outside the OpenShift project), you need to modify the template before deploying the environment.
You can also modify the High Availability authoring template to change the number of replicas initially created for Business Central.
An OpenShift template defines a set of objects that can be created by OpenShift. To change an environment configuration, you need to modify, add, or delete these objects. To simplify this task, comments are provided in the Red Hat Process Automation Manager templates.
Some comments mark blocks within the template, staring with BEGIN
and ending with END
. For example, the following block is named Sample block
:
## Sample block BEGIN sample line 1 sample line 2 sample line 3 ## Sample block END
For some changes, you might need to replace a block in one template file with a block from another template file provided with Red Hat Process Automation Manager. In this case, delete the block, then paste the new block in its exact location.
Procedure
Edit the rhpam70-authoring-ha.yaml
template file to make any of the following changes as necessary.
If you want to use PostgreSQL instead of MySQL, replace several blocks of the file, marked with comments from
BEGIN
toEND
, with blocks from therhpam70-kieserver-postgresql.yaml
file:-
Replace the block named
MySQL database parameters
with the block namedPosgreSQL database parameters
. (Take this block and all subsequent replacement blocks from therhpam70-kieserver-postgresql.yaml
file.) -
Replace the block named
MySQL service
with the block namedPosgrreSQL service
. -
Replace the block named
MySQL driver settings
with the block namedPosgreSQL driver settings
. -
Replace the block named
MySQL deployment config
with the block namedPosgreSQL deployment config
. -
Replace the block named
MySQL persistent volume claim
with the block namedPosgreSQL persistent volume claim
.
-
Replace the block named
If you want to use an external database server, replace several blocks of the file, marked with comments from
BEGIN
toEND
, with blocks from therhpam70-kieserver-externaldb.yaml
file, and also remove some blocks:-
Replace the block named
MySQL database parameters
with the block namedExternal database parameters
. (Take this block and all subsequent replacement blocks from therhpam70-kieserver-externaldb.yaml
file.) -
Replace the block named
MySQL driver settings
with the block namedExternal database driver settings
. Remove the following blocks of the file, marked with comments from
BEGIN
toEND
:-
MySQL service
-
MySQL deployment config
-
MySQL persistent volume claim
-
-
Replace the block named
The standard Process Server image includes drivers for MySQL and PostgreSQL external database servers. If you want to use another database server, you must build a custom Process Server image. For instructions, see Section 3.5, “Building a custom Process Server image for an external database”.
-
If you want to change the number of replicas initially created for Business Central, on the line below the comment
## Replicas for Business Central
, change the number of replicas to the desired value.
3.5. Building a custom Process Server image for an external database
If you want to use an external database server for a Process Server and this server is neither MySQL nor PostgreSQL, you must build a custom Process Server image with drivers for this server before deploying your environment.
You can use this build procedure to provide drivers for the following database servers:
- Microsoft SQL Server
- MariaDB
- IBM DB2
- Oracle Database
- Sybase
For the tested versions of the database servers, see Red Hat Process Automation Manager 7 Supported Configurations.
The build procedure creates a custom image that extends the existing Process Server image. It pushes this custom image into a new ImageStream
in the openshift
namespace with the same version tag as the original image.
Prerequisites
-
You have logged on to your project in the OpenShift environment using the
oc
command as a user with thecluster-admin
role. - For IBM DB2, Oracle Database, or Sybase, you have downloaded the JDBC driver from the database server vendor.
Procedure
For IBM DB2, Oracle Database, or Sybase, provide the JDBC driver JAR in a local directory or on an HTTP server. Within the local directory or HTTP server, the following paths are expected:
-
For IBM DB2,
<local_path_or_url>/com/ibm/db2/jcc/db2jcc4/10.5/db2jcc4-10.5.jar
-
For Oracle Database,
<local_path_or_url>/com/oracle/ojdbc7/12.1.0.1/ojdbc7-12.1.0.1.jar
For Sybase,
<local_path_or_url>/com/sysbase/jconn4/16.0_PL05/jconn4-16.0_PL05.jar
Where
<local_path_or_url>
is the path to the local directory or the URL for the HTTP server where the driver is provided.
-
For IBM DB2,
-
To install the source code for the custom build, download the
rhpam-7.0.0-openshift-templates.zip
product deliverable file from the Software Downloads page for Red Hat Process Automation Manager 7.0. Unzip the file and, using the command line, change to thetemplates/contrib/jdbc
directory of the unzipped file. Change to the following subdirectory:
-
For Microsoft SQL Server,
mssql-driver-image
-
For MariaDB,
mariadb-driver-image
-
For IBM DB2,
db2-driver-image
-
For Oracle Database,
oracle-driver-image
-
For Sybase,
sybase-driver-image
-
For Microsoft SQL Server,
Run the following command:
- For Microsoft SQL Server or MariaDB:
../build.sh
- For IBM DB2, Oracle Database, or Sybase:
../build.sh --artifact-repo=<local_path_or_url>
Where
<local_path_or_url>
is the path to the local directory or the URL for the HTTP server where the driver is provided. For example:../build.sh --artifact-repo=/home/builder/drivers ../build.sh --artifact-repo=http://nexus.example.com/nexus/content/groups/public
If you want to configure your OpenShift docker registry address in the process, add also the
--registry=<registry_name.domain_name:port>
parameter to your build command.Examples:
../build.sh --registry=docker-registry.custom-domain:80 ../build.sh --artifact-repo=/home/builder/drivers --registry=docker-registry.custom-domain:80
Appendix A. Versioning information
Documentation last updated on: Monday, October 1, 2018.