Additional metrics

Storage providers APIs provide additional metrics and state information for IBM® Cloud Infrastructure Center registered storage subsystems.

Additional metrics options

Table 1. Storage provider additional metrics options

Method URI Description
GET /v3/{tenant_id}/storage-providers Equivalent to Nova or OS-hypervisors API for list storage provider status or metrics.
GET /v3/{tenant_id}/storage-providers/detail Retrieves status or metric details for all storage providers.
GET /v3/{tenant_id}/storage-providers/{provider_id} Retrieves status or metric details for a specific storage provider.
GET /v3/{tenant_id}/volume-pools Retrieves metric details for all supported storage pools from all registered storage providers.
GET /v3/{tenant_id}/volume-pools/{provider_id} Retrieves metric details for all supported storage pools from the specified storage provider.

Retrieve list of storage providers

This operation retrieves a list of storage providers, their status or metrics. This API takes no request body and returns ID and host names list of storage providers.

Response codes

  • Normal Response Code: OK(200)

  • Error Response Codes: Bad Request(400), Server Error(500)

Response body

Table 2. Parameters in the response for retrieving the list of storage providers

Name Style Type Description
storage_hostname body string Host name of the storage.
id body integer The ID of the storage provider.
compression_supported body integer Whether compression is supported. Possible values are yes and no.

Example:

{
    "storage_providers": [
        {
            "id": 1,
            "storage_hostname": "9_152_89_41"
        },
        {
            "id": 2,
            "storage_hostname": "9_60_63_219"
        }
    ]
}

Retrieve detailed status and metrics for all storage providers

This API takes no request body and returns detailed status and metrics for all storage providers.

Response codes

  • Normal Response Code: OK(200)

  • Error Response Codes: Bad Request(400), Server Error(500)

Response body
Table 3. Parameters in the response for retrieving detailed status and metrics for all storage providers

Name Style Type Description
access_ip body string IP address or the host name to connect to the storage provider.
storage_hostname body string Host name of the storage.
backend_id body string The ID of the storage provider, as reported by the storage provider.
backend_state body string The state of the storage provider.
backend_type body string The type of storage the provider manages. Examples are svc.
compression_supported body string Whether compression is supported. Possible values are yes and no.
free_capacity_gb body float Free capacity in the storage provider in gigabytes.
health_status body object The health status of the storage provider. The values are OK, Warning, Attention, Critical, or Unknown.
default_volume_type body string The name of the storage template to create as the default for the storage controller.
host body string Internally generated unique name to lookup storage provider.
host_display_name body string User-specified name to give to the storage provider.
total_capacity_gb body float Total capacity in the storage provider in gigabytes.

Example:

{
"storage_providers": [
    {
        "backend_type": "svc",
        "volume_count": null,
        "service": {
            "host_display_name": "v7000",
            "host": "9_152_89_41",
            "access_ip": "9.152.89.41",
            "default_volume_type": "bba95f44-f335-4ce1-b9cb-ff6bb15c568e",
            "id": 5
        },
        "backend_id": "00000200A20014A8",
        "health_status": {
            "health_value": "OK",
            "id": "1",
            "value_reason": [],
            "updated_at": "2019-11-06T05:33:45.460888"
        },
        "free_capacity_gb": 7404.0,
        "total_capacity_gb": 17887.0,
        "storage_hostname": "9_152_89_41",
        "compression_supported": "no",
        "id": 1,
        "backend_state": "running"
    },
    {
        "backend_type": "svc",
        "volume_count": null,
        "service": {
            "host_display_name": "us_v7000",
            "host": "9_60_63_219",
            "access_ip": "9.60.63.219",
            "default_volume_type": "af2477c0-9ae1-4c86-9337-5e4d58c45d13",
            "id": 6
        },
        "backend_id": "00000200604201F0",
        "health_status": {
            "health_value": "OK",
            "id": "2",
            "value_reason": [],
            "updated_at": "2019-11-06T05:33:45.460912"
        },
        "free_capacity_gb": 4815.0,
        "total_capacity_gb": 12606.0,
        "storage_hostname": "9_60_63_219",
        "compression_supported": "no",
        "id": 2,
        "backend_state": "running"
    }
]
}

Retrieve detailed status and metrics for a specific storage provider

This API takes no request body and retrieves detailed status and metrics for a specific storage provider.

Response codes

  • Normal Response code: OK(200)

  • Error Response Codes: Bad Request(400), Not Found(404), Server Error(500)

Response body

Table 4. Parameters in the response for retrieving detailed status and metrics for a specific storage provider

Name Style Type Description
access_ip body string IP address or the host name to connect to the storage provider.
storage_hostname body string Host name of the storage.
backend_id body string The ID of the storage provider, as reported by the storage provider.
backend_state body string The state of the storage provider.
backend_type body string The type of storage the provider manages. Examples are svc.
free_capacity_gb body float Free capacity in the storage provider in gigabytes.
health_status body object The health status of the storage provider. The values are OK, Warning, Attention, Critical, or Unknown.
default_volume_type body string The name of the storage template to create as the default for the storage controller.
host body string Internally generated unique name to lookup storage provider.
host_display_name body string User-specified name to give to the storage provider.
total_capacity_gb body float Total capacity in the storage provider in gigabytes.

