SetProtectionDomainLayout
You can use the SetProtectionDomainLayout
method to assign nodes to custom protection domains.
Information must be provided for all active nodes in the cluster and no information can be provided for inactive nodes. All nodes in a given chassis must be assigned to the same custom protection domain. The same protectionDomainType must be supplied for all nodes. protectionDomainTypes that are not custom, such as node and chassis, should not be included. If either of these are provided, then the custom protection domains are ignored and an appropriate error is returned.
Custom protection domains are not supported with the following configurations: |
-
Storage clusters containing shared chassis
-
Two-node storage clusters
The method returns an error when used on storage clusters with these configurations.
Parameter
This method has the following input parameters:
Name | Description | Type | Default value | Required |
---|---|---|---|---|
protectionDomainLayout |
Protection domain information for each node. |
JSON list of nodeProtectionDomains objects. |
None |
Yes |
Return value
This method has the following return value:
Name | Description | Type |
---|---|---|
protectionDomainLayout |
List of nodes, each with its associated protection domains. |
JSON list of nodeProtectionDomains objects. |
Request example
Requests for this method are similar to the following example:
{ "id": 1, "method": "SetProtectionDomainLayout", "params": { "protectionDomainLayout": [ { "nodeID": 1, "protectionDomains": [ { "protectionDomainName": "Rack-1", "protectionDomainType": "custom" } ] }, { "nodeID": 2, "protectionDomains": [ { "protectionDomainName": "Rack-1", "protectionDomainType": "custom" } ] }, { "nodeID": 3, "protectionDomains": [ { "protectionDomainName": "Rack-2", "protectionDomainType": "custom" } ] }, { "nodeID": 4, "protectionDomains": [ { "protectionDomainName": "Rack-2", "protectionDomainType": "custom" } ] } ] } }
Response example
This method returns a response similar to the following example:
{ "id": 1, "result": { "protectionDomainLayout": [ { "nodeID": 1, "protectionDomains": [ { "protectionDomainName": "QTFCR2914008D", "protectionDomainType": "chassis" }, { "protectionDomainName": "Rack-1", "protectionDomainType": "custom" } ] }, { "nodeID": 2, "protectionDomains": [ { "protectionDomainName": "QTFCR291500EA", "protectionDomainType": "chassis" }, { "protectionDomainName": "Rack-1", "protectionDomainType": "custom" } ] }, { "nodeID": 3, "protectionDomains": [ { "protectionDomainName": "QTFCR291500C3", "protectionDomainType": "chassis" }, { "protectionDomainName": "Rack-2", "protectionDomainType": "custom" } ] }, { "nodeID": 4, "protectionDomains": [ { "protectionDomainName": "QTFCR291400E6", "protectionDomainType": "chassis" }, { "protectionDomainName": "Rack-2", "protectionDomainType": "custom" } ] } ] } }
New since version
12.0