Online update

Online updates assume that you have direct access to the Internet or access to the Internet through a proxy server.

Connection requirements

If you are installing from behind a firewall, make sure you have full access to the IBM Container Registry services that deliver the Turbonomic components. IBM Container Registry is a publicly accessible registry that does not require login credentials. Addressing for these services can be different depending on details of your current environment. Note that IBM has no control over these endpoints.

Note:

Starting with Turbonomic version 8.7.5, IBM Container Registry is used for all Turbonomic images for online upgrades and installations. Ensure that you have access to https://*.icr.io before continuing.

As of this writing, you need access to the following:

  • https://*.icr.io
  • https://raw.githubusercontent.com
  • https://download.vmturbo.com
  • https://yum.mariadb.org
  • http://archive.mariadb.org/
  • https://packagecloud.io
  • https://download.postgresql.org
  • https://yum.postgresql.org

Proxy settings

If your environment supports access through a proxy, you can set up the containerd daemon to use that proxy via the HTTP_PROXY, HTTPS_PROXY, and NO_PROXY environment variables.

  1. Create the http-proxy.conf file.

    /etc/systemd/system/containerd.service.d/http-proxy.conf
  2. Configure the proxies in the [Service] section of the file, where NO_PROXY specifies hosts to exclude from proxying.

    [Service]
    Environment="HTTP_PROXY=http://proxy.example.com:80"
    Environment="HTTPS_PROXY=https://proxy.example.com:443"
    Environment="NO_PROXY=localhost,127.0.0.1,containerd-registry.example.com,.corp"
    
  3. Reload the daemon and restart containerd.

    sudo systemctl daemon-reload
    sudo systemctl restart containerd
  4. Verify that the HTTP_PROXY, HTTPS_PROXY, and NO_PROXY variables are present in the /etc/environment file. The NO_PROXY variable should include the IP of the instance.

    cat /etc/environment
    http_proxy=http://PROXY_IP:PROXY_PORT
    https_proxy=http://PROXY_IP:PROXY_PORT
    no_proxy=localhost,HOST_IP,node1,127.0.0.1,127.0.0.0,10.233.0.1

For more information, see Container runtime changes in Kubernetes 1.24 and beyond on the Kubernetes documentation site.

If none of these options work, you should perform an offline update.

Performing an online update

Note:

