Appendix - Upgrading UFM Appliances Configured in HA via UFM REST API

NVIDIA UFM-SDN Appliance User Manual v4.16.1
Note
  • The UFM Appliance version should be 4.9 (UFM 6.10) and above, while the new OS image version should be 4.10 (UFM 6.11) and above.

  • The system must be in HA configuration.

The following UFM REST APIs should be executed for upgrading the UFM appliances:

  1. Upload a new UFM Appliance image. Run:

    Copy
    Copied!
                

    POST https://<UFM hostname>/ufmRest/app/images/appliance

    Example:

    Copy
    Copied!
                

    curl -k -u admin:admin https://192.168.1.11/ufmRest/app/images/appliance -X POST --form file='@/tmp/image-ufm_appliance-x86_64-<version>.img'

    Response:

    Copy
    Copied!
                

    {"file":"image-ufm_appliance-x86_64-<version>img"}

  2. (Optional) Check that the OS image has been uploaded into the appliance. Run:

    Copy
    Copied!
                

    GET https://<UFM hostname>/ufmRest/app/images/appliance

    Example:

    Copy
    Copied!
                

    curl -k -u admin:admin https://192.168.1.11/ufmRest/app/images/appliance  -X GET

    Response:

    Copy
    Copied!
                

    ["image-ufm_appliance-x86_64-<version>.img"]

  3. Upgrade both master and standby appliances. Run:

    Copy
    Copied!
                

    POST https://<UFM hostname>/ufmRest/actions/appliance/upgrade

    Payload:

    Copy
    Copied!
                

    {"name": "<OS image name>"}

    Example:

    Copy
    Copied!
                

    curl -k -u admin:admin https://192.168.1.11/ufmRest/actions/appliance/upgrade -X POST -H "Content-Type: application/json" -d '{"name": "image-ufm_appliance-x86_64-<version>.img"}'

  4. Check the appliance’s upgrade status. Run:

    Copy
    Copied!
                

    GET https://<UFM hostname>/ufmRest/jobs/<upgrade job id>

    Example:

    Copy
    Copied!
                

    curl -k -u admin:admin https://192.168.1.11/ufmRest/jobs/1 -X GET | json_pp

    Response (while the upgrade procedure is ongoing):

    Copy
    Copied!
                

    {                "ID": "1",                "Status": "Running",                "Progress": 0,                "Description": "Appliance upgrade",                "Created": "2022-07-18 06:56:04",                "LastUpdated": "2022-07-18 06:56:04",                "Summary": "",                "RelatedObjects": "",                "CreatedBy": "admin",                "Operation": "Appliance upgrade",                "Foreground": true }

  5. (Optional) Once the upgrade procedure has been completed, get a detailed upgrade status. Run:

    Copy
    Copied!
                

    GET https://<UFM hostname>/ufmRest/actions/appliance/upgrade_status

    Note

    This API can also be executed while the upgrade procedure is ongoing.

    Example:

    Copy
    Copied!
                

    curl -k -u admin:admin https://192.168.1.11/ufmRest/actions/appliance/upgrade_status -X GET | json_pp

    Response:

    Copy
    Copied!
                

    [   "2022-07-18 06:56:04.919 INFO    Going to install image-ufm_appliance-x86_64-UFMAPL_4.9.0.20220714_UFM_6.9.5.11-20220714-061244.img: image version UFMAPL_4.9.0.20220714_UFM_6.9.5.11",   "2022-07-18 06:56:04.920 INFO    Going to get ssh public key",   "2022-07-18 06:56:05.203 INFO    Validating cluster: 10.209.36.38, 10.209.36.35",   "2022-07-18 06:56:05.210 INFO    Validating cluster: 10.209.36.38, 10.209.36.35",   "2022-07-18 06:56:05.211 INFO    Retrieving ha status info from: 10.209.36.38",   "2022-07-18 06:56:05.211 INFO    Retrieving version info from: 10.209.36.38",   "2022-07-18 06:56:10.603 INFO    Image version for 10.209.36.38 is: UFMAPL_4.9.0.20220707_UFM_6.9.5.10",   "2022-07-18 06:56:10.604 INFO    Retrieving ufm status info from: 10.209.36.38",   "2022-07-18 06:56:25.977 INFO    Show installed images on: 10.209.36.38",   "2022-07-18 06:56:31.289 INFO    Retrieving ha status info from: 10.209.36.35",   "2022-07-18 06:56:31.289 INFO    Retrieving version info from: 10.209.36.35",   "2022-07-18 06:56:36.576 INFO    Image version for 10.209.36.35 is: UFMAPL_4.9.0.20220707_UFM_6.9.5.10",   "2022-07-18 06:56:36.576 INFO    Retrieving ufm status info from: 10.209.36.35",   "2022-07-18 06:56:52.156 INFO    Show installed images on: 10.209.36.35",   "2022-07-18 06:56:57.846 INFO    Upgrading cluster: 10.209.36.38, 10.209.36.35",   "2022-07-18 06:56:57.847 INFO    Uploading image /var/opt/tms/images/image-ufm_appliance-x86_64-UFMAPL_4.9.0.20220714_UFM_6.9.5.11-20220714-061244.img on: 10.209.36.38",   "2022-07-18 06:56:57.847 INFO    Uploading image /var/opt/tms/images/image-ufm_appliance-x86_64-UFMAPL_4.9.0.20220714_UFM_6.9.5.11-20220714-061244.img on: 10.209.36.35",   "2022-07-18 06:58:25.534 INFO    Installing image on: 10.209.36.38",   "2022-07-18 06:58:25.815 INFO    Installing image on: 10.209.36.35",   "2022-07-18 07:00:03.117 INFO    Changing boot location on: 10.209.36.35",   "2022-07-18 07:00:08.466 INFO    Rebooting device: 10.209.36.35",   "2022-07-18 07:00:13.252 INFO    Reload command 'reload noconfirm' initiated on '10.209.36.35'",   "2022-07-18 07:04:30.691 INFO    Reload command on '10.209.36.35' ended, status: True",   "2022-07-18 07:04:30.691 INFO    Retrieving version info from: 10.209.36.35",   "2022-07-18 07:04:35.983 INFO    Changing boot location on: 10.209.36.38" ]

  6. Reboot the master appliance. Run:

    Copy
    Copied!
                

    POST https://<ip>//ufmRest/actions/appliance/master_reboot

    Note

    You must wait until the upgrade procedure is completed and the standby appliance is up and running with the new version.

    Example:

    Copy
    Copied!
                

    curl -k -u admin:admin https://192.168.1.11/ufmRest/actions/appliance/master_reboot  -X POST

  7. (Optional) Check the UFM version once the upgrade has been completed. Run:

    Copy
    Copied!
                

    GET https://10.209.36.99/ufmRest/app/ufm_version

    Example:

    Copy
    Copied!
                

    curl -k -u admin:admin https://10.209.36.99/ufmRest/app/ufm_version -X GET

    Response:

    Copy
    Copied!
                

    {"ufm_release_version":"<version>"}

© Copyright 2024, NVIDIA. Last updated on May 29, 2024.