Replicating configurations and data from a source environment to a target environment
The following scenarios describe the use case for replicating environment configurations and data:
Use the database refresh pipeline to replicate the following Foundation data, application data, and application configurations from a source environment to a target environment:
- BMC Helix Innovation Suite configurations
- BMC Helix ITSM: Smart Reporting configurations
- BMC Helix Single Sign-On OAuth configurations
- BMC Digital Workplace Catalog connectors configurations
- BMC Digital Workplace configurations
- Cognitive and BMC Helix Chatbot configurations
- BMC Helix ITSM users
- Web services filters
The following image shows the replication process:

Before you begin
- Make sure that the source and target environments are using the same BMC Helix Service Management version.
- Make sure that you can access the source and target databases from the Jenkins server from where you plan to run the database refresh pipeline. Without this access, the pipeline will fail.
Verify that you have access to both source and target environments. Make sure that the PostgreSQL client version on your BMC Deployment Engine where you plan to run the pipeline and the target database PostgreSQL client version are the compatible.
- Make sure that your BMC Helix Service Management target environment is licensed and that the number of licenses on the target environment and source environment are the same.
- Make sure that you copy the source and target configuration repositories.
- (For non-containerized BMC Deployment Engine) Make sure that you add the database packages.
Install the following packages: To ensure that the autorecon utility runs successfully, install the gtk3 package by running the following command:
yum install -y gtk3If you are using a Microsoft SQL Server database, install the following packages so that the HELIX_DB_REFRESH runs successfully:
sudo yum install unixODBC
sudo yum install python3-pyodbcIf you are using a PostgreSQL database, install the following packages so that the HELIX_DB_REFRESH runs successfully:
sudo yum install postgresql-client
sudo yum install python3-psycopg2
To copy the source and target configuration repositories
For non-containerized BMC Deployment Engine, perform the following steps:
- In the source environment, copy the CUSTOMER_CONFIGS repository located in the directory that contains all the Git repositories in BMC Deployment Engine. Rename it to SOURCE_CUSTOMER_CONFIGS.
- In the target environment, copy the CUSTOMER_CONFIGS repository located in the directory that contains all the Git repositories in BMC Deployment Engine. Rename it to TARGET_CUSTOMER_CONFIGS.
- Copy the SOURCE_CUSTOMER_CONFIGS and TARGET_CUSTOMER_CONFIGS repositories to the environment where you want to run the database refresh pipeline.
For example, to run the database refresh pipeline in the target environment, make sure that the following repositories are present in the git repository of the target environment:- SOURCE_CUSTOMER_CONFIGS
- TARGET_CUSTOMER_CONFIGS
- DB_REFRESH_REPO
For containerized BMC Deployment Engine, perform the following steps:
To access the source and target environment configuration files, use the following URL:
https://<Gitea-URL>/ciadmin/onprem-remedyserver-config/src/branch/master/customer/<CUSTOMER-SERVICE>/<CUSTOMER-SERVICE>-<ENVIRONMENT>.shTo access the Smart Reporting input file, use the following URL:
https://<Gitea-URL>/ciadmin/onprem-remedyserver-config/src/branch/master/customer/<CUSTOMER-SERVICE>/sr-input-file.shDownload the files on the source environment.
Upload the files to target environment by using the Add File option in the target environment.
Do not use the existing file name while uploading the files.
The target environment must include two environment files for BMC Helix Innovation Suite and two sr-input-file.sh files for Smart Reporting, which are available if you are using Smart Reporting.
(For non-containerized BMC Deployment Engine) To add database packages
Add the the following database packages to BMC Deployment Engine based on your database and operating system:
| Database | Packages | Rocky 8 | RHEL 8 | Rocky 9 | RHEL 9 |
| Microsoft SQL Server |
|
|
|
|
|
| Oracle |
|
|
|
|
|
| PostgreSQL |
|
|
|
|
|
Database refresh pipeline modes and parameters
Use the database refresh pipeline, HELIX_DB_REFRESH, to replicate configurations from one environment to another.
The database refresh pipeline, HELIX_DB_REFRESH, provides the following modes:
- BACKUP_CONFIGURATION—In this mode, the HELIX_DB_REFRESH pipeline backs up the configurations of the target environment.
- RESTORE_CONFIGURATION—In this mode, the HELIX_DB_REFRESH pipeline restores configurations from one environment to another.
The database refresh pipeline, HELIX_DB_REFRESH, contains the following input parameters:
(For non-containerized BMC Deployment Engine)
Parameter | Description |
|---|---|
RERUN | Select this check box to rerun the pipeline from where it failed in the last run. |
BACKUP_CONFIGURATION | Select this check box to back up configurations in the target environment. |
RESTORE_CONFIGURATION | Select this check box to restore source database backup configurations to the target environment. |
LOCATION | Specify the temporary working directory location of the pipeline. Example: /home/git/workspace |
REPO_PATH | Specify the repository path name where the SOURCE_CUSOTMER_CONFIGS, TARGET_CUSTOMER_CONFIGS, and DB_REFRESH_REPO repositories are located. Example: ssh://<Jenkins server host name>/home/git/git_repo |
SOURCE_CUSTOMER_NAME | Specify the CUSTOMER_NAME parameter value that you provided in the HELIX_ONPREM_DEPLOYMENT Jenkins pipeline during the installation of BMC Helix Service Management on the source environment. |
SOURCE_CUSTOMER_SERVICE | Specify the CUSTOMER_SERVICE parameter value that you provided in the HELIX_ONPREM_DEPLOYMENT Jenkins pipeline during the installation of BMC Helix Service Management on the source environment. |
SOURCE_ENVIRONMENT | Specify the ENVIRONMENT parameter value that you provided in the HELIX_ONPREM_DEPLOYMENT Jenkins pipeline during the installation of BMC Helix Service Managementthe source environment. The HELIX_DB_REFRESH pipeline uses the SOURCE_CUSTOMER_NAME, SOURCE_CUSTOMER_SERVICE, and SOURCE_ENVIRONMENT parameters to identify the Deployment Input Configuration file location in the source environment. |
TARGET_CUSTOMER_NAME | Specify the CUSTOMER_NAME parameter value that you provided in the HELIX_ONPREM_DEPLOYMENT Jenkins pipeline during the installation of BMC Helix Service Management on the target environment. |
TARGET_CUSTOMER_SERVICE | Specify the CUSTOMER_SERVICE parameter value that you provided in the HELIX_ONPREM_DEPLOYMENT Jenkins pipeline during the installation of BMC Helix Service Management on the target environment. |
TARGET_ENVIRONMENT | Specify the ENVIRONMENT parameter value that you provided in the HELIX_ONPREM_DEPLOYMENT Jenkins pipeline during the installation of BMC Helix Service Management on the target environment. The HELIX_DB_REFRESH pipeline uses the TARGET_CUSTOMER_NAME, TARGET_CUSTOMER_SERVICE, and TARGET_ENVIRONMENT parameters to identify Deployment Input Configuration file location in the target environment. |
TARGET_EXT_IP | Specify the PLATFORM_ADMIN_PLATFORM_EXTERNAL_IPS parameter value that you provided in the HELIX_ONPREM_DEPLOYMENT pipeline during the installation of BMC Helix Service Management on the target environment. |
IS_DB | Select this check box to back up and restore BMC Helix Service Management configurations. |
SMART_REPORTING | Select this check box to back up and restore BMC Helix ITSM: Smart Reporting configurations. |
(For containerized BMC Deployment Engine)
Parameter | Description |
|---|---|
RERUN | Select this check box to rerun the pipeline from where it failed in the last run. |
BACKUP_CONFIGURATION | Select this check box to back up configurations in the target environment. |
RESTORE_CONFIGURATION | Select this check box to restore source database backup configurations to the target environment. |
LOCATION | Specify the temporary working directory location of the pipeline. Example: /home/git/workspace Important: Make sure that this location is a writable location. |
REPO_PATH | Specify the repository path name where the DB_REFRESH_REPO repository is located. Example: ssh://<Jenkins server host name>/home/git/git_repo |
| TARGET_SERVICE | Specify the external IP or service name platform-admin-ext.<Innovation Suite namepsace> |
| SOURCE_ENVIRONMENT_FILE | Specify the source environment file location. You can copy the path from Gitea. |
| SOURCE_SR_INPUT_FILE | Specify the Smart Reporting source environment file location. You can copy the path from Gitea. |
| TARGET_ENVIRONMENT_FILE | Specify the target environment file location. You can copy the path from Gitea. |
| TARGET_SR_INPUT_FILE | Specify the Smart Reporting target environment file location. You can copy the path from Gitea. |
| IS_DB | Select this check box to back up and restore BMC Helix Service Management configurations. |
SMART_REPORTING | Select this check box to back up and restore BMC Helix ITSM: Smart Reporting configurations. |
In the HELIX_DB_REFRESH pipeline, the containerized BMC Deployment Engine parameters are displayed by default. If you are using a non-containerized BMC Deployment Engine and want to revert to the old parameters, perform the following steps:
- In the HELIX_DB_REFRESH pipeline, click Configure.
- Modify the value of the script path from the old value to the new value.
Old value: jenkinsfile/helix_db_refresh.jenkinsfile
New Value: jenkinsfile\helix_db_refresh_non_containerized.jenkinsfile
- Save the changes.
- Dry run the pipeline.
The non-containerized BMC Deployment Engine parameters are displayed.
Task 1: To back up the source and target environment
Take a complete backup of your source and target databases.
Use your preferred method to back up the databases.
Task 2: To back up configurations of the target environment
For non-containerized BMC Deployment Engine, perform the following steps:
- Log in to the Jenkins server by using the following URL:
http://<Jenkins server host name>:8080 - On the Jenkins server, select the HELIX_DB_REFRESH pipeline.
- Select the BACKUP_CONFIGURATION check box and clear the RESTORE_CONFIGURATION check box.
- Specify the values for the LOCATION and REPO_PATH parameters.
- Specify the values for the SOURCE_CUSTOMER_NAME, SOURCE_CUSTOMER_SERVICE, and SOURCE_ENVIRONMENT parameters.
- Specify the values for the TARGET_CUSTOMER_NAME, TARGET_CUSTOMER_SERVICE, and TARGET_ENVIRONMENT parameters.
- Specify the value for the TARGET_EXT_IP parameter.
- Select the IS_DB check box to back up BMC Helix Service Management configurations.
- Select the SMART_REPORTING check box to back up BMC Helix ITSM: Smart Reporting configurations.
- Click Rebuild.
For containerized BMC Deployment Engine, perform the following steps:
- Log in to the Jenkins server by using the following URL:
http://<Jenkins server host name>:8080 - On the Jenkins server, select the HELIX_DB_REFRESH pipeline.
- Select the BACKUP_CONFIGURATION check box and clear the RESTORE_CONFIGURATION check box.
- Specify the values for the LOCATION and REPO_PATH parameters.
- Specify the values for the SOURCE_ENVIRONMENT_FILE and SOURCE_SR_INPUT_FILE parameters.
- Specify the values for the TARGET_ENVIRONMENT_FILE and TARGET_SR_INPUT_FILE parameters.
- Select the IS_DB check box to back up BMC Helix Service Management configurations.
- Select the SMART_REPORTING check box to back up BMC Helix ITSM: Smart Reporting configurations.
- Click Rebuild.
The HELIX_DB_REFRESH pipeline runs in the BACKUP_CONFIGURATION mode. It creates a backup of the configurations and scales down all the application pods.
The pipeline creates the backup files and folders at the custom workspace location
Task 3: To restore the source database backup to the target environment
After the database refresh pipeline is completed successfully in the BACKUP_CONFIGURATION mode, restore the source database backup to the target database.
Use your preferred method to restore the database backup.
After you restore the backup, the target database contains the source environment configurations and source environment data.
Task 4: To restore configurations to the target environment
- Log in to the Jenkins server on the environment where you want to run the pipeline by using the following URL:
http://<Jenkins server host name>:8080 - On the Jenkins server, select the HELIX_DB_REFRESH pipeline.
- In the Build History, select the latest build and click Rebuild.
- Clear the BACKUP_CONFIGURATION check box.
Select the RESTORE_CONFIGURATION check box.
- Click Rebuild.
The pipeline runs in the RESTORE_CONFIGURATION mode. It restores the configurations and scales up all the application pods.
After you restore the configurations, the target database contains the target environment configurations and source environment data.
Default state of configurations after database refresh
After a database refresh, several configurations are set to a default state. BMC recommends retaining these default settings. If the default configuration does not meet business requirements, the necessary changes must be applied.
For example, the Escalation ASJ:ScheduleJob is disabled by default after a refresh. If this is required for normal operations, you must enable it after the refresh is completed. For more information on configuration settings, see Configuration settings .
| Task | Default state after refresh (target) |
|---|---|
| Email service / mailbox | Unchanged |
| Email messages | Deleted |
| Smart Reporting broadcast service & schedules | Unchanged |
| Escalation ASJ:ScheduleJob | Disabled |
| Filter NGIE:EventJobStart / CTM:PPL:StatusRulesErr_032 | Disabled |
| Custom Web Service filters | Restored |
| ITSM transactional data | Copied |
| Digital Workplace Catalog transactional data | Copied |
| Alerts / Notifications | Unchanged |
| Cognitive, Chatbot, RSSO, DWP, DWPC configurations | Restored |
| Pentaho connections | Disabled |
| KEK secret (arkeksecret) | Restored |
| Smart Reporting data source connections | Restored |
| Virtual Chat configuration | Restored |
To rerun the HELIX_DB_REFRESH pipeline
If you encounter a failure in BACKUP_CONFIGURATION or RESTORE_CONFIGURATION mode while you are running the HELIX_DB_REFRESH pipeline, use the RERUN option to rerun the pipeline.
- On the Jenkins UI, navigate to the HELIX_DB_REFRESH pipeline where the failure occurred.
- In the Build History pane of the pipeline where the failure occurred, select the latest build, and click Console Output.
- On the Console Output page, go through the logs to identify the reason for the failure.
- Debug and fix the issue.
- Rerun the HELIX_DB_REFRESH pipeline.
- Navigate to the pipeline where the failure occurred.
- In the Build History pane of the failed pipeline, select the latest build, and click Rebuild.
- On the Rebuild page, select the RERUN check box , and click Rebuild.
The pipeline starts running from the stage where it stopped due to the failure.