Additional metrics

Storage providers APIs provide additional metrics and state information for PowerVC 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 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

string

Whether compression is supported. Possible values are yes and no.

Example:
{
  "storage_providers": [
     {
        "id": 1,
        "storage_hostname": "mystorage1"
        },
     {
        "id": 2,
        "storage_hostname": "mystorage2"
        }
  ]
}

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 and ssp.

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_id": "00000200A020F5B4",
      "backend_state": "running",
      "backend_type": "svc",
      "free_capacity_gb": 10039.5,
      "health_status": {
         "health_value": "OK",
          "updated_at": "2013-12-06T15:57:24.915618"
      },
      "id": 1,
      "service": {
          "access_ip": "10.0.0.1",
          "default_volume_type": "01f5ed60-b85f-6fe790ca1618",
          "host": "mystorage1",
          "host_display_name": "MyStorage1",
          "id": 21
      },
      "storage_hostname": "mystorage1",
      "total_capacity_gb": 10608.0,
      "volume_count": null
  },
  {
      "backend_id": "00000100F020F5A4",
      "backend_state": "running",
      "backend_type": "svc",
      "free_capacity_gb": 10039.5,
      "health_status": {
          "health_value": "OK",
          "updated_at": "2013-12-05T15:57:24.715618"
      },
      "id": 1,
      "service": {
          "access_ip": "10.0.0.2",
          "default_volume_type": "0115e160-f1bd-6fe798ca1618",
          "host": "mystorage2",
          "host_display_name": "MyStorage2",
          "id": 2
      },
      "storage_hostname": "mystorage2",
      "total_capacity_gb": 10608.0,
      "volume_count": null
  }

]
}

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 and ssp.

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_id": "00000200A020F5B4",
       "backend_state": "running",
       "backend_type": "svc",
       "free_capacity_gb": 10039.5,
       "health_status": {
           "health_value": "OK",
           "updated_at": "2013-12-06T15:57:24.915618"
       },
       "id": 1,
       "service": {
           "access_ip": "10.0.0.1",
           "default_volume_type": "01f5ed60-fcbd-6fe790ca1618",
           "host": "mystorage1",
           "host_display_name": "MyStorage1",
           "id": 21
       },
       "storage_hostname": "mystorage1",
       "total_capacity_gb": 10608.0,
       "volume_count": null
   }
 ]
}

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 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 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.5TB 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.5TB 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 two different providers. p1_v7000 is a Storwize® provider and 000198700498 is the array ID of an EMC VMAX provider). The VMAX provider returns some information about the array that is redundant with information provided from the storage-providers API.

{
 "p1_v7000": {
  "volume_pools": [
   {
    "status": "online",
    "easy_tier": "auto",
    "capacity": "10.91TB",
    "compression_virtual_capacity": "80.00GB",
    "vdisk_count": "1455",
    "extent_size": "256",
    "virtual_capacity": "20.52TB",
    "compression_active": "yes",
    "real_capacity": "10.08TB",
    "overallocation": "188",
    "name": "powervc_npiv_pool",
    "free_capacity": "598.00GB",
    "easy_tier_status": "inactive",
    "warning": "80",
    "compression_compressed_capacity": "10.67GB",
    "mdisk_count": "2",
    "used_capacity": "9.80TB",
    "id": "0",
    "compression_uncompressed_capacity": "79.52GB"
   },
   {
    "status": "online",
    "easy_tier": "auto",
    "capacity": "2.73TB",
    "compression_virtual_capacity": "10.00GB",
    "vdisk_count": "241",
    "extent_size": "256",
    "virtual_capacity": "6.23TB",
    "compression_active": "yes",
    "real_capacity": "2.39TB",
    "overallocation": "228",
    "name": "powervc_vios_pool",
    "free_capacity": "311.75GB",
    "easy_tier_status": "inactive",
    "warning": "80",
    "compression_compressed_capacity": "1.01GB",
    "mdisk_count": "1",
    "used_capacity": "2.31TB",
    "id": "2",
    "compression_uncompressed_capacity": "9.96GB"
   }
  ]
 },
 "000198700498": {
  "generation": "V2",
  "ecom_server": "1.11.111.111",
  "volume_pools": [
   {
    "capacity": "516.5 GB",
    "name": "PowerVC_thin",
    "percentage_subscribed": 74,
    "raid_level": "RAID1",
    "free_space": "371.3 GB",
    "free_capacity": "129.5 GB",
    "raw_free_capacity": "371.3 GB",
    "percentage_used": 28,
    "associated_fast_policies": [
     {
      "free_gb": 129,
      "total_gb": 516,
      "storage_tiers": [
       "SYMMETRIX+000198700498+Tier_FC_raid1"
      ],
      "fast_policy_name": "FAST_fc_thin"
     }
    ],
    "used_capacity": "145.2 GB",
    "id": "SYMMETRIX+000198700498+TP+PowerVC_thin"
   }
  ],
  "free_capacity_gb": 767,
  "total_capacity_gb": 8960,
  "ecom_user": "admin",
  "port_groups": [
   "portgroup0",
   "portgroup1"
  ],
  "ecom_port": "5989",
  "firmware_level": "5876.268.174",
  "symmetrix_array": "000198700498"
 }
}

Retrieve metrics for supported storage pools from a specific storage provider

This operation retrieves metrics about the storage pools that a specific provider 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.5TB 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.5TB 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.