Upgrading BMC Helix Platform Common Services version from 22.2.01 to 23.2.02
BMC Helix Platform Common Services is a microservices-based platform that provides foundational services (such as user management, tenant management, and single sign-on) and the data lake (such as Elasticsearch, PostgreSQL, and MinIO). BMC Helix Platform Common Services 23.2.02 installation is a pre-requisite for BMC Helix Service Management upgrade.
Upgrade BMC Helix Platform Common Services from version 22.2.01 to 23.2.02 before you upgrade BMC Helix Service Management.
Before you begin
- Make sure that you upgrade Helm to version 3.11
- Create a new working directory.
For example, 23.2.02. - Download the deployment manager helix-on-prem-deployment-manager-23.2.02.sh file in the new working directory.
- Download the itom-predeploy-hotfix-23.2.02.002-10.tar.gz file.
This file contains the latest deployment size templates.
To download the deployment manager and itom-predeploy-hotfix-23.2.02.002-10.tar.gz file from EPD, see Downloading-the-installation-files. - Download the script.
Back up all the PersistentVolumeClaim (PVC) data.
Task 1: To run the upgrade configuration utility
The upgrade configuration utility updates the infra.config and deployment.config files by performing the following tasks:
- It uses the values that you had set during the deployment of BMC Platform Common Services to configure the infra.config and deployment.config files.
You need not manually configure any parameter that you had configured previously. - It lists the configuration parameters whose names have been modified in the current release and updates their values automatically.
- It lists the configuration parameters that were added in the current release.
Perform the following steps to run the upgrade configuration utility:
- Go to helix-on-prem-deployment-manager/utilities/upgrade.
Run the following command to provide execution permission to upgrade-configuration.sh:
$chmod a+x ../helix-on-prem-deployment-manager/utilities/upgrade/upgrade-configuration.shRun the upgrade configuration utility by using the following command:
./upgrade-configuration.sh <namespace><namespace> is the name of the namespace that you used to deploy BMC Helix Platform Common Services.
The utility updates the infra.config and deployment.config parameters, updates the modified parameters, and if there are any new additions, it prompts you to enter values.
After the utility has completed updating the infra.config and deployment.config files, you will get a confirmation message.
Task 2: To uninstall BMC Helix Logging
In BMC Helix Platform Common Services 23.2.02, BMC Helix Logging (Elasticsearch, Fluent Bit, and Kibana) is deployed in the BMC Helix Platform namespace, and not in a separate namespace. You must clean up the old EFK and deploy the new EFK during the upgrade.
- Back up logs from Kibana into an a Microsoft Excel file.
- On the Kibana home page, click .
- In the Analytics area, click Discover.
- Use a filter to refine your search, click Refresh query.
- Save your search.
- Select Share > CSV Reports.
- Click Generate CSV.
The system displays a similar message: - When prompted, click Download report and save the report.
- Uninstall BMC Helix Logging.
- Log in to the system from where you installed BMC Helix Platform Common Services earlier.
Export helm and Kubectl binary path.
For example:export HELM_BIN=/usr/local/bin/helm
export KUBECTL_BIN=/usr/bin/kubectl- Copy the Cleanup_Bmchelixlogging.sh file to the system.
Clean up the bmc-helix-logging namespace by using the following command:
./Cleanup_Bmchelixlogging.sh <bmc-helix-logging namespace><bmc-helix-logging namespace> is the name of the bmc-helix-logging namespace that you used in the 22.2.01 version.
Task 3: To apply the hotfix
The hotfix itom-predeploy-hotfix-23.2.02.002-10.tar.gz provides support for Kubernetes version 1.26 and updated deployment size templates. Apply the hotfix by performing the following steps:
- Back up the following files:
- helix-on-prem-deployment-manager directory/deployment-manager.sh
- commons/preinstall-checker.sh
- helix-on-prem-deployment-manager directory/configs/infra.config
- configs/helix-chart-version.config
- In the helix-on-prem-deployment-manager directory, copy the itom-predeploy-hotfix-23.2.02.002-10.tar.gz file.
Extract the itom-predeploy-hotfix-23.2.02.002-8.tar.gz file by using the following command:
tar -xvf itom-predeploy-hotfix-23.2.02.002-10.tar.gzAfter you unzip the file, the following folders are replaced with the new deployment size templates in the helix-on-prem-deployment-manager directory.
- deployment-manager.sh
- commons/preinstall-checker.sh
- configs/infra.config
- configs/helix-chart-version.config
- configs/itsmsmall.config
- configs/itsmcompact.config
- configs/itsmcompact.json
- configs/itsmcompact_jvm.config
- configs/itsmsmall.json
- configs/itsmsmall_jvm.config
Task 4: To migrate data from Bitnami PostgreSQL to Patroni PostgreSQL
BMC Helix Platform Common Services version 22.2.01 and earlier supports Bitnami PostgreSQL. Starting with version 23.1.02, Bitnami PostgreSQL is replaced by Patroni PostgreSQL. Because of this change, you must migrate your data from Bitnami PostgreSQL to Patroni PostgreSQL.
Make sure that you have the exec permission on the pods. Run the following command to establish a shell session inside the pod and verify the exec permissions:
kubectl -n <namespace> exec -it <pod-name> -- bashYou should be able to establish a shell session inside the pod.
- In the new_working_directory/ configs/infra.config file, make sure that you set the value of the parameter PG_HOSTNAME as postgres-bmc-pg-ha-pool.
- In the new_working_directory/ configs/deployment.config file, make sure that your deployment size is the same as your previous deployment size; for example, small, compact, medium, or large.
To confirm your deployment size, see the value set for the DEPLOYMENT_SIZE parameter in the configs/ deployment.config file in BMC Helix Platform Common Services version 22.2.01. In the configs/deployment.config file, update the following parameters:
Parameter
Value
INSTALL_MODE
upgrade
_PTPOSTGRESS
yes
INFRA
yes
- In the new_working_directory/ configs/deployment.config file, set the value of the following properties to no:
_KAFKA
_REDIS
_RSSO
_VICTORIAMETRICS
_ELASTICSEARCH
_MINIO
HELIX_DASHBOARD_SERVICES
ITSMINSIGHT_SERVICES
AIOPS_SERVICES
MONITOR
INTELLI_INT_SERVICES
INTELLIGENT_AUTOMATION
BMC_HELIX_LOGGING
OPTIMIZE
ARSERVICES In the new_working_directory/ commons/certs/secrets.txt file, update the default values of the parameters.
These values can be the same as added in the previous deployment.Deploy the Patroni PostgreSQL server by running the following command:
./deployment-manager.shIf the Patroni PostgreSQL server deployment is not successful, contact BMC Support along with the migration log files. The migration log files are located at utilities/migration/logs.
Go to the new_working_directory/ utilities/migration directory by using the following command:
cd helix-on-prem-deployment-manager/utilities/migrationOpen the dbmigration.sh script present in the new_working_directory/ utilities/migration directory and, add the following passwords as shown in the following image:
- Bitnami PostgreSQL password that you specified for the parameter PG_PASSWD in the secrets.txt file in BMC Helix Platform Common Services version 22.2.01.
- Patroni PostgreSQL password that you specified for the parameter PG_PASSWD in the secrets.txt file in BMC Helix Platform Common Services version 22.4.
The following image shows an example:
Save the script and run the following command to start the migration:
./dbmigration.shAfter the migration is complete, you will get the following message:
Migration done Successfully!!
The migration log files are located at new_working_directory/ utilities/migration/logs.
Task 5: To upgrade BMC Helix Platform Common Services
- Navigate to your working directory.
In the configs/deployment.config file, make sure that the parameters have following values:
Parameter
Value
DEPLOYMENT_SIZE
itsmcompact or itsmsmall
If you are installing BMC Helix Platform Common Services in a nonproduction environment, specify the value as itsmcompact.
If you are installing BMC Helix Platform Common Services in a production environment, specify the value as itsmsmall.
INSTALL_MODE
upgrade
_INFRA
yes
_PTPOSTGRES
yes
_KAFKA
yes
_REDIS
yes
_RSSO
yes
_VICTORIAMETRICS
yes
Important: For the latest deployment size templates, set this parameter to No if you using only BMC Helix Dashboards and not using BMC Helix ITSM Insights.
If you have already installed Victoriametrics and not using BMC Helix ITSM Insights, scale down the following pods to zero replicas:
- victoria-metrics-cluster-vmstorage statefulset
- victoria-metrics-cluster-vminsert deployment
- victoria-metrics-cluster-vmselect deployment
_ELASTICSEARCH
yes
_MINIO
yes
- For the product services to which you are licensed to, set the value to yes. For all other services, set the value to no.
To find the product services to which you are licensed to, see the deployment.config file from the version 22.2.01. From the working directory, run the deployment manager to upgrade BMC Helix Platform Common Services by using the following command:
./deployment-manager.shAfter the upgrade is complete, you will get the following message:
Completed Helix On-prem Installation.(Optional) To view the logs during the upgrade, run the following command:
tail -f logs/deployment.log
Task 6: To scale down the Bitnami PostgreSQL pods
After the upgrade is complete, scale down the Bitnami PostgreSQL pods by using following commands:
kubectl scale sts -n <NAMESPACE> postgres-postgresql-ha-postgresql --replicas=0
Where to go from here