PowerFlex: REST API parameters Explained
Summary: Some rest api parameters explanation in ScaleIO
Instructions
Instance:
========================
Note - All properties here are connected to delta mechanism - the way to send a query per object about the changes from the last time such a query was sent. It works as following:
For each object type, we store the latest version it s an incremental counter, every time an object is changed, the version is increased.
Every object knows what was version last time it was modified. The client sends the request with the last version that he knows.
MDM responds with a list of all objects that were updated after that version.
List of objects deleted since that version
Last version sent
Example for such a query (for ProtectionDomain):
GET /api/types/ProtectionDomain/instances?systemId={system id}&sessionTag={session tag}&lastVersion={last version} isDirty - the version on some objects changed while the MDM created the response, dirty flag that is set if there were changes during the response generation (to encourage the client to send a follow-up request sooner) Last<Object>Version - "serial number" of last delta sent per Object The next delta query should contain this value, and will send delta from this point.
sessionTag - session tag used for delta mechanism request Might be changed by MDM (for example when switch MDM occurs). sessionTag is the MDM restarts counter, if it is mismatched that means MDM was restarted. If the client or MDM was restarted, a full response that contains all objects will be sent.
System:
======================== capacityTimeLeftInDays - The amount of time left until the license expires enterpriseFeaturesEnabled - Indicates whether enterprise features are enabled, part of licensing info. Example of enterprise features- snapshots, QoS The default value is TRUE.
isInitialLicense - Is the current license is the one assigned to the system on initialization.
managementClientSecureCommunicationEnabled - Is secure communication MDM <=> Clients (CLI, REST, UI) enabled. mdmToSdsPolicy - MDM <=> SDS communication policy (regular/authenticated) upgradeState - Whether the system upgrade is in progress and what is its state.
remoteReadOnlyLimitState - Flag that indicates that a remote client is only allowed to perform query operations on MDMrestrictedSdcModeEnabled - Indicates whether users on remote clients are restricted to read-only access (enabled=read-only access; disabled=full read/write access)
SDS:
======================== rfcacheErrorInconsistentCacheConfiguration - Whether there is an error in rfCache configuration. rfcacheErrorInconsistentSourceConfiguration - Whether there is an error in the rfCache source device. rmcacheFrozen - Whether the read-cache is frozen (= temporary not used) rmcacheMemoryAllocationState - State of the memory allocation process (in-progress/done) rmcacheSizeInKb - Size of read-cache on that SDS sdsDecoupled - whether the SDS is in a decoupled state. sdsReceiveBufferAllocationFailures - Counter of buffer allocation failures on SDS (helps to identify performance degradation issues)
========================
Volume:
======================== consistencyGroupId - Identifier that is assigned to all snapshots taken in a single command (they are consistent across the group) mappingToAllSdcsEnabled - Whether the volume is mapped to all SDCs (deprecated!!!)
deviceList
=============== longSuccessfulIos - troubleshooting counter for IOs to disk that took longer than expected, but still ended successfully. Helps to identify malfunctioning disks.activeMovingInNormRebuildJobs
activeMovingOutNormRebuildJobs
activeNormRebuildCapacityInKb
========================
Counters representing backward rebuild triggered from NORMAL state (AKA normal-need-rebuild) - when primary and secondary have different values, but did not ACK'ed the write, so we can pick any value of these two.
The "Jobs" counter represents some combs; active - combs that are in move right now, "MovingIn" - meaning this is the target SDS.
/api/instances/Sds/relationships/Statistics
=============== in-MaintenanceCapacityInKb in-MaintenanceVacInKb - XXXCapacityInKb is the PHYSICAL capacity, XXXVacInKb is ALLOCATED capacity.
The difference is significant in thin volumes and snapshots - consider a 10 TB thin volume, with 1 TB written data on it, so allocated=10 TB, physical=1TB
in-MaintenanceCapacityInKb
in-MaintenanceVacInKb
Capacity that is in maintenance (on the SDS that is in maintenance mode) normRebuildCapacityInKb - Capacity that is considered "normal-need-rebuild" normRebuildReadBwc - Bandwidth of reads as part of "rebuild from normal" (there is the same for writes, for some reason not in the list) pendingMovingInNormRebuildJobs pendingMovingOutNormrebuildJobs - Combs that should be rebuilt, but are waiting in queue. rmPendingAllocatedInKb - Capacity that is marked for removal (e.g during remove device/SDS) semi-ProtectedVacInKb - The "other side" of the capacity in maintenance ThinCapacityAllocatedInKm -it should be ThinCapacityAllocatedInKb. It is a REST API bug, which will be fixed in 3."OscillatingCounterParameters" and "OscillatingCounter"
"OscillatingCounterWindowParameters" and "OscillatingCounterWindow"
===============
Each oscillating counter consists of three sliding windows short, med, long, each is configured with threshold and window size (in seconds)
Once the threshold is reached within the current window, the relevant alert is issued.
Hence,"OscillatingCounterParameters" contains 3 "OscillatingCounterWindowParameters";"OscillatingCounter" contains 3 "OscillatingCounterWindow."
===============