Active file management (AFM) APIs
The Active file management (AFM) API references.
- Retrieve the authorization token
- For the CURL command, see Active file management (AFM) fileset creation
- Retrieve the filesystem name (filesystem_name) that is mounted on the OpenShift® Container Platform cluster:
-
curl -k -H "Authorization:Token <token retreived from the previous command>" -X GET --header 'content-type:application/json' https://<spectrum_scale_gui_route>/scalemgmt/v2/filesystems { "filesystems" : [ { "name" : "ibmspectrum-fs" } ], "status" : { "code" : 200, "message" : "The request finished successfully." }
Example:curl -k -H "Authorization:Token 07b0a89c-5a62-4b8d-b709-b5b51b2a394c" -X GET --header 'content-type:application/json' https://ibm-spectrum-scale-gui-ibm-spectrum-scale.apps.isf.ibm.com/scalemgmt/v2/filesystems { "filesystems" : [ { "name" : "ibmspectrum-fs" } ], "status" : { "code" : 200, "message" : "The request finished successfully." }
- Create AFM fileset
-
curl -k -H "Authorization:Token <“Token Value> -X POST --header 'content-type:application/json' --header 'accept:application/json' -d '{ "filesetName": “<"Name of fileset">”, "path": “<"filesystem mount point">/<"fileset name">", "afmTarget": “<"NFS export path">”, "afmMode": "independent-writer" }' <"Scale route URL">/scalemgmt/v2/filesystems//filesets { "jobs" : [ { "jobId" : 2000000011591, "status" : "RUNNING", "submitted" : "2023-01-12 12:33:46,219", "completed" : "N/A", "runtime" : 3, "request" : { "data" : { "afmMode" : "independent-writer", "afmTarget" : “<"NFS export path">”, "filesetName" : “<"fileset Name">”, "path" : "<"filesystem mount point">/<"fileset name">" }, "type" : "POST", "url" : "/scalemgmt/v2/filesystems//filesets" }, "result" : { }, "pids" : [ ] } ], "status" : { "code" : 202, "message" : "The request was accepted for processing." } }
Example:curl -k -H "Authorization:Token 07b0a89c-5a62-4b8d-b709-b5b51b2a394c" -X POST --header 'content-type:application/json' --header 'accept:application/json' -d '{ "filesetName": "afmScale", "path": "/mnt/ibmspectrum-fs/afmScale", "afmTarget": "nfs://9.30.44.36/mnt/fs1/fset1", "afmMode": "independent-writer" }' https://scalemgmt/v2/filesystems/ibmspectrum-fs/filesets { "jobs" : [ { "jobId" : 2000000011591, "status" : "RUNNING", "submitted" : "2023-01-12 12:33:46,219", "completed" : "N/A", "runtime" : 3, "request" : { "data" : { "afmMode" : "independent-writer", "afmTarget" : "nfs://9.30.44.36/mnt/fs1/fset1", "filesetName" : "afmScale", "path" : "/mnt/ibmspectrum-fs/afmScale" }, "type" : "POST", "url" : "/scalemgmt/v2/filesystems/ibmspectrum-fs/filesets" }, "result" : { }, "pids" : [ ] } ], "status" : { "code" : 202, "message" : "The request was accepted for processing." } }
- Get cache status
-
curl -k -H "Authorization:Token “<"Token value">” -X GET --header 'content-type:application/json' <"Scale Route URL">/scalemgmt/v2/filesystems/<"filesystem Name">/afm/state For eg:
Example:curl -k -H "Authorization:Token 07b0a89c-5a62-4b8d-b709-b5b51b2a394c" -X GET --header 'content-type:application/json' https://ibm-spectrum-scale-gui-ibm-spectrum-scale.apps.isf-racki.rtp.raleigh.ibm.com/scalemgmt/v2/filesystems/ibmspectrum-fs/afm/state { "filesetAfmStateList" : [ { "cacheState" : "Active", "filesetName" : "afmfsetnfs", "filesystemName" : "ibmspectrum-fs" }, { "cacheState" : "Active", "filesetName" : "afmpallavi", "filesystemName" : "ibmspectrum-fs" }, { "cacheState" : "Active", "filesetName" : "afms", "filesystemName" : "ibmspectrum-fs" }, { "cacheState" : "Active", "filesetName" : "cosfset1", "filesystemName" : "ibmspectrum-fs" }, { "cacheState" : "Active", "filesetName" : "afmScale", "filesystemName" : "ibmspectrum-fs" }, { "cacheState" : "Active", "filesetName" : "afmScalePal", "filesystemName" : "ibmspectrum-fs" }, { "cacheState" : "Active", "filesetName" : "afmScaleS", "filesystemName" : "ibmspectrum-fs" } ], "status" : { "code" : 200, "message" : "The request finished successfully." } }
- Get job status
-
curl -k -H "Authorization:Token <“<"Token Value">” -X GET --header 'content-type:application/json' <"Scale Route URL">/scalemgmt/v2/jobs/
Example:curl -k -H "Authorization:Token 07b0a89c-5a62-4b8d-b709-b5b51b2a394c" -X GET --header 'content-type:application/json' https://ibm-spectrum-scale-gui-ibm-spectrum-scale.apps.isf-racki.rtp.raleigh.ibm.com/scalemgmt/v2/jobs/2000000011591 { "jobs" : [ { "jobId" : 2000000011591, "status" : "COMPLETED", "submitted" : "2023-01-12 12:33:46,219", "completed" : "2023-01-12 12:33:55,845", "runtime" : 9626, "request" : { "data" : { "afmMode" : "independent-writer", "afmTarget" : "nfs://9.30.44.36/mnt/fs1/fset1", "filesetName" : "afmScale", "path" : "/mnt/ibmspectrum-fs/afmScale" }, "type" : "POST", "url" : "/scalemgmt/v2/filesystems/ibmspectrum-fs/filesets" }, "result" : { "progress" : [ ], "commands" : [ "mmcrfileset 'ibmspectrum-fs' 'afmScale' --inode-space new --inode-limit '1M:50K' --allow-permission-change 'chmodAndSetAcl' -p 'afmTarget=nfs://9.30.44.36/mnt/fs1/fset1' -p 'afmMode=independent-writer' ", "mmlinkfileset 'ibmspectrum-fs' 'afmScale' -J '/mnt/ibmspectrum-fs/afmScale' " ], "stdout" : [ "EFSSG0070I File set afmScaleS created successfully.", "EFSSG0078I File set afmScale successfully linked.\n" ], "stderr" : [ ], "exitCode" : 0 }, "pids" : [ ] } ], "status" : { "code" : 200, "message" : "The request finished successfully." } }