Storage tape-devices endpoint overview
Contributors
Suggest changes
Retrieving storage tape information
The storage tape GET API retrieves all of the tapes in the cluster.
Examples
1) Retrieving a list of tapes from the cluster
The following example returns the list of tapes in the cluster:
# The API: /api/storage/tape-devices # The call: curl -X GET "https://<mgmt-ip>/api/storage/tape-devices" -H "accept: application/hal+json" # The response: { "records": [ { "node": { "uuid": "4083be52-5315-11eb-a839-00a0985ebbe7", "name": "st-8020-1-01", "_links": { "self": { "href": "/api/cluster/nodes/4083be52-5315-11eb-a839-00a0985ebbe7" } } }, "device_id": "2d.0", "_links": { "self": { "href": "/api/storage/tape-devices/4083be52-5315-11eb-a839-00a0985ebbe7/2d.0" } } }, { "node": { "uuid": "4083be52-5315-11eb-a839-00a0985ebbe7", "name": "st-8020-1-01", "_links": { "self": { "href": "/api/cluster/nodes/4083be52-5315-11eb-a839-00a0985ebbe7" } } }, "device_id": "2d.0L1", "_links": { "self": { "href": "/api/storage/tape-devices/4083be52-5315-11eb-a839-00a0985ebbe7/2d.0L1" } } }, { "node": { "uuid": "4083be52-5315-11eb-a839-00a0985ebbe7", "name": "st-8020-1-01", "_links": { "self": { "href": "/api/cluster/nodes/4083be52-5315-11eb-a839-00a0985ebbe7" } } }, "device_id": "qeg-tape-brocade2-8g:0.126", "_links": { "self": { "href": "/api/storage/tape-devices/4083be52-5315-11eb-a839-00a0985ebbe7/qeg-tape-brocade2-8g%3A0.126" } } }, { "node": { "uuid": "4083be52-5315-11eb-a839-00a0985ebbe7", "name": "st-8020-1-01", "_links": { "self": { "href": "/api/cluster/nodes/4083be52-5315-11eb-a839-00a0985ebbe7" } } }, "device_id": "stsw-broc6510-01:11.126", "_links": { "self": { "href": "/api/storage/tape-devices/4083be52-5315-11eb-a839-00a0985ebbe7/stsw-broc6510-01%3A11.126" } } }, { "node": { "uuid": "4083be52-5315-11eb-a839-00a0985ebbe7", "name": "st-8020-1-01", "_links": { "self": { "href": "/api/cluster/nodes/4083be52-5315-11eb-a839-00a0985ebbe7" } } }, "device_id": "stsw-broc6510-01:15.126", "_links": { "self": { "href": "/api/storage/tape-devices/4083be52-5315-11eb-a839-00a0985ebbe7/stsw-broc6510-01%3A15.126" } } }, { "node": { "uuid": "4083be52-5315-11eb-a839-00a0985ebbe7", "name": "st-8020-1-01", "_links": { "self": { "href": "/api/cluster/nodes/4083be52-5315-11eb-a839-00a0985ebbe7" } } }, "device_id": "stsw-broc6510-01:15.126L1", "_links": { "self": { "href": "/api/storage/tape-devices/4083be52-5315-11eb-a839-00a0985ebbe7/stsw-broc6510-01%3A15.126L1" } } }, { "node": { "uuid": "4083be52-5315-11eb-a839-00a0985ebbe7", "name": "st-8020-1-01", "_links": { "self": { "href": "/api/cluster/nodes/4083be52-5315-11eb-a839-00a0985ebbe7" } } }, "device_id": "stsw-broc6510-01:22.126", "_links": { "self": { "href": "/api/storage/tape-devices/4083be52-5315-11eb-a839-00a0985ebbe7/stsw-broc6510-01%3A22.126" } } }, { "node": { "uuid": "4083be52-5315-11eb-a839-00a0985ebbe7", "name": "st-8020-1-01", "_links": { "self": { "href": "/api/cluster/nodes/4083be52-5315-11eb-a839-00a0985ebbe7" } } }, "device_id": "stsw-broc6510-01:23.126", "_links": { "self": { "href": "/api/storage/tape-devices/4083be52-5315-11eb-a839-00a0985ebbe7/stsw-broc6510-01%3A23.126" } } }, ], "num_records": 7, "_links": { "self": { "href": "/api/storage/tape-devices" } } }
2) Retrieving a specific tape device from the cluster
The following example returns the requested tape device. If there is no tape with the requested UID, an error is returned.
# The API: /api/storage/tape-devices/{node.uuid}/{device_id} # The call: curl -X GET "https://<mgmt-ip>/api/storage/tape-devices/5f5275eb-5315-11eb-8ac4-00a0985e0dcf/2d.0" -H "accept: application/hal+json" # The response: { "node": { "uuid": "5f5275eb-5315-11eb-8ac4-00a0985e0dcf", "name": "st-8020-1-02", "_links": { "self": { "href": "/api/cluster/nodes/5f5275eb-5315-11eb-8ac4-00a0985e0dcf" } } }, "device_id": "2d.0", "type": "tape", "description": "IBM LTO-6 ULT3580", "alias": { "name": "st7", "mapping": "SN[1068000245]" }, "aliases": [ { "name": "st7", "mapping": "SN[1068000245]" } ], "wwnn": "5001697722ee0010", "wwpn": "5001697722ee0011", "serial_number": "1068000245", "interface": "sas", "device_state": "offline", "formats": [ "LTO-4/5 Native Density", "LTO-4/5 Compressed", "LTO-6 2.5TB", "LTO-6 6.25TB Compressed" ], "storage_port": { "name": "2d" }, "file_number": -1, "block_number": -1, "residual_count": 0, "density": "low", "device_names": [ { "rewind_device": "rst0l", "no_rewind_device": "nrst0l", "unload_reload_device": "urst0l" }, { "rewind_device": "rst0m", "no_rewind_device": "nrst0m", "unload_reload_device": "urst0m" }, { "rewind_device": "rst0h", "no_rewind_device": "nrst0h", "unload_reload_device": "urst0h" }, { "rewind_device": "rst0a", "no_rewind_device": "nrst0a", "unload_reload_device": "urst0a" } ], "reservation_type": "off", "_links": { "self": { "href": "/api/storage/tape-devices/5f5275eb-5315-11eb-8ac4-00a0985e0dcf/2d.0" } } }
Updating a tape device
The tape PATCH API allows the tape device to be set online or offline, positioned, and given an alias.
Examples
1) Taking a tape device offline
The following example takes a tape device offline:
# The API: /api/storage/tape-devices/{node.uuid}/{device_id} # The call: curl -X PATCH "https://<mgmt-ip>/api/storage/tape-devices/5f5275eb-5315-11eb-8ac4-00a0985e0dcf/2d.0" -H "accept: application/hal+json" -H "Content-Type: application/hal_json" -d '{"online": "false"}' # The response: { "job": { "uuid": "9e544626-306e-11ec-8c2e-00a098b81daa", "_links": { "self": { "href": "/api/cluster/jobs/9e544626-306e-11ec-8c2e-00a098b81daa" } } } }
2) Bringing a tape device online
The following example brings a tape device online:
# The API: /api/storage/tape-devices/{node.uuid}/{device_id} # The call: curl -X PATCH "https://<mgmt-ip>/api/storage/tape-devices/5f5275eb-5315-11eb-8ac4-00a0985e0dcf/2d.0" -H "accept: application/hal+json" -H "Content-Type: application/hal_json" -d '{"online": "true"}' # The response: { "job": { "uuid": "9e544626-306e-11ec-8c2e-00a098b81daa", "_links": { "self": { "href": "/api/cluster/jobs/9e544626-306e-11ec-8c2e-00a098b81daa" } } } }
3) Giving a tape device an alias
The following example assigns an alias to a tape device:
# The API: /api/storage/tape-devices/{node.uuid}/{device_id} # The call: curl -X PATCH "https://<mgmt-ip>/api/storage/tape-devices/5f5275eb-5315-11eb-8ac4-00a0985e0dcf/2d.0" -H "accept: application/hal+json" -H "Content-Type: application/hal_json" -d '{"aliases": [{"name": "st0"}]}' # The response: { }
4) Removing a tape device's aliases
The following example clears any aliases previously assigned to a tape device:
# The API: /api/storage/tape-devices/{node.uuid}/{device_id} # The call: curl -X PATCH "https://<mgmt-ip>/api/storage/tape-devices/5f5275eb-5315-11eb-8ac4-00a0985e0dcf/2d.0" -H "accept: application/hal+json" -H "Content-Type: application/hal_json" -d '{"aliases": []}' # The response: { }
5) Rewinding a tape device
The following example rewinds a tape device:
# The API: /api/storage/tape-devices/{node.uuid}/{device_id} # The call: curl -X PATCH "https://<mgmt-ip>/api/storage/tape-devices/5f5275eb-5315-11eb-8ac4-00a0985e0dcf/2d.0" -H "accept: application/hal+json" -H "Content-Type: application/hal_json" -d '{"position": {"operation": "rewind"}}' # The response: { "job": { "uuid": "9e544626-306e-11ec-8c2e-00a098b81daa", "_links": { "self": { "href": "/api/cluster/jobs/9e544626-306e-11ec-8c2e-00a098b81daa" } } } }
6) Forwarding the tape five files
The following example moves the tape forward five file records:
# The API: /api/storage/tape-devices/{node.uuid}/{device_id} # The call: curl -X PATCH "https://<mgmt-ip>/api/storage/tape-devices/5f5275eb-5315-11eb-8ac4-00a0985e0dcf/2d.0" -H "accept: application/hal+json" -H "Content-Type: application/hal_json" -d '{"position": {"operation": "fsf", "count": 5}}' # The response: { "job": { "uuid": "954c20d5-306e-11ec-8c2e-00a098b81daa", "_links": { "self": { "href": "/api/cluster/jobs/954c20d5-306e-11ec-8c2e-00a098b81daa" } } } }