This documentation supports an earlier version of BMC Helix IT Service Management on-premises deployment.To view the documentation for the latest version, select 23.3.04 from the Product version picker.

Upgrading BMC Helix Platform Common Services version from 22.2.01 to 23.2.02


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). BMC Helix Platform Common Services 23.2.02 installation is a pre-requisite for BMC Helix Service Management upgrade. 

Upgrade BMC Helix Platform Common Services from version 22.2.01 to 23.2.02 before you upgrade BMC Helix Service Management.

Important

  • Before you upgrade BMC Helix Platform Common Services, make sure that you perform the following tasks as specified in Upgrading-BMC-Helix-Service-Management-to-21-3-10.
    • Upgrade Kubernetes and Ingress
    • Delete the Helm revision secrets of the Kubernetes CronJob
  • If you want to use Kubernetes version 1.26, apply the hotfix  itom-predeploy-hotfix-23.2.02.002-10.tar.gz before you upgrade BMC Helix Platform Common Services to version 23.2.02.

Before you begin

  • Make sure that you upgrade Helm to version 3.11
  • Create a new working directory.
    For example, 23.2.02. 
  • Download the deployment manager helix-on-prem-deployment-manager-23.2.02.sh file in the new working directory.
  • Download the itom-predeploy-hotfix-23.2.02.002-10.tar.gz file.
    This file contains the latest deployment size templates.

    To download the deployment manager and itom-predeploy-hotfix-23.2.02.002-10.tar.gz file from EPD, see Downloading-the-installation-files.
  • Download the Cleanup_Bmchelixlogging.shscript.
  • Back up all the PersistentVolumeClaim (PVC) data. 

    Important

    BMC does not have a recommendation for this step. You can use your preferred method to back up the PVC data.

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:

  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 ../helix-on-prem-deployment-manager/utilities/upgrade/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 uninstall BMC Helix Logging

In BMC Helix Platform Common Services 23.2.02, BMC Helix Logging (Elasticsearch, Fluent Bit, and Kibana) is deployed in the BMC Helix Platform namespace, and not in a separate namespace. You must clean up the old EFK and deploy the new EFK during the upgrade.

  1. Back up logs from Kibana into an a Microsoft Excel file.
    1. On the Kibana home page, click 23.1.02_FlentBit_Hamburger.png.
    2. In the Analytics area, click Discover.
    3. Use a filter to refine your search, click Refresh query.
      23.1.02_FlentBit_FiltersRefreshQuery.png
    4. Save your search.
    5. Select Share > CSV Reports.
      23.1.02_FlentBit_CSVReport.png
    6. Click Generate CSV.
      The system displays a similar message:
      23.1.02_FlentBit_Message1.png
    7. When prompted, click Download report and save the report.
      23.1.02_FlentBit_Message2.png
  2. Uninstall BMC Helix Logging.
    1. Log in to the system from where you installed BMC Helix Platform Common Services earlier.
    2. Export helm and Kubectl binary path.
      For example:

      export HELM_BIN=/usr/local/bin/helm
      export KUBECTL_BIN=/usr/bin/kubectl
    3. Copy the Cleanup_Bmchelixlogging.sh file to the system.
    4. Clean up the bmc-helix-logging namespace by using the following command: 

      ./Cleanup_Bmchelixlogging.sh <bmc-helix-logging namespace>

      <bmc-helix-logging namespace> is the name of the bmc-helix-logging namespace that you used in the 22.2.01 version.

Task 3: To apply the hotfix

