Upgrade devices

Submit management devices for upgrade.

Note: This API method produces JSON-formatted response only.

Request

Request body to consist of JSON object with field “deviceIds” - array of device UUIDs to be queued for upgrade.

Note: Manager device must be upgraded through “upgradeManagementDevices” API method before any other devices can be queued for upgrade. Requests made to upgrade devices prior to Manager device upgrade will return error with status 422 Unprocessable Entity.

Security

Table 1. Roles capable of executing the Upgrade Devices (upgradeDevices) API method
Any Super User System Admin Security Admin Operator
  superUser systemAdmin    

HTTP method

POST /manager/api/json/1.0/upgradeDevices.adm HTTP/1.1 Host:{manager.dsnet} Content-Type: application/json {"deviceIds":["0d46bc49-7dca-7cfe-11cc-2bb7ba55b143","533a9321-264f-79c0-10d5-91e4bf816943", "d998fa8c-5b17-782d-0008-141f89644243", "a3ee2ebc-07bc-72b7-01f7-4a392b0d7243"]}

Curl method

curl -u {admin}:{password} -k https://{manager.dsnet}/manager/api/json/1.0/upgradeDevices.adm --header "Content-Type: application/json" -d ‘{"deviceIds":["0d46bc49-7dca-7cfe-11cc-2bb7ba55b143","533a9321-264f-79c0-10d5-91e4bf816943", "d998fa8c-5b17-782d-0008-141f89644243", "a3ee2ebc-07bc-72b7-01f7-4a392b0d7243"]}’

Parameters

None. JSON object containing field “deviceIds” to be sent in body of request.

Response

Response will include a result array describing the submission status of each device sent in the request. If a submitted device is already in process of upgrading or current, the corresponding device object will display success as false and provide an errorMessage indicating the reason the requested action cannot be performed on the device.

Response to consist of JSON object devices containing devices for which upgrade is required or in progress, represented within the storage/access/file server/smc pool to which the device is assigned (or, if unassigned, within a devicesNotInPool array of device objects).

Devices are only returned in the response if upgrade for that device is either required or in progress. If a device requires upgrade, upgradeStatus for that device will display as null.

While device upgrade is in progress, upgradeStatus for that device will be displayed. Once device is successfully upgraded to the current upgrade repository version, it will no longer be displayed in response.

Note: Devices failing upgrade precheck will be returned within a failedPrecheck array of device objects containing the failed device's UUID, hostname, and upgradeErrorCode.

JSON response example

