Upgrading the server software by using the in-place upgrade method

When you want to install the latest version of the server software in the same location that contained the 10.1.3 or later, then you can upgrade Rational® Test Automation Server by using the helm upgrade command.

Before you begin

  • You must have read and been familiar with additional Helm parameters. See Additional Helm parameters.

  • You must have completed the following tasks:

    • Informed users that Rational® Test Automation Server is offline temporarily during the upgrade process.

    • Installed Helm. For more information, refer to the Installing a Helm chart on an Red Hat OpenShift Container Platform cluster section in the Red Hat OpenShift documentation.

    • Completed all test executions that are running on the existing version of Rational® Test Automation Server.

    • Stopped all stub executions that are running on the existing version of Rational® Test Automation Server.

    • Canceled any scheduled test runs that have a future date or time.

    • Copied an Entitlement key from the Container software library to pull the images used by the server software. For more information, refer to Creating an API key.

Optional. You can back up the user data from the previous version of the product. If the upgrade fails, then you can use that backup file to restore it on latest version of the server software. See Backing up the server data on Red Hat OpenShift.

For more information about specific versions of software requirements, see System Requirements.

About this task

The following table lists the variables that you must replace with the actual value in the command.

Variables Description
{your_entitlement_key}

The key that you copied from the Container software library.

{example@abc.com}

The email address of the administrator if required.

{my-rtas}

The release name that you provided during the installation of the server software.

{openshift-cluster-dns-name}

The ingress DNS name that you selected for the server.

You can run the following command to obtain the default value of {openshift-cluster-dns-name}:
oc get --namespace=openshift-ingress-operator ingresscontroller/default -ojsonpath='{.status.domain}'
{password-seed}

The password that you provided during the installation of the server software.

Tip: You can run the following command to know the value of the variables that you used during the installation of the previous version of the server software:
helm get values {release_name} -n {namespace}

For example, if your name of the release is my-rtas and the name of the namespace is testsystem, then you must run the command as follows:

helm get values my-rtas -n testsystem

Procedure

  1. Log in to your OCP cluster as a cluster administrator by running the oc login command.
  2. Add the entitlement registry to Helm to access the server install charts by running the following command:
    helm repo add ibm-helm https://raw.githubusercontent.com/IBM/charts/master/repo/ibm-helm
  3. Run the following command to get the latest updates from the repository:
    helm repo update
  4. Run the following command to retrieve the charts:
    helm pull --untar ibm-helm/ibm-rtas-prod --version 9.1050.0
  5. Create a Secret to pull images that are used by Rational® Test Automation Server by running the following commands:
    oc create secret docker-registry cp.icr.io \
    -n test-system \
    --docker-server=cp.icr.io \
    --docker-username=cp \
    --docker-password={your_entitlement_key} \
    --docker-email={example@abc.com}
  6. Perform the following steps to upgrade the server software:
    1. Run the following commands to update the runAsUser and fsGroup to match the Security Context Constraints (SCC):
      sed -i -e "s/runAsUser: 1001/runAsUser: $(oc get project test-system -oyaml \
        | sed -r -n 's# *openshift.io/sa.scc.uid-range: *([0-9]*)/.*#\1#p')/g;
                 s/fsGroup: 1001/fsGroup: $(oc get project test-system -oyaml \
        | sed -r -n 's# *openshift.io/sa.scc.supplemental-groups: *([0-9]*)/.*#\1#p')/g" ibm-rtas-prod/values-openshift.yaml

      Rational® Test Automation Server is compatible with the restricted Security Context Constraint. You must run this command to ensure that the runAsUser and fsGroup strategies match with the SCC policy.

    2. Perform one of the steps described in the following table to upgrade the server software based on your requirement:
      Step description Step no

      To upgrade the server software

      Perform 6.b.i

      To upgrade the server software and enable Jaeger for performance and Web UI tests logs

      Perform 6.b.ii
      Remember:
      • You must use the same value for the global.persistence.rwxStorageClass parameter that you used in the previous installation.

        You can run the following command to obtain the value that you used for global.persistence.rwxStorageClass:
        oc get pvc -n test-system data-{my-rtas}-userlibs-0 \
           -ojsonpath='{.spec.storageClassName}' && echo
      • The default certificate that terminates TLS connections has a single wildcard. Therefore, you must prefix a single hostname segment for the global.ibmRtasIngressDomain parameter.

        For example, --set global.ibmRtasIngressDomain=rtas.{dns name of the openshift cluster}

      1. Run the following command to upgrade the server software:

        helm upgrade {my-rtas} ./ibm-rtas-prod -n test-system \
        --set license=true \
        -f ibm-rtas-prod/values-openshift.yaml \
        --set global.persistence.rwxStorageClass=ibmc-file-gold \
        --set global.ibmRtasIngressDomain=rtas.{openshift-cluster-dns-name} \
        --set global.ibmRtasPasswordAutoGenSeed={password-seed} \
        --set global.ibmRtasRegistryPullSecret=cp.icr.io
      2. Run the following command to upgrade the server software and to enable Jaeger for performance and Web UI tests logs:

        helm upgrade {my-rtas} ./ibm-rtas-prod -n test-system \
        --set license=true \
        -f ibm-rtas-prod/values-openshift.yaml \
        --set global.persistence.rwxStorageClass=ibmc-file-gold \
        --set global.ibmRtasIngressDomain=rtas.{openshift-cluster-dns-name} \
        --set global.ibmRtasPasswordAutoGenSeed={password-seed} \
        --set global.ibmRtasRegistryPullSecret=cp.icr.io \
        --set-string execution.annotations.sidecar\\.jaegertracing\\.io/inject=true \
        --set global.jaegerAgent.internalHostName=localhost \
        --set global.jaegerDashboard.externalURL={my-jaeger-dashboard-url}
  7. Run the following command to verify and test the upgraded server software:
    ibm-rtas-prod/files/helm-test-diag.sh {my-rtas} -n test-system

Results

On the successful upgrade of Rational® Test Automation Server, the output displays the following information:
  • Keycloak URL to manage and authenticate users.

  • A URL to access the Rational® Test Automation Server UI.

What to do next