Upgrading BMC Helix Platform Common services version from 23.4.00 to 24.2.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).
If you are using a version earlier to BMC Helix Platform Common Services 23.4.00, make sure that you upgrade BMC Helix Platform Common Services to version 23.4.00.
See Upgrading BMC Helix Platform Common Services version from 23.2.02 to 23.4.00 and Upgrading BMC Helix Platform Common Services version from 23.1.02 to 23.4.00 in BMC Helix Service Management deployment 22.1.06 documentation.
Before you begin
- Make sure that you perform the following tasks:
- Upgrade Kubernetes and Ingress
- Delete the Helm revision secrets of the Kubernetes CronJob
See Preparing-for-upgrade.
- Create a new working directory.
For example, 24.2.00. - Download the following files from EPD:
- Download the deployment manager helix-on-prem-deployment-manager-24.2.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.
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 3: To migrate Elasticsearch data from Open Distro to OpenSearch
To migrate your Elasticsearch data from Open Distro to OpenSearch, you must run the Open Distro to OpenSearch migration utility.
Perform the following steps:
- Go to helix-on-prem-deployment-manager/utilities/migration
Run the following script to migrate Elasticsearch data from Open Distro to OpenSearch:
./es-opensearch-migration.sh migrateIf you have enabled disaster recovery, you will be prompted to disable it. Type y to continue.
You will get the following message after the migration is complete:
Completed the migration from OpenDistro ES to Open Search Elastic Cluster.- Perform the following steps to delete the indices that could cause problems during an upgrade:
To log into the opensearch-logs-data-0 pod, run the following command:
kubectl exec -it opensearch-logs-data-0 -n <namespace> -- bashTo locate the indices, run the following command:
curl --location --request GET "https://opensearch-logs-data:9200/_cat/indices/?v&s=index" -u <LOG_ELASTICSEARCH_USERNAME>:<LOG_ELASTICSEARCH_PASSWORD> -kReplace <LOG_ELASTICSEARCH_USERNAME> and <LOG_ELASTICSEARCH_PASSWORD> with the log Elasticsearch username and password.
Sample output:
Only if you find indices between .kibana_1 to .kibana_9, run the following command to delete the indices:
curl -XDELETE https://opensearch-logs-data:9200/.kibana_<index number> -u <LOG_ELASTICSEARCH_USERNAME>:<LOG_ELASTICSEARCH_PASSWORD> -kReplace <index number> with the Kibana index number that you want to delete.
For example:curl -XDELETE https://opensearch-logs-data:9200/.kibana_1 -u <LOG_ELASTICSEARCH_USERNAME>:<LOG_ELASTICSEARCH_PASSWORD> -k
Task 4: 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.
Task 5: 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 6: 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