Upgrading BMC Helix Platform Common Services version from 23.2.02 to 23.4.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
- If you are not on the BMC Helix Service Management version 22.1.06, perform the following tasks:
- Upgrade Kubernetes and Ingress
- Delete the Helm revision secrets of the Kubernetes CronJob
See Upgrading-BMC-Helix-Service-Management-to-22-1-06.
- Create a new working directory.
For example, 23.4.00. - Download the following files from EPD:
- Download the deployment manager helix-on-prem-deployment-manager-23.4.00.sh file in the new working directory.
- Download the upgrade configuration utility.
- Download the helix-on-prem-deployment-manager-hotfix-23.4.00.001.tar.gz hotfix.
The Proactive problem management (PPM) module of BMC Helix ITSM Insights is unavailable if you use BMC Helix Service Management version 22.1.06 with BMC Helix Platform Common Services version 23.4.00 on an SSL-enabled restricted environment. The hotfix helix-on-prem-deployment-manager-hotfix-23.4.00.001.tar.gz contains a fix for this issue.
To download the files from EPD, see Downloading-the-installation-files.
- Download the deployment manager helix-on-prem-deployment-manager-23.4.00.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.
- Run the upgrade configuration utility.
Task 1: To run the upgrade configuration utility
The upgrade configuration utility updates the infra.config and deployment.config 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 and deployment.config 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.
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 ../helix-on-prem-deployment-manager/utilities/upgrade/upgrade-configuration.sh
Run 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 upgrade BMC Helix Platform Common Services
- Navigate to your working directory.
In the configs/deployment.config file, make sure that the parameters have following values:
Parameter
Value
DEPLOYMENT_SIZE
itsmcompact or itsmsmall
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.
BMC Helix Service Management does not require BMC Helix Platform Common Services resources with deployment sizes such as medium or large. To optimize resources, the deployment sizes, itsmcompact and itsmsmall, are provided for BMC Helix Service Management installation. The itsmcompact size does not support high availability. Use itsmcompact for nonproduction environments. The itsmsmall size supports high availability, so use this size for production environments.
INSTALL_MODE
upgrade
_INFRA
yes
_PTPOSTGRES
yes
_KAFKA
yes
_REDIS
yes
_RSSO
yes
_VICTORIAMETRICS
yes
_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.
To find the product services to which you are licensed to, see the deployment.config file from the version 23.2.02. 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(For Kubernetes version 1.25 or higher) Change the namespace pod security admission to restricted by using the following command:
kubectl label --overwrite ns <namespace> \
pod-security.kubernetes.io/enforce=restricted \
pod-security.kubernetes.io/enforce-version=latest \
pod-security.kubernetes.io/warn=restricted \
pod-security.kubernetes.io/warn-version=latest \
pod-security.kubernetes.io/audit=restricted \
pod-security.kubernetes.io/audit-version=latest
To apply the hotfix
The Proactive problem management (PPM) module of BMC Helix ITSM Insights is unavailable if you use BMC Helix Service Management version 22.1.06 with BMC Helix Platform Common Services version 23.4.00 on an SSL-enabled restricted environment. The hotfix helix-on-prem-deployment-manager-hotfix-23.4.00.001.tar.gz contains a fix for this issue.
If you are using a local repository for synchronizing your images with BMC DTR, make sure your local image repository has the following images:
- bmc.com/bmc/lp0lz:aif-core-service-f0261352-490
- bmc.com/bmc/lp0lz:aif-clustering-job-86b0d26-3847
- bmc.com/bmc/lp0lz:aif-job-manager-service-0f16b53-442
Perform the following steps to apply the hotfix:
- Log in to the controller from where the Kubernetes cluster is accessible.
To add permissions to get, list, watch, update, and patch the deployments aif-job-manager-service and aif-core-service, run the following command:
kubectl -n <namespace> patch role <CUSTOM_SERVICEACCOUNT_NAME>-role --type='json' -p='[{"op": "add", "path": "/rules/5/resourceNames/0", "value": "tas" }]'
kubectl -n <namespace> patch role <CUSTOM_SERVICEACCOUNT_NAME>-role --type='json' -p='[{"op": "add", "path": "/rules/5/resourceNames/1", "value": "aif-job-manager-service" }]'
kubectl -n <namespace> patch role <CUSTOM_SERVICEACCOUNT_NAME>-role --type='json' -p='[{"op": "add", "path": "/rules/5/resourceNames/2", "value": "aif-core-service" }]'Role name (<CUSTOM_SERVICEACCOUNT_NAME>) is the value that you set for the parameter CUSTOM_SERVICEACCOUNT_NAME in the configs/infra.config file.
To verify that the role is updated, run the following command:
kubectl -n <BMC Helix Platform namespace> get role <CUSTOM_SERVICEACCOUNT_NAME>-role -o jsonpath={.rules[5]}Sample output:
- apiGroups:
- apps
resourceNames:
- tas
- aif-job-manager-service <<<< this line should be present after patching the role.
- aif-core-service <<<< this line should be present after patching the role.
resources:
- deployments
verbs:
- get
- list
- watch
- update
- patch
~~~Extract the helix-on-prem-deployment-manager-hotfix-23.4.00.001.tar.gz to the workspace folder of 23.4.00, run the following command:
tar xvf helix-on-prem-deployment-manager-hotfix-23.4.00.001.tar.gz 3.Run the hotfix script hf_script.sh:
bash hf_script.sh < full path of the 23.4.00 platform common services directory >/helix-on-prem-deployment-managerFor example:
bash hf_script.sh /data/23.4.00/helix-on-prem-deployment-managerA copy of the directory helix-on-prem-deployment-manager gets created in the same path. In the example, a new directory /data/23.4.00/helix-on-prem-deployment-manager_HF1.YYYYMMDDHHMMSS gets created.
No changes are made to the original directory passed as a command line parameter.
Where to go from here
Upgrading-BMC-Helix-Service-Management-to-22-1-06