Example:

{
"storage_provider": {
    "backend_type": "svc",
    "volume_count": null,
    "service": {
        "host_display_name": "v7000",
        "host": "9_152_89_41",
        "access_ip": "9.152.89.41",
        "default_volume_type": "bba95f44-f335-4ce1-b9cb-ff6bb15c568e",
        "id": 5
    },
    "backend_id": "00000200A20014A8",
    "health_status": {
        "health_value": "OK",
        "id": "1",
        "value_reason": [],
        "updated_at": "2019-11-06T05:36:11.648155"
    },
    "free_capacity_gb": 7404.0,
    "total_capacity_gb": 17887.0,
    "storage_hostname": "9_152_89_41",
    "compression_supported": "no",
    "id": 1,
    "backend_state": "running"
}
}

Retrieve metrics for supported storage pools from all storage providers

This operation retrieves metrics on the storage pools that the provider reports. Some storage providers might provide additional information. The attributes documented here are only required ones that the provider must give. Some providers might return additional information, as shown in the following example. However, calling code should not depend on a specific metric attribute unless it is documented in the response body table.

Response codes

  • Normal Response Code: OK(200)

  • Error Response Codes: Bad Request(400), Sever Error(500)

Response Body

Table 5. Parameters in the response for retrieving metrics for supported storage pools from all storage providers

Name Style Type Description
volume_pools body list List of volume pool objects for a particular provider.
name body string The name of the storage pool.
capacity body string The storage pool's capacity. The units of the capacity value may be given within the string. For example, 20.5 TB or 600 GB. If the value is only a number, the units should be interpreted as Gigabytes.
free_capacity body string The unallocated capacity that remains in the storage pool. The units of the capacity may be given within the string. For example, 20.5 TB or 600 GB. If the value is only a number, the units should be interpreted as Gigabytes. This value might represent either the unreserved (or unsubscribed) storage space that remains in the pool, or it might represent the remaining real space (that is, the raw free capacity, or unwritten capacity). The storage provider determines what free_capacity means.

Example:

 {
 "9_60_63_219": {
     "volume_pools": [
         {
             "site_name": "",
             "parent_mdisk_grp_name": "SVC-MEGAMOUTH",
             "real_capacity": "0.00MB",
             "site_id": "",
             "warning": "0",
             "mdisk_count": "41",
             "id": "0",
             "encrypt": "no",
             "parent_mdisk_grp_id": "0",
             "overallocation": "0",
             "easy_tier_status": "balanced",
             "used_capacity": "0.00MB",
             "type": "parent",
             "status": "offline",
             "compression_virtual_capacity": "0.00MB",
             "vdisk_count": "0",
             "compression_active": "no",
             "compression_compressed_capacity": "0.00MB",
             "child_mdisk_grp_count": "0",
             "capacity": "3.97TB",
             "child_mdisk_grp_capacity": "0.00MB",
             "compression_uncompressed_capacity": "0.00MB",
             "easy_tier": "auto",
             "name": "SVC-MEGAMOUTH",
             "extent_size": "512",
             "virtual_capacity": "0.00MB",
             "free_capacity": "3.97TB",
             "owner_type": "none"
         },
         {
             "site_name": "",
             "parent_mdisk_grp_name": "SVC-MEGA-III",
             "real_capacity": "3.53TB",
             "site_id": "",
             "warning": "80",
             "mdisk_count": "7",
             "id": "9",
             "encrypt": "no",
             "parent_mdisk_grp_id": "9",
             "overallocation": "96",
             "easy_tier_status": "balanced",
             "used_capacity": "3.52TB",
             "type": "parent",
             "status": "online",
             "compression_virtual_capacity": "0.00MB",
             "vdisk_count": "359",
             "compression_active": "no",
             "compression_compressed_capacity": "0.00MB",
             "child_mdisk_grp_count": "0",
             "capacity": "3.86TB",
             "child_mdisk_grp_capacity": "0.00MB",
             "compression_uncompressed_capacity": "0.00MB",
             "easy_tier": "auto",
             "name": "SVC-MEGA-III",
             "extent_size": "512",
             "virtual_capacity": "3.74TB",
             "free_capacity": "272.00GB",
             "owner_type": "none"
         }
     ]
 },
 "9_152_89_41": {
     "volume_pools": [
         {
             "site_name": "",
             "parent_mdisk_grp_name": "Pool_1",
             "real_capacity": "724.22GB",
             "site_id": "",
             "warning": "80",
             "mdisk_count": "1",
             "id": "0",
             "encrypt": "no",
             "parent_mdisk_grp_id": "0",
             "overallocation": "52",
             "easy_tier_status": "balanced",
             "used_capacity": "723.95GB",
             "type": "parent",
             "status": "online",
             "compression_virtual_capacity": "0.00MB",
             "vdisk_count": "16",
             "compression_active": "no",
             "compression_compressed_capacity": "0.00MB",
             "child_mdisk_grp_count": "0",
             "capacity": "1.36TB",
             "child_mdisk_grp_capacity": "0.00MB",
             "compression_uncompressed_capacity": "0.00MB",
             "easy_tier": "auto",
             "name": "Pool_1",
             "extent_size": "1024",
             "virtual_capacity": "735.00GB",
             "free_capacity": "662.00GB",
             "owner_type": "none"
         },
         {
             "site_name": "",
             "parent_mdisk_grp_name": "Pool_zIaas",
             "real_capacity": "25.85GB",
             "site_id": "",
             "warning": "80",
             "mdisk_count": "1",
             "id": "2",
             "encrypt": "no",
             "parent_mdisk_grp_id": "2",
             "overallocation": "28",
             "easy_tier_status": "balanced",
             "used_capacity": "19.08GB",
             "type": "parent",
             "status": "online",
             "compression_virtual_capacity": "0.00MB",
             "vdisk_count": "81",
             "compression_active": "no",
             "compression_compressed_capacity": "0.00MB",
             "child_mdisk_grp_count": "0",
             "capacity": "1.36TB",
             "child_mdisk_grp_capacity": "0.00MB",
             "compression_uncompressed_capacity": "0.00MB",
             "easy_tier": "auto",
             "name": "Pool_zIaas",
             "extent_size": "1024",
             "virtual_capacity": "394.00GB",
             "free_capacity": "1.26TB",
             "owner_type": "none"
         },
     ]
 }
}

