Upgrade - OpenShift (3.1)

Upgrade Usage Engine

  1. Validate the Helm Chart Contents

    To ensure there are no errors in the Helm chart content, you can run the following:

    $ helm lint usage-engine-private-edition

    You can also run the helm template chart to see the yaml file with modified values:

    $ helm template usage-engine-private-edition
  2. Upgrade all pods.

    - Use the new License Key for the upgrade. In case you have not received a new License Key, see the Release Note for the alternative method.

    - In the case the upgrade fails, it will rollback automatically. The new resources from the upgrade will be removed automatically.

    Before you upgrade, validate the helm chart with a dry-run:
    Note that <release_platform> is the unique names that was defined at the installation.
    $ helm upgrade <release_platform>  usage-engine-private-edition --set-file licenseKey=<licensekey_file> --dry-run --debug --namespace <namespace>
    If the validation is ok, continue with the upgrade:
    $ helm upgrade <release_platform> usage-engine-private-edition --set-file licenseKey=<licensekey_file> --atomic --cleanup-on-fail --debug --namespace <namespace>

  3. Verify the installation. STATUS Running. The READY state (ready/desired) should be 1/1, 2/2 and so on.  It can can take a few minutes before everything is in up and running.

    # Verify pods
    $ kubectl get pods --namespace <namespace>
    NAME                               READY   STATUS    RESTARTS   AGE
    mz-operator-controller-manager-0   2/2     Running   0          154m
    mzonline-7ff989968b-9hd2b          1/1     Running   0          154m
    platform-0                         1/1     Running   0          154m
    wd-947dbf759-r64pw                 1/1     Running   0          154
    # Verify service contexts to connect
    $ kubectl get services --namespace <namespace>
    NAME                                             TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                         AGE
    mz-operator-controller-manager-metrics-service   ClusterIP    <none>        8443/TCP                        154m
    mz-operator-controller-manager-service           ClusterIP   <none>        443/TCP                         154m
    mzonline                                         NodePort    <none>        80:31200/TCP,443:31300/TCP      154m
    platform                                         NodePort      <none>        9000:31600/TCP,6790:31700/TCP   154m
    wd                                               NodePort    <none>        9999:31400/TCP                  154m


    The output will show the exposed ports when you run kubectl get services -n <namespace>. The exposed ports must be used instead of the ports 443, 9000, 6790, 80 and 9999

    when you connect to the Desktop and/or MzOnline.

    Manual Downgrade

    In the case you need to do a manual downgrade of the system, see Downgrade(3.0).

Manual ECD rolling update

In the case Automatic Rolling Update was never defined for the ECDs, you need to enter the Web interface and manually upgrade the ECDs to the new image by clicking Upgrade in the EC deployment interface.

  1. Connect to the Web Interface, go to :<NodePort>, entering your cluster node and the NodePort. Use the NodePort number substitute for 80 (http) or 443 (https), you get the ports from kubectl get services, see the output example above with port 31200. 

    Example - Web-Interface

    http ://test-mz90-01.dev.drint.net:31200
  2. Login to the Web Interface and click on Upgrade for the ECDs with a warning sign, to apply the upgrades.

    Example of the ECD ecd01, with a warning sign ready for the image upgrade.