Accept Mismatched Storage Volumes

The Accept Mismatched Storage Volumes operation completes the fulfillment process for selected volumes of a storage group that have been flagged as possibly being mismatched or overprovisioned.

HTTP method and URI

POST /api/storage-groups/{storage-group-id}/operations/accept-mismatched-storage-volumes

In this request, the URI variable {storage-group-id} is the object ID of the Storage Group object.

Request body contents

The request body is expected to contain a JSON object with the following fields:

Field name Type Rqd/Opt Description
storage-volume-uris Array of String/ URI Required The canonical URIs of the mismatched storage volumes that are to be accepted.

Description

This operation accepts FCP or NVMe storage volumes that have been flagged as being mismatched or overprovisioned.

If the API user does not have action/task permission to the Configure Storage – System Programmer task, a 403 (Forbidden) status code is returned. A 404 (Not Found) status code is returned if the object ID {storage-group-id} does not identify a storage group object to which the API user has object-access permission, or one of the storage volumes identified in the storage-volume-uris field in the request body does not identify a storage volume in the storage group, or the current value of the group’s type property is not "fcp" or "nvme".

If the target storage group is busy, or if one of the storage volumes identified in the storage-volume-uris field has a fulfillment-state property value that is not "pending-with-mismatches" or "overprovisioned", a 409 (Conflict) status code is returned.

If the request body fails to validate, a 400 (Bad Request) status code is returned.

If the request body contents are valid, the fulfillment-state property of each storage volume identified in the storage-volume-uris field is changed to "complete". If the fulfillment-state property values for all other storage volumes in the parent storage group are also "complete", the parent storage group's fulfillment-state property will also be set to "complete". Change notifications for each storage volume's fulfillment-state property are emitted asynchronously to this operation. A change notification for the parent storage group's fulfillment-state property may be also emitted.

Authorization requirements

This operation has the following authorization requirements:
  • Object-access permission to the storage group whose object-id is {storage-group-id}.
  • Action/task permission to the Configure Storage – System Programmer task.

HTTP status and reason codes

On success, HTTP status code 204 (No Content) is returned and no response body is provided.

The following HTTP status codes are returned for the indicated errors, and the response body is a standard error response body providing the reason code indicated and the associated error message.

Table 1. Accept Mismatched Storage Volumes: HTTP status and reason codes
HTTP error status code Reason code Description
400 (Bad Request) Various Errors were detected during common request validation. See Common request validation reason codes for a list of the possible reason codes.
403 (Forbidden) 1 The API user does not have action/task permission to the Configure Storage – System Programmer task.
404 (Not Found) 1 A storage group with the object-id {storage-group-id} does not exist on the HMC or the API user does not have object-access permission for it.
4 The storage group object with the object-id {storage-group-id} has a type value other than "fcp" or "nvme".
5 A storage volume identified in the storage-volume-uris array field does not exist in the storage group with the object-id {storage-group-id}.
409 (Conflict) 2 The storage group object with the object-id {storage-group-id} was busy and the request timed out.
471 The current value of the fulfillment-state property of one of the storage volumes identified in the storage-volume-uris array field is not "pending-with-mismatches" or "overprovisioned".
503 (Service Unavailable) 1 The request could not be processed because the HMC is not currently communicating with the SE needed to perform the requested operation.

Additional standard status and reason codes can be returned, as described in Invoking API operations.

Example HTTP interaction

Figure 1. Accept Mismatched Storage Volumes: Request
POST /api/storage-groups/bc600cca-e29e-11e8-9879-fa163e9c462b/operations/accept-mismatched-
   storage-volumes HTTP/1.1
x-api-session: 5b4tzc4fkakbrg4qsprt1ha84vvwdauch9y2x7al5wew0ann58
content-type: application/json
content-length: 138
{
   "storage-volume-uris":[
      "/api/storage-groups/bc600cca-e29e-11e8-9879-fa163e9c462b/storage-volumes/cb61f800-
         e29e-11e8-9879-fa163e9c462b"
   ]
}
Figure 2. Accept Mismatched Storage Volumes: Response
204 No Content
server: Hardware management console API web server / 2.0
cache-control: no-cache
date: Wed, 07 Nov 2018 15:42:06 GMT

<No response body>