Retrieve metrics for supported storage pools from a specific storage provider

This operation retrieves metrics about the storage pools that a specific reports. Some storage providers might provide additional information. The attributes documented here are only the required ones that the provider must give. Some providers might return additional information, as shown in the following example. However, calling code should not depend on a specific metric attribute unless it is documented in the response body table.

Response codes

  • Normal Response Code: OK (200)

  • Error Response Codes: Bad Request (400), Server Error (500)

Response body
Table 6. Parameters in the response for retrieving metrics for supported storage pools from a specific storage provider

Name Style Type Description
volume_pools body list List of volume pool objects for a particular provider.
name body string The name of the storage pool.
capacity body string The storage pool's capacity. The units of the capacity value may be given within the string. For example, 20.5 TB or 600 GB. If the value is only a number, the units should be interpreted as Gigabytes.
free_capacity body string The unallocated capacity that remains in the storage pool. The units of the capacity may be given within the string. For example, 20.5 TB or 600 GB. If the value is only a number, the units should be interpreted as Gigabytes. This value might represent either the unreserved (or unsubscribed) storage space that remains in the pool, or it might represent the remaining real space (that is, the raw free capacity, or unwritten capacity). The storage provider determines what free_capacity means.

Example:

This example shows storage pools returned from a specific V7000 provider:

{
"9_152_89_41": {
    "volume_pools": [
        {
            "site_name": "",
            "parent_mdisk_grp_name": "Pool_1",
            "real_capacity": "724.22GB",
            "site_id": "",
            "warning": "80",
            "mdisk_count": "1",
            "id": "0",
            "encrypt": "no",
            "parent_mdisk_grp_id": "0",
            "overallocation": "52",
            "easy_tier_status": "balanced",
            "used_capacity": "723.95GB",
            "type": "parent",
            "status": "online",
            "compression_virtual_capacity": "0.00MB",
            "vdisk_count": "16",
            "compression_active": "no",
            "compression_compressed_capacity": "0.00MB",
            "child_mdisk_grp_count": "0",
            "capacity": "1.36TB",
            "child_mdisk_grp_capacity": "0.00MB",
            "compression_uncompressed_capacity": "0.00MB",
            "easy_tier": "auto",
            "name": "Pool_1",
            "extent_size": "1024",
            "virtual_capacity": "735.00GB",
            "free_capacity": "662.00GB",
            "owner_type": "none"
        },
        {
            "site_name": "",
            "parent_mdisk_grp_name": "Pool_zIaas",
            "real_capacity": "25.85GB",
            "site_id": "",
            "warning": "80",
            "mdisk_count": "1",
            "id": "2",
            "encrypt": "no",
            "parent_mdisk_grp_id": "2",
            "overallocation": "28",
            "easy_tier_status": "balanced",
            "used_capacity": "19.08GB",
            "type": "parent",
            "status": "online",
            "compression_virtual_capacity": "0.00MB",
            "vdisk_count": "81",
            "compression_active": "no",
            "compression_compressed_capacity": "0.00MB",
            "child_mdisk_grp_count": "0",
            "capacity": "1.36TB",
            "child_mdisk_grp_capacity": "0.00MB",
            "compression_uncompressed_capacity": "0.00MB",
            "easy_tier": "auto",
            "name": "Pool_zIaas",
            "extent_size": "1024",
            "virtual_capacity": "394.00GB",
            "free_capacity": "1.26TB",
            "owner_type": "none"
        }
    ]
}
}