Upgrading BMC Helix Platform Common services version from 24.1.00 to 24.3.00
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).
Before you begin
- Make sure that you upgrade Kubernetes and Ingress if required and delete the Helm revision secrets of the Kubernetes CronJob.
See Preparing-for-upgrade. - Create a new working directory.
For example, 24.3.00. - Download the following files from EPD:
- Download the deployment manager helix-on-prem-deployment-manager-24.3.00.zip files in the new working directory.
- Download the upgrade configuration utility.
To download the files from EPD, see Downloading-the-installation-files.
Back up all the PersistentVolumeClaim (PVC) data.
BMC does not have a recommendation for this step. You can use your preferred method to back up the PVC data.
- To apply the Opensearch 2.x certificate.
To apply the Opensearch 2.x certificate
BMC Helix Platform Common Services 24.3 installs Opensearch 2.x that uses a new certificate. To connect the platform pod from the BMC Helix Innovation Suite namespace to Opensearch 2.x in the Helix Platform namespace, you must update the Opensearch certificate.
- Download the cacerts file.
(Perform this step only if you are using a self-signed or custom signed certificates for application URLs)
Customize the cacerts file by importing the self-signed or custom CA certificate.
Make sure that you add the full chain certificate to the cacerts file.
To add the new certificate to the trust store, run the following key tool command:
keytool -importcert -v -alias <alias name> -file <Path of the certificate file that contains the public key> -keystore <Path of the cacerts file>Example:
keytool -importcert -v -alias <alias name> -file /tmp/<certificatefilename> -keystore /opt/cacertsThe key tool prompts for a password.
Enter the password as changeit and press Enter.
Delete existing the cacerts secret by using the following command:
kubectl delete secret cacerts -n <Innovation Suite namespace>Copy the cacerts file to the location where you run below command to create a new secret:
kubectl create secret -n <Innovation Suite namespace> generic cacerts --from-file=cacerts --dry-run=client -o yaml | kubectl apply -f -Restart the platform-fts, platform-user, platform-int, and platform-sr pods by using the following command:
kubectl rollout restart sts <sts name> -n <Innovation Suite namespace>Example:
kubectl rollout restart sts platform-fts -n <Innovation Suite namespace>
Task 1: To run the upgrade configuration utility
The upgrade configuration utility updates the infra.config, deployment.config, and secrets.txt 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, deployment.config, and secrets.txt 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. You must manually enter the values for the new configuration parameters in the infra.config file.
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 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, deployment.config, and secrets.txt 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 migrate data from PostgreSQL database version 12.9 to 15.5
Starting with the BMC Helix Platform Common Services version 24.2, we only support PostgreSQL database version 15.5. Therefore, you must migrate your data from PostgreSQL database 12.9 to 15.5.
The migration process requires additional processor, memory, and storage. You can reclaim the resources after the upgrade. See Sizing-and-scalability-considerations.
- Navigate to helix-on-prem-deployment-manager/utilities/migration/postgres and locate the patroni-pg-migration.sh file.
To migrate your data from PostgreSQL database 12.9 to 15.5, run the following command:
./patroni-pg-migration.sh migrateIf you have turned on disaster recovery, the system will prompt you to turn it off. Type y to continue.
PostgreSQL database version 15.5 gets deployed, and data from PostgreSQL database 12.9 is backed up and restored on PostgreSQL database 15.5.
The time taken to migrate the data depends on the size of your data and your environment.
After the migration, you will get the following message:
The PostgreSQL database migration was completed successfully.Perform a user acceptance test to make sure all data from PostgreSQL database version 12.9 is migrated to 15.5.
To make sure the applications use the PostgreSQL database version 15.5, run the following command:
./enable_pg15_migration.sh
Task 3: To back up OpenSearch data
Go to helix-on-prem-deployment-manager/utilities/migration/opensearch
To back up OpenSearch 1.x data, run the following script:
./es-opensearch-migration.sh backupA temporary MinIO is created to save all the OpenSearch data.
After the backup is complete, you will get the following messages:
EventES Backup Job is successful.
LogES Backup Job is successful.(Optional) To verify that a temporary MinIO was created, run the following command:
kubectl -n <ITOM namespace> get pod | grep es-minioSample output:
Task 4: To upgrade BMC Helix Platform Common Services
- Navigate to your new working directory.
In the configs/deployment.config file, make sure that the parameters have following values:
Parameter
Value
DEPLOYMENT_SIZE
itsmcompact, itsmsmall, or
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.
If you are installing BMC Helix Service Management extra large size, specify the value as .
BMC Helix Service Management can be deployed without requiring BMC Helix Platform Common Services resources in medium or large sizes. To optimize resources, two deployment sizes are provided for BMC Helix Service Management installation: itsmcompact and itsmsmall. The itsmcompact size is suitable for non-production environments, but it does not support high availability. The itsmsmall size supports high availability, and it is recommended for production environments.
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.
- If you are not using BMC Helix ITSM Insights, update the itsminsight-services.json file by using the following steps:
- From the working directory, navigate to helix-on-prem-deployment-manager/products/itsminsight-services.
- In the ade-file-service deploy parameters, before the "containers.container1.org": "_image_registry_project/image_registry_org_", line, add the following code line:
"initContainers.containers.container1.org": "__image_registry_project__/__image_registry_org__",
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 5: To remove the PostgreSQL database version 12.9
Before running the clean-up script, make sure your data is migrated to PostgreSQL database version 15.5.
To remove PostgreSQL database 12.9 and the older version of PVC, run the following command:
./patroni-pg-migration.sh cleanup- You will be prompted to confirm if you want to delete the PVC used for the PostgreSQL database migration.
Type y.
The older version of the PVC gets deleted. - You will be prompted to confirm if you want to delete the older PostgreSQL database and associated pods.
Type y.
The PostgreSQL 12.9 and the associated pods get deleted.
After the cleanup, you will get the following message:
The cleanup was completed successfully.
Where to go from here
Upgrading-BMC-Helix-IT-Service-Management-to-23-3-01