/scalemgmt/v3/filesystems/{filesystem}/disks: POST

Adds disks in an IBM Storage Scale file system.

Availability

Available on all IBM Storage Scale editions.

Description

The POST filesystems/{filesystem}/disks request adds disks in an IBM Storage Scale file system. The file system does not need to be mounted, and it can be in use during the operation. The actual number of disks available in your file system might be limited by other products you installed, apart from IBM Storage Scale. For more information, see the individual product documentation. To add disks to a file system, select one of the following methods:
  • Create new disks with the /scalemgmt/v3/nsds: POST request.
  • Select disks no longer in use by any file system. You can use the /scalemgmt/v3/nsds: GET request to display the disks that are not in use.
Note: Starting with Storage version 5.2.3, specifying disk information by using colon-separated disk descriptors is no longer supported.
To resolve the NO_SPACE error when running this request, do one of the following actions:
  • Rebalance the file system.
  • Run the fsck operation to deallocate unreferenced blocks.
  • Create a pool with larger disks and move data from the old to the new pool.
The operation attributes for this request are LRO, PIT and cancel operation. To run this request, you must have the RBAC permission for the add action on the /scalemgmt/v3/filesystems/{filesystem}/disk resource.

Request URL

https://<IP address or host name of API server>:<port>/scalemgmt/v3/filesystems/{filesystem}/disks
where
filesystems/{filesystem}/disks
Specifies the IBM Storage Scale file system as the target of the POST call.

Request headers

Accept: application/json

Parameters

The following parameters can be used in the request URL to customize the request:
Table 1. List of parameters
Parameter name Description and applicable keywords Required/optional
filesystem The name of file system. Required.
disk The body of the request that contains the required parameters to be passed on to the IBM Storage Scale system to perform the requested operation. Optional.
verify_disks Verify the disks do not belong to an existing file system Optional.
target_nodes.node_list.nodes List the target nodes. Optional.
target_nodes.node_class.node_classes List the target node classes. Optional.
X-StorageScaleDomain The domain to be authorized against for the request. The default value is StorageScaleDomain. Optional.

Request data

No request data.

Response data

  • 200: A successful response.
    {
      "done": true,
      "error": {
        "details": [
          {
            "@type": "string",
            "additionalProp1": "string",
            "additionalProp2": "string",
            "additionalProp3": "string"
          }
        ],
        "httpcode": 0,
        "message": "string",
        "status": "CANCELLED"
      },
      "metadata": {
        "@type": "string",
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      },
      "name": "string",
      "response": {
        "@type": "string",
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      }
    }
  • 202: The request has been accepted for processing, but the processing has not been completed.
    {
      "done": true,
      "error": {
        "details": [
          {
            "@type": "string",
            "additionalProp1": "string",
            "additionalProp2": "string",
            "additionalProp3": "string"
          }
        ],
        "httpcode": 0,
        "message": "string",
        "status": "CANCELLED"
      },
      "metadata": {
        "@type": "string",
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      },
      "name": "string",
      "response": {
        "@type": "string",
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      }
    }

Examples

The following example add nsd_fvt_xii_560 disk to the fs_no_replica_2 file system:

Request data:
curl -X 'POST' 'https://localhost:46443/scalemgmt/v3/filesystems/fs_no_replica_2/disks?verify_disks=YES' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -n -k \
  -d '{
  "disk_usage": "DATA_AND_METADATA",
  "failure_group": "-1",
  "name": "nsd_fvt_xii_560",
  "storage_pool": {
    "block_group_factor": 1024,
    "block_size": 4194304,
    "layout_map": "CLUSTER_BLOCKALLOCATIONTYPE",
    "name": "system",
    "pool_usage": "DATA_AND_METADATA",
    "write_affinity": "YES",
    "write_affinity_depth": 0
  },
  "thin_disk": "THIN_DISK_NO"
}'
Response data:
{
    "name": "MTo0MjdlZGRkYy0zNzc1LTRmMTctYWExZC0xYmNkN2EwMjBmYjQ=",
    "metadata": {
        "@type": "type.googleapis.com/generic.v3.LongRunningOperationMetadata",
        "job_id": "MTo0MjdlZGRkYy0zNzc1LTRmMTctYWExZC0xYmNkN2EwMjBmYjQ=",
        "operation_details": {
            "@type": "type.googleapis.com/disk.v3.AddFilesystemDiskRequest",
            "verify_disks": "YES",
            "filesystem": "fs_no_replica_2",
            "disk": {
                "name": "nsd_fvt_xii_560",
                "failure_group": "-1",
                "thin_disk": "THIN_DISK_NO",
                "disk_usage": "DATA_AND_METADATA",
                "storage_pool": {
                    "name": "system",
                    "block_size": 4194304,
                    "pool_usage": "DATA_AND_METADATA",
                    "layout_map": "CLUSTER_BLOCKALLOCATIONTYPE",
                    "write_affinity": "YES",
                    "write_affinity_depth": 0,
                    "block_group_factor": 1024
                }
            }
        },
        "status": "RUNNING",
        "request_time": "2025-03-31T22:47:15.680406102Z",
        "last_update_time": "2025-03-31T22:47:16.943544840Z",
        "output": "Adding disknsd_fvt_xii_560 to st...",
        "domain_ids": [
            0
        ]
    }
}