The hotfix itom-predeploy-hotfix-23.2.02.002-10.tar.gz provides support for Kubernetes version 1.26 and updated deployment size templates. Apply the hotfix by performing the following steps:

  1. 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
  2. In the helix-on-prem-deployment-manager directory, copy the itom-predeploy-hotfix-23.2.02.002-10.tar.gz file.
  3. Extract the itom-predeploy-hotfix-23.2.02.002-8.tar.gz file by using the following command:

    tar -xvf itom-predeploy-hotfix-23.2.02.002-10.tar.gz

    After you unzip the file, the following folders are replaced with the new deployment size templates in the helix-on-prem-deployment-manager directory.

    • deployment-manager.sh
    • commons/preinstall-checker.sh
    • configs/infra.config
    • configs/helix-chart-version.config
    • configs/itsmsmall.config 
    • configs/itsmcompact.config 
    • configs/itsmcompact.json 
    • configs/itsmcompact_jvm.config 
    • configs/itsmsmall.json 
    • configs/itsmsmall_jvm.config 

Task 4: To migrate data from Bitnami PostgreSQL to Patroni PostgreSQL

BMC Helix Platform Common Services version 22.2.01 and earlier supports Bitnami PostgreSQL. Starting with version 23.1.02, Bitnami PostgreSQL is replaced by Patroni PostgreSQL. Because of this change, you must migrate your data from Bitnami PostgreSQL to Patroni PostgreSQL.

  1. 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> -- bash

    You should be able to establish a shell session inside the pod.

    Important

    If you are not able to establish a shell session inside the pod, it indicates that you do not have exec permission. Contact your cluster administrator, to get the permission.  

  2. In the new_working_directory/ configs/infra.config file, make sure that you set the value of the parameter PG_HOSTNAME as postgres-bmc-pg-ha-pool.

    23.2.02_DRRE3-3637.png
  3. 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 Platform Common Services version 22.2.01.
  4. In the configs/deployment.config file, update the following parameters:

    Parameter

    Value

    INSTALL_MODE

    upgrade

    _PTPOSTGRESS

    yes

    INFRA

    yes

  5. 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
  6. In the new_working_directory/ commons/certs/secrets.txt file, update the default values of the parameters.
    These values can be the same as added in the previous deployment.

    Important

    Use only the new secrets.txt file that is present in your new working directory (new_working_directory) to set the passwords.

    Do not copy the older version of the secrets.txt file because it is not compatible with the newer versionHowever, we recommend that you refer to the older version of the secrets.txt file to understand the syntax and to get the values that you had set previously.

  7. Deploy the Patroni PostgreSQL server by running the following command:

    ./deployment-manager.sh

    If the Patroni PostgreSQL server deployment is not successful, contact BMC Support along with the migration log files. The migration log files are located at utilities/migration/logs.

  8. Go to the new_working_directory/ utilities/migration directory by using the following command:

    cd helix-on-prem-deployment-manager/utilities/migration
  9. Open the  dbmigration.sh  script present in the new_working_directory/ utilities/migration  directory and, add the following 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 Platform Common Services version 22.2.01.
    • Patroni PostgreSQL password that you specified for the parameter PG_PASSWD in the secrets.txt file in BMC Helix Platform Common Services version 22.4.

    Important

    The passwords can be same or different depending on what you had set.

    With reference to the following example codedo not include the angular brackets while adding the Bitnami PostgreSQL and the Patroni PostgreSQL passwords.

    The following image shows an example:
    23102_bitnami_patroni_postgres_pasword.png
     

  10. Save the script and run the following command to start the migration:

    ./dbmigration.sh

    After the migration is complete, you will get the following message:
    Migration done Successfully!!
     
    The migration log files are located at new_working_directoryutilities/migration/logs.

Task 5: To upgrade BMC Helix Platform Common Services

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

    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.
    To find the product services to which you are licensed to, see the deployment.config file from the version 22.2.01.
  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 6: To scale down the Bitnami PostgreSQL pods

After the upgrade is complete, scale down the Bitnami PostgreSQL pods by using following commands:

kubectl scale deployment -n <NAMESPACE> postgres-postgresql-ha-pgpool --replicas=0
kubectl scale sts -n <NAMESPACE> postgres-postgresql-ha-postgresql --replicas=0

Where to go from here

Upgrading-BMC-Helix-Service-Management-to-21-3-10

 

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