Use this script to work with Chef and the IBM Business Automation Workflow Cookbook project to deploy IBM Business Automation Workflow Enterprise automatically.
- Ubuntu 16.04 LTS
- Ubuntu 18.04 LTS
- Red Hat Enterprise Linux (RHEL) Server 6.8
- Red Hat Enterprise Linux (RHEL) Server 7.4
- DB2
- Oracle
Latest stable release:
- Chef Infra Server 13.0.17
- Chef Workstation 0.7.4
- Chef Infra Client 15.2.20
This script works with the IBM Business Automation Workflow Cookbook project to deploy IBM Business Automation Workflow Enterprise on a single host.
Single host: IBM Business Automation Workflow Enterprise - Deployment Manager and Custom Node, one cluster member.
IBM WebSphere Application Server Network Deployment V8.5.5.15
IBM Business Automation Workflow Enterprise V19.0.0.2
IBM DB2 Enterprise Server Edition V11
Install and configure IBM Business Automation Workflow Enterprise on a single host.
<Project_ROOT>/singlenode/baw_singlenode_fresh_install.properties <Project_ROOT>/singlenode/baw_singlenode_fresh_install.sh
Upgrade IBM Business Automation Workflow Enterprise with fix packs on a single host.
<Project_ROOT>/singlenode/upgrade/baw_singlenode_upgrade.properties <Project_ROOT>/singlenode/upgrade/baw_singlenode_upgrade.sh
Apply interim fix packs to IBM Business Automation Workflow Enterprise on one single host.
<Project_ROOT>/singlenode/apply_ifix/baw_singlenode_apply_ifix.properties <Project_ROOT>/singlenode/apply_ifix/baw_singlenode_apply_ifix.sh
This script works with the IBM Business Automation Workflow Cookbook project to deploy IBM Business Automation Workflow Enterprise on two hosts.
Host 1: IBM Business Automation Workflow Deployment Manager, Custom Node, one cluster member.
Host 2: IBM Business Automation Workflow Custom Node, one cluster member.
IBM WebSphere Application Server Network Deployment V8.5.5.15
IBM Business Automation Workflow Enterprise V19.0.0.2
Install and configure IBM Business Automation Workflow Enterprise on two hosts.
<Project_ROOT>/multinodes/baw_multinodes_fresh_install.properties <Project_ROOT>/multinodes/baw_multinodes_fresh_install.sh
Upgrade IBM Business Automation Workflow Enterprise on two hosts.
<Project_ROOT>/multinodes/upgrade/baw_multinodes_upgrade.properties <Project_ROOT>/multinodes/upgrade/baw_multinodes_upgrade.sh
Apply interim fix packs to IBM Business Automation Workflow Enterprise on two hosts.
<Project_ROOT>/multinodes/apply_ifix/baw_multinodes_apply_ifix.properties <Project_ROOT>/multinodes/apply_ifix/baw_multinodes_apply_ifix.sh
-
Prepare hosts for the Chef Server and Chef Workstation and set up the Chef environment.
1.1 Prepare hosts for the Chef Server and Chef Workstation.
You can install the Chef Server and the Chef Workstation on a single host or two separate hosts.
1.2 Prepare hosts (as Chef Client nodes) for Business Automation Workflow installation.
A host must have one of the supported platforms installed. The number of hosts depends on your needs and the topology you choose: one host for a Single Node Topology, two hosts for a Multinode Topology.
If a host has internet access, the Chef Clients are automatically installed. If a host doesn’t have internet access, you must manually install the Chef Clients.
1.3 Configure the /etc/hosts file on all hosts in the topology with the Chef Server, Chef Workstation, and Chef Clients information.Notes: Include the following information for each host: [IP_address] [your_host_fully_qualified_domain_name] [your_host_short_name]
For example,
tail /etc/hosts # Configuration for BAW Chef # Chef Server and Chef Workstation host 10.0.16.101 hostname1.example.org hostname1 # Multinode scenario # Chef Client host, Workflow01, DMGR node 10.0.16.102 hostname2.example.org hostname2 # Chef Client host, Workflow02, Managed node 10.0.16.103 hostname3.example.org hostname3 # Single node scenario # Chef Client host, Single node 10.0.16.104 hostname4.example.org hostname4
Notes: Replace "10.0.16.101, 10.0.16.102, 10.0.16.103, 10.0.16.104" with your hosts' IP address. Replace "hostname1, hostname2, hostname3, hostname4" with your host short names. Replace "example.org" with your domain name.
1.4 Set up the Chef environment. For information about configuring the Chef Server and Chef Workstation, refer to https://docs.chef.io/chef_overview.html.
-
On the Chef Workstation host.
2.1 Download the cookbook projects with the branch name listed in the following table and unzip them if necessary.
2.2 Find the workflow, linux, and ibm_cloud_utils cookbooks in the <Project_ROOT>/chef/cookbooks/ folder for each project and copy them to the cookbook folder configured in your Chef configuration file with "cookbook_path" attribute (see https://docs.chef.io/config_rb.html).
2.3 Download this IBM Business Automation Workflow Chef Deployment (Workflow_Chef) project to the "chef-repo" (see https://docs.chef.io/chef_repo.html) directory, from where you can run the knife commands.
Cookbook | Download | Branch |
---|---|---|
IBM Business Automation Workflow Cookbook: Cookbook Path: <Project_ROOT>/chef/cookbooks/workflow |
https://github.com/ibmbpm/Workflow_Chef/tree/master/cookbook/cookbook_ibm_workflow_multios OR <Workflow_Chef_Project_ROOT>/cookbook/cookbook_ibm_workflow_multios |
3.0 |
Linux Cookbook: Cookbook Path:<Project_ROOT>/chef/cookbooks/linux |
https://github.com/IBM-CAMHub-Open/cookbook_ibm_utils_linux | 2.0 |
Ibm_cloud_utils Cookbook: Cookbook Path: <Project_ROOT>/chef/cookbooks/ibm_cloud_utils |
https://github.com/IBM-CAMHub-Open/cookbook_ibm_cloud_utils_multios | 2.0 |
-
Make sure the "cookbook_path" in your Chef configuration file points to the cookbooks you downloaded in Step 2, then upload the required cookbooks to the Chef Server.
For example:knife cookbook upload ibm_cloud_utils linux workflow
-
Download the IBM Business Automation Workflow 18.0.0.1 installation packages from https://www.ibm.com/software/passportadvantage/pao_customer.html. Download workflow.19002.delta.repository.zip, 8.5.5-WS-WAS-FP015-part1.zip; 8.5.5-WS-WAS-FP015-part2.zip and 8.5.5-WS-WAS-FP015-part3.zip from IBM Fix Central https://www-945.ibm.com/support/fixcentral/
-
If you are installing IBM Business Automation Workflow using an Oracle database server, prepare one of the following JDBC drivers: ojdbc6.jar, ojdbc7.jar, ojdbc8.jar.
-
Prepare the software repository.
Upload the IBM Business Automation Workflow installation images to the software repository. The permission for the software repository must be at least 755 for the deployment to succeed. You must include the mandatory fix pack packages and interim fixes.
You can prepare the software repository in one of the following ways:- As a local software repository on each Chef Client
- As a remote HTTPS Server shared among the Chef Clients
Before you run the shell script, configure the root path of the software repository in the properties files.
For example, for a local software repository:ibm_sw_repo=file:///opt/swRepo
For example, for a remote HTTPS server:ibm_sw_repo=https://9.180.111.29:9999
To enable authentication on the remote HTTPS server, you must also add the user name and password properties to the properties files.
For example:
#Software Repository User Name: ibm_sw_repo_user can be empty when using local repository ibm_sw_repo_user=repouser #Software Repository User Password - Base 64 encoded: ibm_sw_repo_password can be empty when using local repository ibm_sw_repo_password=cGFzc3cwcmQ=
The following table shows the required images with their required names and paths.
Notes: The [ibm_sw_repo] is the software repository root.
Product | Version | Arch | Required path | File |
---|---|---|---|---|
IBM Business Automation Workflow (Websphere Application Server included) | 18.0.0.1 8.5.5 |
X86_64 | [ibm_sw_repo]/workflow | BAW_18_0_0_1_Linux_x86_1_of_3.tar.gz BAW_18_0_0_1_Linux_x86_2_of_3.tar.gz BAW_18_0_0_1_Linux_x86_3_of_3.tar.gz Notes: To ensure that the downloaded images are recognized by the scripts, they must be named the same as the *.tar.gz files. |
Interim fixes | X86_64 | [ibm_sw_repo]/workflow/ifixes | ||
Fix packs | X86_64 | [ibm_sw_repo]/workflow/fixpacks | The full names of the Workflow and WAS fix pack installation packages workflow.19002.delta.repository.zip 8.5.5-WS-WAS-FP015-part1.zip; 8.5.5-WS-WAS-FP015-part2.zip; 8.5.5-WS-WAS-FP015-part3.zip |
|
Database Drivers |
[ibm_sw_repo]/workflow/drivers | The JDBC drivers for your Oracle database server, such as ojdbc6.jar, ojdbc7.jar, or ojdbc8.jar. For example, the oracle jdbc driver: ojdbc7.jar |
||
-
Check that you have the following prerequisites:
Database server
For the IBM Business Automation Workflow Enterprise V19 on a single virtual machine scenario, you can install the database server before you install IBM Business Automation Workflow or as part of the product installation.
For the IBM Business Automation Workflow Enterprise V19 on multiple virtual machines scenario, you must install the database server before you install IBM Business Automation Workflow.
If you install the database server before you install IBM Business Automation Workflow, follow the instructions for your database type:
DB2 database
To create the required databases, follow the instructions in Creating Db2 databases:Database Database name Common database CMNDB Process database BPMDB Performance Data Warehouse database PDWDB Content database CPEDB Schema/Table space Schema/Table space name The schema for IBM Content Navigator (ICN) ICNSA The table space for IBM Content Navigator (ICN) WFICNTS The schema for the design object store (DOS) DOSSA The data table space for the design object store (DOS) DOSSA_DATA_TS The large object table space for the design object store (DOS) DOSSA_LOB_TS The index table space for the design object store (DOS) DOSSA_IDX_TS The schema for the target object store (TOS) TOSSA The data table space for the target object store (TOS) TOSSA_DATA_TS The large object table space for the target object store (TOS) TOSSA_LOB_TS The index table space for the target object store (TOS) TOSSA_IDX_TS Oracle database
To create the following required databases and users, follow the instructions in Running the generated Oracle database scripts:Database Schema/Database users Shared database cmnuser Cell database celluser Process Server database psuser Performance Data Warehouse database pdwuser IBM Content Navigator database icnuser Design Object Store database dosuser Target Object Stare database tosuser For the AdvancedOnly Configuration Product Type, you need only the SharedDb and CellOnlyDb schemas.Table space Table space name The table space for IBM Content Navigator (ICN) WFICNTS The data table space for the design object store (DOS) DOSSA_DATA_TS The data table space for the target object store (TOS) TOSSA_DATA_TS
Script root directory:
<Your chef-repo directory>/Workflow_Chef
Before you run a script (*.sh), you must configure the password encryptioon method you are using in the properties files (*.properties). You can use one of the following methods:
-
Fill in the Base64-encrypted passwords in the properties file. The program generates and uses the Chef vault with those passwords automatically at runtime.
-
Use an existing Chef Vault on the Chef server. You do not need fill in the passwords in the properties file but you must create a Chef vault and fill the information in the Optional: Existing Chef Vault section in the properties file manually ahead of time. Use one of the following JSON templates to create the Chef vault:
-
Template for a fresh installation:
<Workflow_Chef_ROOT>/templates/chef_vault_json/workflow_secrets_fresh_install.json
-
Template for applying an interim fix or an upgrade:
<Workflow_Chef_ROOT>/templates/chef_vault_json/workflow_secrets_applyifix_upgrade.json
Replace the JSON vault with your own passwords (do not delete any JSON keys), then use the following knife vault to create the Chef vault on the Chef Server:
-
knife vault create <workflow_chef_vault_name> <workflow_chef_vault_item> --json <the json file like workflow_secrets_fresh_install.json> --mode client knife vault delete <workflow_chef_vault_name> <workflow_chef_vault_item> --mode client
More information about Chef vault: https://docs.chef.io/chef_vault.html
After you prepare the properties file, you can run the corresponding shell script (*.sh).
Notes: The execute permission for the shell script (*.sh) must be granted in advance.
For example:
<Project_ROOT>/singlenode/baw_singlenode_fresh_install.sh
Notes: "hostname2, hostname3, hostname4, hostname5, hostname6, hostname7" are examples, they should be the host short names which you used for the deployment.
/tmp/baw_chef_shell_tmp/ ├── multinodes │ ├── hosts_hostname2_hostname3_roles │ │ ├── apply_ifix │ │ ├── fresh_install │ │ └── upgrade │ └── hosts_hostname5_hostname6_roles │ ├── apply_ifix │ ├── fresh_install │ └── upgrade └── singlenode ├── host_hostname4_roles │ ├── apply_ifix │ ├── fresh_install │ └── upgrade └── host_hostname7_roles ├── apply_ifix ├── fresh_install └── upgrade
/var/log/baw_chef_shell_log/ ├── multinodes_noihs │ ├── hosts_hostname2_hostname3 │ │ ├── apply_ifix │ │ ├── fresh_install │ │ └── upgrade │ └── hosts_hostname5_hostname6 │ ├── apply_ifix │ ├── fresh_install │ └── upgrade └── singlenode ├── host_hostname4 │ ├── apply_ifix │ ├── fresh_install │ └── upgrade └── host_hostname7 ├── apply_ifix ├── fresh_install └── upgrade
See the License folder for more information about how this project is licensed.