Upgrading BMC Helix IT Operations Management
The following image displays the upgrade process at a glance:
To perform the prerequisite steps:
Make sure that BMC Discovery version 22.2 is installed.
To install BMC Discovery, see the Installingin the BMC Discovery documentation.
To upgrade to BMC Discovery to version 22.2, see Upgrading in the BMC Discovery documentation.Back up all the PersistentVolumeClaim (PVC) data.
If you had deployed BMC Helix ITOM in a multitenant environment, run the following command to back up the smart-graph-tenant-config configmap and its content:
kubectl get cm smart-graph-tenant-config -n <namespace> -o yaml >/<directory>/smart-graph-tenant-config-bkp.yamlThe placeholders in the command are defined as follows:
- namespace is the namespace where you had deployed BMC Helix ITOM.
- directory is a directory of your choice for which you have write permission.
For more information, see Deploying-BMC-Helix-IT-Operations-Management-in-a-multitenant-environment.
Run the following command to back up the ims-serviceaccount.yaml file:
kubectl get secret ims-serviceaccount -n <namespace> -o yaml > ims-serviceaccount.yamlMake sure that ims-serviceaccount.yaml file has a secret; for example:
# kubectl edit secret ims-serviceaccount -n <bhom-namepsace>
apiVersion: v1
data:
IMS_SERVICE_ACCOUNT_KEY: MzdkNDZj1TgtZDhiNC11ZGVkLWJhNjktNzcxNmNiNmZhYzUx
kind: Secret- Create a new directory on the system from where you will run the BMC Helix ITOM deployment script. This directory will be your new working directory (new_working_directory).
- Download the deployment manager and container images to the new_working_directory.
For more information, see Downloading the deployment manager and container images. - Perform the following steps to clean up theBMC Helix Logging namespace:
- Back up logs from Kibana into a Microsoft Excel file.
See To export logs to a csv. Export the Helm and Kubectl binary path:
export HELM_BIN=/usr/local/bin/helm
export KUBECTL_BIN=/usr/bin/kubectl- Download the script to clean up the bmc-helix-logging namespace.
The Cleanup_Bmchelixlogging.sh script deletes the PVC, pods, and jobs from the bmc-helix-logging namespace. Run the command to clean the bmc-helix-logging namespace:
./Cleanup_Bmchelixlogging.sh <bmc-helix-logging namespace><bmc-helix-logging namespace> is the name of the bmc-helix-logging namespace from the 22.2.01 version.
- Back up logs from Kibana into a Microsoft Excel file.
- (For BMC Helix Continuous Optimization only) In the configs/infra.config file,
If the CLUSTER_TYPE is openshift or ocp, change the value of the OPT_FSGROUP parameter to 87654321.
If the CLUSTER_TYPE is not openshift or ocp, retain the value of the OPT_FSGROUP parameter as null.
To migrate data from Bitnami PostgreSQL to Patroni PostgreSQL
BMC Helix ITOM
version 22.2.01 and earlier supports Bitnami PostgreSQL. Starting with version 22.4, 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/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 ITOM version 22.2.01.
In the new_working_directory/configs/deployment.config file, set the values of the following properties:
Property
Expected value
INSTALL_MODEupgrade
_PTPOSTGRESSyes
INFRAyes
- 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, set the passwords.
For more information, see Preparing-for-password-encryption.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 new_working_directory/commons/certs/secrets.txt.
Go to the new_working_directory/utilities/migration directory by using the following command:
cd helix-on-prem-deployment-manager/utilities/migration- Open the dbmigration.sh script present in the new_working_directory/utilities/migration directory and, add the 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 ITOM version 22.2.01.
Patroni PostgreSQL password that you specified for the parameter PG_PASSWD in the secrets.txt file in BMC Helix ITOM version 22.4.
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.
To upgrade BMC Helix IT Operations Management
- 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 new_working_directory/configs/deployment.config file in BMC Helix ITOM version 22.2.01. - In the new_working_directory/configs/deployment.config file, update the following values:
- Set the value of INSTALL_MODE to upgrade.
- Set the values of the following infrastructure services to yes.
- _INFRA
- _PTPOSTGRES
- _KAFKA
- _REDIS
- _RSSO
- _VICTORIAMETRICS
- _ELASTICSEARCH
- _MINIO
- For the product services for which you are licensed, set the value to yes; for all other services, set the value to no.
For example, if you are only licensed to use BMC Helix Operations Management and BMC Helix Continuous Optimization- To use BMC Helix Operations Management, set value of AIOPS_SERVICES, MONITOR, and INTELLI_INT_SERVICES to yes.
To use BMC Helix Continuous Optimization, set the value of OPTIMIZE to yes.
From the new_working_directory run the deployment manager to upgrade BMC Helix IT Operations Management:
./deployment-manager.shAfter the upgrade is complete, you will get the following message:
Completed Helix On-prem Installation.- If you had deployed BMC Helix IT Operations Management in a multitenant environment, follow the steps to restore the smart-graph-tenant-config configmap and its content:
- Copy the contents from the smart-graph-tenant-config configmap file that you backed up before upgrade.
Run the command to open the smart-graph-tenant-config configmap:
kubectl -n <namespace> edit cm smart-graph-tenant-config- Paste the contents that you copied from the backed up smart-graph-tenant-config configmap file in the new smart-graph-tenant-config configmap and save it.
Run the following command to restart the smart graph controller pod:
kubectl rollout restart deploy/smart-graph-controller -n <namepsace>
(Optional) To view the logs during the upgrade, run the following command:
tail -f logs/deployment.log
Performing the post upgrade task
After the upgrade is complete and the latest version of the product is deployed, scale down the Bitnami PostgreSQL pods by running the following command:
kubectl scale deployment -n <NAMESPACE> postgres-postgresql-ha-pgpool --replicas=0
kubectl scale sts -n <NAMESPACE> postgres-postgresql-ha-postgresql --replicas=0Once the data migration is complete and verified successfully, remove the Bitnami PostgreSQL pods by running the following command:
helm delete -n <namespace> postgres
kubectl delete pvc -n <namespace> data-postgres-postgresql-ha-postgresql-0 data-postgres-postgresql-ha-postgresql-1(optional) Upgrade your orchestration platform.
To know more about the supported versions of the orchestration platform, see System-requirements.