Chassis
The hardware commands are used to get a list of appliance hardware chassis and components.
Table 6-2 Hardware Commands
Request | Append to Path /hardware/v{1|2} | Description |
---|---|---|
GET |
/chassis |
List hardware chassis |
GET |
/chassis/chassis |
Get the specified hardware chassis properties |
PUT |
/chassis/chassis |
Modify the specified hardware chassis properties |
GET |
/chassis/chassis/fru_type |
List hardware chassis components |
GET |
/chassis/chassis/fru_type/fru |
Get the specified chassis component properties |
PUT |
/chassis/chassis/fru_type/fru |
Modify hardware chassis component properties |
List Chassis
The get chassis command does not take any arguments and returns a list of system chassis objects. An HTTP status 200 (OK) is returned for a successful command.
Property | Type | Description |
---|---|---|
|
string |
Chassis name |
|
string |
Chassis model number |
|
string |
Chassis manufacturer |
|
string |
Chassis serial number |
|
string |
Chassis revision level |
|
string |
Chassis replacement part number |
|
string |
Chassis storage type |
|
boolean |
Fault indicator |
|
string |
Chassis UUID identifier |
Example Request:
GET /api/hardware/v1/chassis HTTP/1.1 Host: zfs-storage.example.com:215 Accept: application/json
Example Result:
HTTP/1.1 200 OK
Content-Length: 788
Content-Type: application/json
X-Zfssa-Appliance-Api: 1.0
{
"hardware": [{
"faulted": false,
"href": "/api/hardware/v1/chassis/chassis-000",
"manufacturer": "Oracle",
"model": "Oracle ZFS Storage ZS3-2",
"name": "hostname",
"rpm": "--",
"serial": "1211FM200C",
"type": "system"
}, {
"faulted": false,
"href": "/api/hardware/v1/chassis/chassis-001",
"locate": false,
"manufacturer": "Oracle",
"model": "Oracle Storage DE2-24C",
"name": "1235FM4002",
"part": "7046842",
"path": 2,
"revision": "0010",
"rpm": 7200,
"serial": "1235FM4002",
"type": "storage"
}, {
"faulted": false,
"href": "/api/hardware/v1/chassis/chassis-002",
"locate": false,
"manufacturer": "Oracle",
"model": "Oracle Storage DE2-24P",
"name": "50050cc10c206b96",
"part": "7046836",
"path": 2,
"revision": "0010",
"rpm": 10000,
"serial": "50050cc10c206b96",
"type": "storage"
}]
}
Get Chassis Components
This command returns all the hardware components within the specified chassis. An HTTP status 200 (OK) is returned for a successful command.
Example Request:
GET /api/hardware/v1/chassis/chassis-001 HTTP/1.1 Host: zfs-storage.example.com:215 Accept: application/json
Example Result:
HTTP/1.1 200 OK Content-Type: application/json { "chassis": { "type": "storage" "faulted": false, "href": "/api/hardware/v1/chassis/chassis-001", "locate": false, "manufacturer": "Oracle", "model": "Oracle Storage DE2-24C", "name": "1235FM4002", "part": "7046842", "path": 2, "revision": "0010", "rpm": 7200, "serial": "1235FM4002", "disk": [{ "device": "c0t5000CCA01A76A2B8d0", "faulted": false, "href": "/api/hardware/v1/chassis/chassis-001/disk/disk-000", "interface": "SAS", "label": "HDD 0", "locate": false, "offline": false, "readytoremove": false, "manufacturer": "HITACHI", "model": "H7230AS60SUN3.0T", "pathcount": 2, "present": true, "revision": "A310", "rpm": 7200, "serial": "001210R37LVD--------YHJ37LVD", "size": 3000592982016, "type": "data", "use": "peer" }, { "href": "/api/hardware/v1/chassis/chassis-001/disk/disk-001", ... }, { "href": "/api/hardware/v1/chassis/chassis-001/disk/disk-002", ... }, ... { "href": "/api/hardware/v1/chassis/chassis-001/disk/disk-023", ... }], "fan": [ { "href": "/api/hardware/v1/chassis/chassis-001/fan/fan-000", ... }, ... { "href": "/api/hardware/v1/chassis/chassis-001/fan/fan-007", }], "psu": [ { "href": "/api/hardware/v1/chassis/chassis-001/psu/psu-000", ... }, { "href": "/api/hardware/v1/chassis/chassis-001/psu/psu-001", }, { "href": "/api/hardware/v1/chassis/chassis-001/psu/psu-002", }, { "href": "/api/hardware/v1/chassis/chassis-001/psu/psu-003", }], "slot": [{ "href": "/api/hardware/v1/chassis/chassis-001/slot/slot-000", }, { "href": "/api/hardware/v1/chassis/chassis-001/slot/slot-001", }], } }
Get Hardware Component
This command returns the properties from a single hardware component. An HTTP status 200 (OK) is returned for a successful command. The response object contains the component properties shown in the following table.
The offline
, readytoremove
, and use
properties apply only to disks in a pool.
Property | Type | Description |
---|---|---|
|
string |
The field-replaceable unit (FRU) device ID |
|
boolean |
Whether the FRU is faulted |
|
string |
FRU interface type |
|
string |
FRU location label |
|
boolean |
Whether the FRU locate LED is on |
|
string |
FRU manufacturer |
|
string |
FRU model |
|
boolean |
Whether the disk is offline |
|
integer |
Total number of I/O paths to the disk shelf |
|
boolean |
FRU presence indicator |
|
boolean |
Whether the disk drive is ready to remove after fault |
|
string |
Firmware or hardware revision of the FRU |
|
number |
Platter RPM (disk only) |
|
string |
FRU serial number |
|
number |
FRU size (capacity) |
|
string |
Component type |
|
string |
Component usage enumeration |
Example Request:
GET /api/hardware/v1/chassis/chassis-001/disk/disk-011 HTTP/1.1 Host: zfs-storage.example.com:215 Accept: application/json
Example Result:
HTTP/1.1 200 OK Content-Type: application/json { "disk": { "device": "c0t5000CCA01A764FB0d0", "faulted": false, "href": "/api/hardware/v1/chassis/chassis-001/disk/disk-011", "interface": "SAS", "label": "HDD 11", "locate": false, "offline": false, "readytoremove": false, "manufacturer": "HITACHI", "model": "H7230AS60SUN3.0T", "pathcount": 2, "present": true, "revision": "A310", "rpm": 7200, "serial": "001210R322ED--------YHJ322ED", "size": 3000592982016, "type": "data", "use": "peer" } }
Modify Component Property
A PUT request can be used to set properties on a selected hardware component. A successful request returns HTTP status 201 (Accepted) as well as the component properties in JSON format.
Example Request:
PUT /api/hardware/v1/chassis/chassis-001/disk/disk-011 HTTP/1.1
Host: zfs-storage.example.com:215
X-Auth-User: root
X-Auth-Key: password
Accept: application/json
Content-Type: application/json
Content-Length: 16
{"locate": true}
Example JSON Response:
HTTP/1.1 202 Accepted X-Zfssa-Appliance-Api: 1.0 Content-Length: 403 Content-Type: application/json { "disk": { "href": "/api/hardware/v1/chassis/chassis-001/disk/disk-011", ..., "locate": true } }