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.


Preparing for upgrade


The following tasks describe how to prepare for an upgrade of BMC Helix Service Management:

Related topics

Task 1: To download the upgrade artifacts

  1. Download the upgrade artifacts; see Downloading-the-installation-files.
  2. Confirm access to the container images; see Setting-up-a-Harbor-repository-to-synchronize-container-images.

Back to top

Task 2: To upgrade Helm

Upgrade Helm to the following version based on your orchestration platform version:

Kubernetes version 

Helm

Kubernets 1.29

3.14

Kubernetes 1.28

3.14

Kubernetes 1.27

3.13

Kubernetes 1.26

3.12

Kubernetes 1.24 and 1.25

 3.11

Back to top


Task 3: To update the Git repositories

  1. Log in to the BMC Deployment Engine as a Git user.
  2. In your local Git repository, create a backup of the following existing repositories.
    • CUSTOMER_CONFIGS
    • HELM_REPO
    • ITSM_REPO
    • PLAYBOOKS_REPO
    • SMARTAPPS_HELM_REPO
    • SMARTREPORTING_PLAYBOOKS_REPO
    • SMARTREPORTING_HELM_REPO
      For example, create a backup of the ITSM_REPO, PLAYBOOKS_REPO, HELM_REPO, SMARTAPPS_HELM_REPO, CUSTOMER_CONFIGS, SMARTREPORTING_PLAYBOOKS_REPO, SMARTREPORTING_HELM_REPO, and DB_REFRESH_REPO repositories located at ssh://<Jenkins server host name>/home/git/Git_Repo.

      Important

      • After creating a backup of the repositories, make sure that you delete the existing repository folders.
      • Make sure that you do not modify or change the location of the LIBRARY_REPO repository.
  3. Copy the BMC_Remedy_Deployment_Manager_Configuration_Release_23.3.01.002.zip file that you downloaded from EPD to your existing local Git repository.
    For example, copy the BMC_Remedy_Deployment_Manager_Configuration_Release_23.3.01.002.zip file to the local Git repository located at ssh://<Jenkins server host name>/home/git/Git_Repo.
  1. In the file system where the Git repository is located, unzip the BMC_Remedy_Deployment_Manager_Configuration_Release_23.3.01.002.zip file.

    For example, in the Git_Repo repository located at ssh://<Jenkins server host name>/home/git/Git_Repo, unzip the BMC_Remedy_Deployment_Manager_Configuration_Release_23.3.01.002.zip file.The BMC_Remedy_Deployment_Manager_Configuration_Release_23.3.01.002.zip file contains the following artifacts:

    • CUSTOMER_CONFIGS
    • HELM_REPO
    • ITSM_REPO
    • PLAYBOOKS_REPO
    • SMARTREPORTING_PLAYBOOKS_REPO
    • SMARTREPORTING_HELM_REPO
    • SMARTAPPS_HELM_REPO
    • DB_REFRESH_REPO

Back to top

