Upgrading BMC Helix Platform Common services version from 24.1.00 to 24.3.00
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-116.sh file in the new working directory.
Use the BMC Helix Platform Common Services for Service Management Version 24.3.00 option on EPD to download this file. - Download the upgrade configuration utility.
- Download the the itom-predeploy-hotfix-24.3.00.002-2.tar.gz file.
Use the Platform Services for Service Management Performance Hotfix Version 24.3.00 option on EPD to download this file.
To download the files from EPD, see Downloading-the-installation-files.
- Download the deployment manager helix-on-prem-deployment-manager-24.3.00-116.sh file in the new working directory.
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.
- If you are using a local container repository, such as Harbor repository, to synchronize the container images, make sure that you synchronize the 243_Helix_Platform_Images.txt images to your local repository.
See Setting-up-a-Harbor-repository-to-synchronize-container-images. - 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 apply the hotfix
The hotfix itom-predeploy-hotfix-24.3.00.002-2.tar.gz provides 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-24.3.00.002-2.tar.gz file.
Extract the itom-predeploy-hotfix-24.3.00.002-2.tar.gz file by using the following command:
tar -xvf itom-predeploy-hotfix-24.3.00.002-2.tar.gzAfter you unzip the file, the following folders in the helix-on-prem-deployment-manager directory are replaced with the new deployment size templates:
- configs/itsmxlarge.config
- configs/itsmxlarge.json
- configs/itsmxlarge_jvm.config
- configs/itsmcompact.config
- configs/itsmcompact.json
- configs/itsmcompact_jvm.config
- configs/itsmsmall.config
- configs/itsmsmall.json
- configs/itsmsmall_jvm.config
- Back up the following files:
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
BHOM_IMAGE_REGISTRY_ORG
Specify the value as lp0lz.
BHOM_IMAGE_REGISTRY_ORG=lp0lz
Important: The default parameter value is lp0mz. Make sure that you update the value to lp0lz.
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.
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-Service-Management-to-23-3-04