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."
}
}