If you encounter issues performing the update, contact your support representative.

  1. Run the upgrade-precheck.sh script.

    This script ensures that your current installation of Turbonomic is ready to update and it must be run before going on to update your installation (see Checking Before Updating).

  2. Download the update script that matches the version to which you are updating.

    Note:

    Scripted online updates support updating to version 8.0.6 or later.

    1. Open an SSH terminal session to your Turbonomic instance.

      Log in with the System Administrator that you set up when you installed Turbonomic:

      • Username: turbo

      • Password: [your_private_password]

    2. Change to the scripts directory.

      cd /opt/local/bin
    3. Get the script for your update version. Run the following command as a single line command:

      curl -O --proxy PROXY_NAME_IP:PORT https://download.vmturbo.com/appliance/download/updates/8.15.0/onlineUpgrade.sh

      Where --proxy PROXY_NAME_IP:PORT is an optional specification to execute the download through a proxy.

    4. Make the script executable.

      chmod +x onlineUpgrade.sh
  3. Save a snapshot of your current Turbonomic VM.

    Before updating, shut down (not power off) the Turbonomic VM.

    sudo init 0

    Then, perform a snapshot (or clone the VM). This provides a reliable restore point you can turn to in the event that trouble occurs during the update. After you have the snapshot, bring the VM back online.

  4. Optionally, enable new probes in your environment.

    Note:

    As Turbonomic evolves, the set of delivered probes change. Also, from one version to the next, the set of probes that are enabled by default can change. When you update to a new version, the update does not change your probe configuration. An update to a newer version does not automatically enable any new probes in your deployment. If you want to take advantage of new probes in an update, then you must enable them manually.

    For steps to enable new probes in your updated version, see Enabling and Disabling Probe Components. Use these steps to edit the platform's cr.yaml file.

    Note:

    During the online or offline upgrade process, you should not apply these changes at this time.

  5. Run the update script.

    Ensure the version in the online update script matches the version of the update script that you downloaded.

    ./onlineUpgrade.sh 8.15.0
    Note:

    You cannot use this script to move to an earlier version of Turbonomic.

    Wait until the script completes.

  6. Verify that Turbonomic installed correctly.
    kubectl get pods -n turbonomic

    After all pods start, the READY column shows 1/1, 2/2, and so on. The STATUS column for each pod shows Running.

    The output is similar to the following example:

    NAME                                         READY   STATUS    RESTARTS 
    action-orchestrator-b6454c9c8-mfl85          1/1     Running   0         
    api-7887c66f4b-shndq                         1/1     Running   0         
    auth-5b86976bc8-vxwz4                        1/1     Running   0         
    clustermgr-85548678d9-r5wb8                  1/1     Running   0         
    ...
  7. Verify that you are running the correct version of MariaDB.

    For this version of the product, Turbonomic supports MariaDB, version 10.6.19. Even after updating to this Turbonomic version, it is possible that your installation is running an earlier version of MariaDB.

    1. While still in the SSH session, check the MariaDB version.

      mysql -V

      The output is similar to the following example:

      mysql  Ver 15.1 Distrib 10.6.19-MariaDB, for Linux (x86_64) using readline 5.1
    2. If the MariaDB version is earlier than 10.6.19, update your MariaDB.

      Before you run the script, you need to know the MariaDB password. By default, this password is vmturbo.

      sudo /opt/local/bin/mariadbUpgrade.sh |& tee -a $HOME/Turbonomic_MariaDB_upgrade.log

      The script updates the version of MariaDB. It also increases size limits for the allowed packets, and buffer and log sizes for the innodb. The script output includes the following (where Total Memory and buffer pool size can vary depending on your VM configuration):

      ================================
      Update the mariadb configuration
      ================================
      Total Memory: 128773 MB
      Changing Innodb buffer pool size to: 9216 MB
      Changing max allowed packets to: 1G
      Changing innodb log file size to: 10G
      ================================
    3. When the script completes, verify that the correct version of MariaDB is running.

      mysql -V
  8. Scale up the Turbonomic platform's pods.

    To update the database, the script scales down your platform pods. When it completes, the script displays the following prompt:

    ##########################################################################
    When confirmed the mariadb has been upgraded and is properly working, run:
    kubectl scale deployment --replicas=1 t8c-operator -n turbonomic
    ##########################################################################

    After you verify that the correct version of MariaDB is running, scale up the platform.

    kubectl scale deployment --replicas=1 t8c-operator -n turbonomic
  9. Clear your browser data and refresh your browser.

    After clearing the browser data and refreshing your browser, you have full access to Turbonomic features. However, features that rely on current analysis data will not be available until after a full market cycle — usually 10 minutes. For example, the Pending Actions charts will not show any actions until after a full market cycle.

  10. Notify other users to clear their browser data and refresh their Turbonomic browser sessions.

Performing an online update of the secure client

Note:

The commands in this section assume that an OVA is being updated to Turbonomic version 8.12.1 or later.

  1. Open an SSH terminal session to your Turbonomic instance.

    Log in with the System Administrator that you set up when you installed Turbonomic:

    • Username: turbo

    • Password: [your_private_password]

  2. Change to the scripts directory.

    cd /opt/local/bin
  3. Download the online upgrade script.

    sudo curl -O https://download.vmturbo.com/appliance/download/updates/8.15.0/onlineUpgrade.sh
  4. Run the update script.

    Ensure the version in the online update script matches the version of the update script that you downloaded.

    /opt/local/bin/onlineUpgrade.sh 8.15.0