You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -752,7 +757,11 @@ A Controller Plugin MUST implement this RPC call if it has `CREATE_DELETE_VOLUME
752
757
This RPC will be called by the CO to provision a new volume on behalf of a user (to be consumed as either a block device or a mounted filesystem).
753
758
754
759
This operation MUST be idempotent.
755
-
If a volume corresponding to the specified volume `name` already exists, is accessible from `accessibility_requirements`, and is compatible with the specified `capacity_range`, `volume_capabilities` and `parameters` in the `CreateVolumeRequest`, the Plugin MUST reply `0 OK` with the corresponding `CreateVolumeResponse`.
760
+
If a volume corresponding to the specified volume `name` already exists, is accessible from `accessibility_requirements`, and is compatible with the specified `capacity_range`, `volume_capabilities`, `parameters` and `mutable_parameters` in the `CreateVolumeRequest`, the Plugin MUST reply `0 OK` with the corresponding `CreateVolumeResponse`.
761
+
762
+
The `parameters` field SHALL contain opaque volume attributes to be specified at creation time.
763
+
The `mutable_parameters` field SHALL contain opaque volume attributes that are defined at creation time but MAY also be changed during the lifetime of the volume via a subsequent `ControllerModifyVolume` RPC.
764
+
Values specified in `mutable_parameters` SHOULD take precedence over the values from `parameters`.
| Volume does not exist | 5 NOT_FOUND | Indicates that a volume corresponding to the specified `volume_id` does not exist. | Caller MUST verify that the `volume_id` is correct and that the volume is accessible and has not been deleted before retrying with exponential back off. |
1619
1644
1645
+
1646
+
#### `ControllerModifyVolume`
1647
+
1648
+
A Controller plugin MUST implement this RPC call if plugin has MODIFY_VOLUME controller capability.
1649
+
This RPC allows the CO to change mutable key attributes of a volume.
1650
+
1651
+
This operation MUST be idempotent.
1652
+
The new mutable parameters in ControllerModifyVolume can be different from the existing mutable parameters.
1653
+
1654
+
1655
+
```protobuf
1656
+
message ControllerModifyVolumeRequest {
1657
+
option (alpha_message) = true;
1658
+
1659
+
// Contains identity information for the existing volume.
1660
+
// This field is REQUIRED.
1661
+
string volume_id = 1;
1662
+
1663
+
// Secrets required by plugin to complete modify volume request.
1664
+
// This field is OPTIONAL. Refer to the `Secrets Requirements`
| Parameters not supported | 3 INVALID_ARGUMENT | Indicates that the CO has specified mutable parameters not supported by the volume. | Caller MAY verify mutable parameters. |
1689
+
| Exceeds capabilities | 3 INVALID_ARGUMENT | Indicates that the CO has specified capabilities not supported by the volume. | Caller MAY verify volume capabilities by calling ValidateVolumeCapabilities and retry with matching capabilities. |
1690
+
| Volume does not exist | 5 NOT FOUND | Indicates that a volume corresponding to the specified volume_id does not exist. | Caller MUST verify that the volume_id is correct and that the volume is accessible and has not been deleted before retrying with exponential back off. |
1691
+
1620
1692
#### `GetCapacity`
1621
1693
1622
1694
A Controller Plugin MUST implement this RPC call if it has `GET_CAPACITY` controller capability.
0 commit comments