Task 4: To add deployment pipelines

  1. Verify that the following deployment pipelines already exist in your Jenkins server:

    Pipeline

    Repository URL

    Branches to build

    Script path

    HELIX_SMARTREPORTING_UPGRADE

    ssh://git@<jenkins_server>/GIT_REPO_DIR/ITSM_REPO/itsm-on-premise-installer.git

    */master

    pipeline/jenkinsfile/HELIX_SMARTREPORTING_UPGRADE.jenkinsfile

    HELIX_ONPREM_DEPLOYMENT

    ssh://git@<jenkins_server>/GIT_REPO_DIR/ITSM_REPO/itsm-on-premise-installer.git 

    */master

    pipeline/jenkinsfile/HELIX_ONPREM_DEPLOYMENT.jenkinsfile

    HELIX_RESTART

    ssh://git@<jenkins_server>/GIT_REPO_DIR/ITSM_REPO/itsm-on-premise-installer.git 

    */master

    pipeline/jenkinsfile/HELIX_RESTART.jenkinsfile

    HELIX_FULL_STACK_UPGRADE

    ssh://git@<jenkins_server>/GIT_REPO_DIR/ITSM_REPO/itsm-on-premise-installer.git 

    */master

    pipeline/jenkinsfile/HELIX_FULL_STACK_UPGRADE.jenkinsfile

    HELIX_DB_REFRESH

    ssh://git@<jenkins server>/GIT_REPO_DIR/DB_REFRESH_REPO/itsm-on-premise-db-refresh.git

    */master

    jenkinsfile/helix_db_refresh.jenkinsfile

  2. (Deployment pipelines exist) Run the HELIX_FULL_STACK_UPGRADE and HELIX_SMARTREPORTING_UPGRADE pipelines in dry-run mode so that the pipeline parameters that are updated in 23.3.01.002 version are reflected on the pipeline.
    1. On the Jenkins server, select the pipeline.
      For example, on the Jenkins server, select the HELIX_FULL_STACK_UPGRADE pipeline.
    2. In the navigation pane, select the latest build and select Build with Parameters > Build.
    3. Click Rebuild.
      After the pipeline is rebuilt, the updated parameters for the pipeline are reflected.
      To verify that the pipeline is updated with the new parameters, click Build with Parameters and check that the ONPREM check box is present.
  3. Perform the following steps to add the pipeline:

    1. Log in to the Jenkins server by using the following URL:
      http://<Jenkins server host name>:8080
    2. On the Jenkins home page, click New Item.
    3. In the Enter an item name field, enter the pipeline name.
      Example: HELIX_FULL_STACK_UPGRADE.
    4. Select Pipeline and click OK.
    5. Click the Pipeline tab.
    6. Enter the following information:

      Field

      Description

      Definition

      From the Definition list, select Pipeline script from SCM.

      SCM

      From the SCM list, select Git.

      Repository URL

      Enter the Repository URL as the path of your local Git repository in the format ssh://git@<jenkins_server>/<path to itsm-on-premise-installer.git>.
      Example: ssh://git@<Jenkins server host name>/home/git/Git_Repo/ITSM_REPO/itsm-on-premise-installer.git.

      Credentials

      Enter the Git server credentials.

      Additional Behaviours

      Specify the script path.
      Example: pipeline/jenkinsfile/HELIX_FULL_STACK_UPGRADE.jenkinsfile.

      The following image shows an example:
      HELIX_FULL_STACK_UPGRADE.png

    7. Click Apply and then Save.
    8. From the Jenkins home page, select the pipeline and click Build Now.
      The first build job fails because it needs to run the first time to load all the parameters of the pipeline script. 
    9. After the build job fails, select the pipeline name again from the Jenkins home page.
      The Build Now option changes to Build With Parameters.


Task 5: To upgrade the Kubernetes platform and Ingress controller

If you are using Kubernetes platform earlier than version 1.24, upgrade your Kubernetes platform to version 1.24, 1.25, 1.26, 1.27, 1.28, or 1.29.

Upgrade the Ingress version based on the Kubernetes platform version that you want to use. Supported Ingress controller versions are as follows:

Kubernetes

Ingress controller

1.29

1.9.6

1.28

1.9.5 

1.27

1.9.3

1.26

1.8.1

1.25

1.7.0

1.24

1.7.0

Back to top

Task 6: To delete the Helm revision secrets of the Kubernetes Cronjob

Important

Perform this task only if you upgraded to a Kubernetes version lower than 1.25 to higher version.

  1. Run the following commands to export the kubectl and Helm binary:

    export KUBECTL_BIN=<path of KUBECTL_BIN>

    export HELM_BIN=<path of HELM_BIN>

    Copy the path of KUBECTL_BIN and HELM_BIN from the infra.config file. 

  2. Download the Cronjob_helm_revision_delete.sh script.
  3. Run the Cronjob_helm_revision_delete.sh script to delete the helm revision secrets of the Cronjob in the BMC Helix Platform namespace.

    ./Cronjob_helm_revision_delete.sh <BMC Helix Platform namespace>
  4. Run the Cronjob_helm_revision_delete.sh script to delete the helm revision secrets of the Cronjob in the BMC Helix Service Management namespace.

    ./Cronjob_helm_revision_delete.sh <BMC Helix IT Service Management namespace>


 

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