{
    "responseStatus": "ok",
    "responseHeader": {
        "now": 1598997206810,
        "status": "ok",
        "requestId": "X07C1gqJDDcAABimqjoAAACS"
    },
    "responseData": {
        "result": [
            {
                "uuid": "581c2b46-6e6f-7d33-01ae-c8db03059543",
                "success": true
            },
            {
                "uuid": "66d81b4f-e712-754b-1078-37cc855b8c43",
                "success": false,
                "errorMessage": "Device is already in process of upgrading or current"
            },
            {
                "uuid": "667928fe-d77e-700d-00f6-8c7e4906af43",
                "success": false,
                "errorMessage": "Device is already in process of upgrading or current"
            },
            {
                "uuid": "d28e8cca-6043-7eb6-0040-bf02e0ffc643",
                "success": true
            }
        ],
        "devices": {
            "storagePools": [
                {
                    "uuid": "6015f4f7-e50f-78aa-10fb-7ef54edf0060",
                    "name": "StoragePool1",
                    "sets": [
                        {
                            "uuid": "14af8892-96f5-76be-10b6-304146de6961",
                            "name": "StoragePool1 - Set 1",
                            "devices": [
                                {
                                    "uuid": "581c2b46-6e6f-7d33-01ae-c8db03059543",
                                    "hostname": "vm-dc5429r-ss-21",
                                    "deviceType": "slicestor",
                                    "deviceHealth": "ok",
                                    "version": "3.15.2.0",
                                    "upgradeStatus": {
                                        "state": "pending",
                                        "upgradeErrorCode": null,
                                        "modificationTime": 1598997209242,
                                        "halted": false,
                                        "forceKilled": false,
                                        "markedForRemoval": false,
                                        "timeUntilEligibleForUpgrade": null
                                    }
                                },
                                {
                                    "uuid": "66d81b4f-e712-754b-1078-37cc855b8c43",
                                    "hostname": "vm-dc5429r-ss-22",
                                    "deviceType": "slicestor",
                                    "deviceHealth": "error",
                                    "version": "3.15.2.0",
                                    "upgradeStatus": {
                                        "state": "capturingIntegrity",
                                        "upgradeErrorCode": null,
                                        "modificationTime": 1598997202439,
                                        "halted": false,
                                        "forceKilled": false,
                                        "markedForRemoval": false,
                                        "timeUntilEligibleForUpgrade": null
                                    }
                                }
                            ]
                        },
                        {
                            "uuid": "71196c4a-1705-77c9-016e-2e04f75c2461",
                            "name": "StoragePool1 - Set 2",
                            "devices": [
                                {
                                    "uuid": "667928fe-d77e-700d-00f6-8c7e4906af43",
                                    "hostname": "vm-dc5429r-ss-23",
                                    "deviceType": "slicestor",
                                    "deviceHealth": "error",
                                    "version": "3.15.2.0",
                                    "upgradeStatus": {
                                        "state": "capturingIntegrity",
                                        "upgradeErrorCode": null,
                                        "modificationTime": 1598997202982,
                                        "halted": false,
                                        "forceKilled": false,
                                        "markedForRemoval": false,
                                        "timeUntilEligibleForUpgrade": null
                                    }
                                },
                                {
                                    "uuid": "d28e8cca-6043-7eb6-0040-bf02e0ffc643",
                                    "hostname": "vm-dc5429r-ss-24",
                                    "deviceType": "slicestor",
                                    "deviceHealth": "ok",
                                    "version": "3.15.2.0",
                                    "upgradeStatus": {
                                        "state": "pending",
                                        "upgradeErrorCode": null,
                                        "modificationTime": 1598997209242,
                                        "halted": false,
                                        "forceKilled": false,
                                        "markedForRemoval": false,
                                        "timeUntilEligibleForUpgrade": null
                                    }
                                }
                            ]
                        }
                    ]
                }
            ],
            "accessPools": [
                {
                    "uuid": "45679ad1-5d7d-7219-01b0-c36145923162",
                    "name": "AccessPool",
                    "devices": [
                        {
                            "uuid": "639b10c6-5b0a-7a8c-1003-bd01911c1f43",
                            "hostname": "vm-dc5429r-acc-09",
                            "deviceType": "accesser",
                            "deviceHealth": "ok",
                            "version": "3.15.2.0",
                            "upgradeStatus": null
                        },
                        {
                            "uuid": "55f23427-0e34-75b0-000c-43ed9954e243",
                            "hostname": "vm-dc5429r-acc-10",
                            "deviceType": "accesser",
                            "deviceHealth": "ok",
                            "version": "3.15.2.0",
                            "upgradeStatus": null
                        }
                    ]
                }
            ],
            "devicesNotInPool": [
                {
                    "uuid": "99f39e79-7f4f-7ba4-1102-41f475a68f43",
                    "hostname": "vm-dc5429r-ss-25",
                    "deviceType": "slicestor",
                    "deviceHealth": "ok",
                    "version": "3.15.2.0",
                    "upgradeStatus": null
                }
            ]
        }
    }
}

Parameters

Table 2. Response parameters for the Upgrade Devices (upgradeDevices) API method
Parameter Type Description
devices object Devices in the system for which upgrade is required or in progress.
failedPrecheck array Devices that failed upgrade precheck, represented as array of objects. Each failedPrecheck device object includes:
uuid String Device Universally Unique Identifier.
hostname String Device hostname.
deviceType String Device type.
deviceHealth String Device health.
version String Device’s current software version
upgradeErrorCode String Code indicating reason for upgrade failure.
storagePools array Storage pools in the system, represented as array of objects. Each storage pool object includes:
uuid String Storage pool Universally Unique Identifier.
name String Storage pool name.
sets array Sets in an expanded storage pool, represented as array of objects. Each storage pool set object includes:
uuid String Storage pool set Universally Unique Identifier.
name String Storage pool set name.
accessPools array Access pools in the system, represented as array of objects. Each access pool object includes:
uuid String Access pool Universally Unique Identifier.
name String Access pool name.
fileServerPools array File server pools in the system, represented as array of objects. Each file server pool object includes:
uuid String File server pool Universally Unique Identifier.
name String File server pool name.
smcPools array SMC pools in the system, represented as array of objects. Each SMC pool object includes:
uuid String SMC pool Universally Unique Identifier.
name String SMC pool name.
devices array Devices contained within in each of the above pools, represented as array of objects. Each device object includes:
uuid String Device Universally Unique Identifier.
hostname String Device hostname.
deviceType String Device type.
deviceHealth String Device health.
version String Device’s current software version
upgradeStatus object Device’s upgrade status. Null value indicates device requires upgrade. If present, upgradeStatus is represented as an object consisting of:
state String Device’s upgrade state (e.g. “pending”, “initiated”).
upgradeErrorCode String Code indicating reason for upgrade failure.
modificationTime String UNIX time when device upgrade was initiated.
markedForRemoval boolean Indicates device’s pending removal from upgrade queue.
halted boolean Indicates whether device upgrade has been temporarily halted.
forceKilled boolean Indicates whether device upgrade has been force-killed due to unrecoverable error.
timeUntilEligibleForUpgrade Long Milliseconds until device can safely be upgraded.