Upgrading BMC Helix Platform Common services version from 24.2.00 to 24.4.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.4.00. - Download the following files from EPD:
- Download the deployment manager helix-on-prem-deployment-manager-24.4.00-17.sh file in the new working directory.
- Download the upgrade configuration utility.
- Download the BMC_Helix_PCS_for_Service_Management_Version_24.4.00.001.tar.gz file from EPD and save it in the working directory.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.
- If you are using a local container repository, such as Harbor repository, to synchronize the container images, make sure that you synchronize the 244_Helix_Platform_Images.txt images to your local repository.
See Setting-up-a-Harbor-repository-to-synchronize-container-images. - If you are using a self-signed or custom CA-signed certificate, make sure that the CUSTOM_CA_SIGNED_CERT_IN_USE parameter in the infra.config file is set to true. The custom CA certificate file (full chain) is named custom_cacert.pem, and it is copied to the commons/certs/ directory; that is, commons/certs/custom_cacert.pem.
To apply the Opensearch 2.x certificate
BMC Helix Platform Common Services 24.4 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 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 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 3: 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 4: To apply the hotfix
The zombie process generation issue on redis-haproxy-monitor pods and Kafka Zookeeper pods is fixed in the BMC Helix Platform Common Services 24.4.00.00.001 hotfix,
addressing the following issues:
- DRRE3-7571
- DRRE3-7638
For more information about the issues, see Known-and-corrected-issues.
Perform the following steps to apply the hotfix:
- If you are using a local repository for pulling images, then make sure that the local image repository has referenced the following images in the 244_Helix_Platform_Images.txt file:
- containers.bmc.com/bmc/lp0lz:24400001-v103-ade-infra-clients-alpine
- containers.bmc.com/bmc/lp0lz:24400001-v102-bitnami-zookeeper-3.9.1-alpine-jdk11
See Setting-up-a-Harbor-repository-to-synchronize-container-images.
Extract the BMC_Helix_PCS_for_Service_Management_Version_24.4.00.001.tar.gz file to the 24.4.00 workspace folder.
tar -xvf BMC_Helix_PCS_for_Service_Management_Version_24.4.00.001.tar.gzRun the hf_script.sh hotfix script file providing the full path of the 24.4.00 deployment manager directory.
bash hf_script.sh </path/to/directory/24.4.00>/helix-on-prem-deployment-managerFor example: bash hf_script.sh /data/24.4.00/helix-on-prem-deployment-manager
Where to go from here
Upgrading-BMC-Helix-IT-Service-Management-to-23-3-04