Upgrading BMC Helix Platform Common services version from 24.2.00 to 24.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, Redis, and MinIO). 

If you are on BMC Helix Platform Common Services version earlier to 24.1.00, to understand the upgrade path, see Upgrading-BMC-Helix-Platform-Common-Services.

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.

  1. Download the  cacerts file.
  2. (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.

    Do not perform this step if you are using a trusted CA signed certificate for the application URLs.

    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/cacerts

    The key tool prompts for a password.

    Enter the password as changeit and press Enter.

  3. Delete existing the cacerts secret by using the following command:

    kubectl delete secret cacerts -n <Innovation Suite namespace>
  4. 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 -

  5. Restart the platform-ftsplatform-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:

  1. Go to helix-on-prem-deployment-manager/utilities/upgrade.
  2. Run the following command to provide execution permission to upgrade-configuration.sh

    chmod a+x upgrade-configuration.sh
  3. 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. 

    Important

    The infra.config and deployment.config files are configured based on the values that you had set during the previous installation of BMC Helix Platform Common Services. Make sure that you review the files before upgrading.

Task 2: To back up OpenSearch data

  1. Go to helix-on-prem-deployment-manager/utilities/migration/opensearch

    To view the help options, run the following command: ./es-opensearch-migration.sh -h 

  2. To back up OpenSearch 1.x data, run the following script:

    ./es-opensearch-migration.sh backup

    A 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.

  3. (Optional) To verify that a temporary MinIO was created, run the following command:

    kubectl -n <ITOM namespace> get pod | grep es-minio

    Sample output:
    OpenSearch2x-C.png


Task 3: To upgrade BMC Helix Platform Common Services

  1. Navigate to your new working directory.
  2. 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

  3. For the product services to which you are licensed to, set the value to yes. For all other services, set the value to no.
  4. From the working directory, run the deployment manager to upgrade BMC Helix Platform Common Services by using the following command:

    ./deployment-manager.sh

    After the upgrade is complete, you will get the following message:
    Completed Helix On-prem Installation.

  5. (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:

  1. 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:
  2. 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.gz
  3. Run 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-manager

    For example: bash hf_script.sh /data/24.4.00/helix-on-prem-deployment-manager

    Important

    • This command creates a new directory named /data/24.4.00/helix-on-prem-deployment-manager_HF1.YYYYMMDDHHMMSS, which is a copy of deployment manager directory.
      This directory contains the logs and configuration files.
    • No changes are made to the earlier deployment manager directory that was passed as the parameter.

Where to go from here

Upgrading-BMC-Helix-IT-Service-Management-to-23-3-04


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*