- URL:
- https://<root>/data/<datastoreID>/config/volumes/edit
- Methods:
POST
- Required Capability:
- Access allowed only with the Publisher role
- Version Introduced:
- 11.3
Description
The edit
operation updates the storage requests for the deployments of a system-managed object, spatiotemporal, or relational data store. It allows administrators to increase the storage value for the data store deployment’s PersistentVolumeClaim, which then expands the underlying volume for that data store.
This operation allows administrators to expand volumes before storage space has run out, which would result in the system freezing. Prior to 11.3, when the system was frozen, administrators would need to create a backup of their organization, undeploy ArcGIS Enterprise on Kubernetes, increase the storage request value in the PVC, and then redeploy ArcGIS Enterprise on Kubernetes, the process of which would result in downtime for organization members, collaborators, and users.
To be eligible for volume expansion, the PersistentVolume must be dynamically provisioned, and the underlying storage class must allow for volume expansion.
Once the operation is performed, it can take several minutes for volume optimization to complete. Administrators can perform another volume expansion once optimization for the previous expansion is finished. Limitations to how frequently administrators can perform volume expansions vary depending on the deployment’s cloud provider. For example, those using EKS as a cloud provider will only be able to perform volume expansion three times every six hours.
This operation can only be performed asynchronously. The job created once the request is submitted can be used to monitor the volume expansion in real-time.
Request parameters
Parameter | Details |
---|---|
(Required) | A JSON object contianing the new The following is a list of
Example
|
(Required) | Specifies whether the operation will be performed asynchronously. The only accepted value is |
| The response format. The default format is Values: |
Example usage
The following is a sample POST request for the edit
operation, demonstraitng expanding the volumes for an object store in an organization using the Enhanced Availability architecture profile:
POST /context/admin/data/2eca8ba5-ad4e-4798-bbe5-ea27db7e04e84/config/volumes/edit HTTP/1.1
Host: organization.domain.com
Content-Type: application/x-www-form-urlencoded
Content-Length: []
{
"datastoreId": "2eca8ba5-ad4e-4798-bbe5-ea27db7e04e84",
"datastoreType": "objectStore",
"deployments": [
{
"type": "ObjectStore",
"name": "arcgis-object-store-xxxx-xxxx",
"mode": "Metadata",
"volumes": [
{
"spec": {
"accessModes": ["ReadWriteOnce"],
"resources" {
"limits": {},
"requests": {
"storage": "33Gi"
}
},
"storageClassName": "gp3"
},
"kind": "PersistentVolumeClaim",
"purpose": "data-volume"
}
]
},
{
"type": "ObjectStore",
"name": "arcgis-object-store-xxxx-xxxx",
"mode": "Data",
"volumes": [
{
"spec": {
"accessModes": ["ReadWriteOnce"],
"resources": {
"limits": {},
"requests": {
"storage": "32Gi"
}
},
"storageClassName": "gp3"
},
"kind": "PersistentVolumeClaim",
"purpose": "data-volume"
}
]
}
]
}&async=true&f=pjson&token=ShyoW_1p9PjJNuVfR0D3a4qpLSAOJKVPoFWS6cEC6J3rXVkEWKEbD82VjAB0VQ_hWImd9pd-1h7AsHTt0m45N1_mzyzR-66Rqhu2Ydl7zc1Yk7JVRneVmQORFy2efBnc1ZndpXfuoKe41XRFGz3wl9LI8kG35lqAPGjM5F7v_hQMkhC1Ky37BDLizZCR4-xtq3h0Nb4VfYNtJRjwoKUUkgaaJSEUtilXj936p1yNBnPYQWb7dDjVuSVr502EzjvB
JSON Response example
When the volume expansion request is submitted, the response will include a URL that can be used to access the job for this operation and check the status of the operation:
{
"jobsUrl" : "https://devent.esri.com/gis/admin/jobs/j6a7c23bd-797d-4f65-9139-aa3ea7bfe0df",
"jobid" : "j6a7c23bd-797d-4f65-9139-aa3ea7bfe0df",
"status" : "SUBMITTED"
}
When completed, the job will either have a completed or failed status:
{
"result": {
"deployments": [
{
"mode": "Mixed",
"name": "arcgis-object-store-xxxx-xxxx",
"volumes": [
{
"purpose": "data-volume",
"kind": "PersistentVolumeClaim",
"persistentVolumeClaims": [
{
"actualCapacity": "32Gi",
"requestedCapacity": "32Gi",
"name": "data-volume-arcgis-object-store-xxxx-xxxx"
},
{
"actualCapacity": "32Gi",
"requestedCapacity": "32Gi",
"name": "data-volume-arcgis-object-store-xxxx-xxxx"
},
{
"actualCapacity": "32Gi",
"requestedCapacity": "32Gi",
"name": "data-volume-arcgis-object-store-xxxx-xxxx"
}
],
"spec": {
"storageClassName": "arcgis-storage-default",
"resources": {
"requests": {"storage": "33Gi"},
"limits": {}
},
"accessModes": ["ReadWriteOnce"],
"volumeMode": "Filesystem"
}
}
],
"type": "ObjectStore"
}
],
"datastoreId": "2eca8ba5-ad4e-4798-bbe5-ea27db7e04e84",
"datastoreType": "objectStore"
},
"updatedtime": 1715983746073,
"jobid": "j6a7c23bd-797d-4f65-9139-aa3ea7bfe0df",
"requestID": "726eb51c-5ed6-479a-b0a3-eb2d11f0b2fe",
"name": "expandDataStoreVolume",
"endtime": 1715983746078,
"starttime": 1715983745573,
"status": "COMPLETED"
}