Cisco IMC REST API Examples for Supported S-Series Servers in Release 4.2

Verify GET Fabric URI

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics

Response

{
        "@odata.id":    "/redfish/v1/Fabrics",
        "@odata.type":  "#FabricCollection.FabricCollection",
        "@odata.context":       "/redfish/v1/$metadata#FabricCollection.FabricCollection",
        "Description":  "Collection of Fabrics",
        "Name": "Fabric Collection",
        "Members@odata.count":  1,
        "Members":      [{
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric"
                }]
}

Verify SAS Fabric URI

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric

Response

{
        "@odata.id":    "/redfish/v1/Fabrics/SASFabric",
        "@odata.type":  "#Fabric.v1_1_0.Fabric",
        "@odata.context":       "/redfish/v1/$metadata#Fabric.Fabric",
        "Description":  "SAS Fabric Description",
        "Switches":     {
                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Switches"
        },
        "Zones":        {
                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Zones"
        },
        "Endpoints":    {
                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints"
        },
        "Id":   "SASFabric",
        "Name": "SASFabric",
        "FabricType":   "SAS",
        "MaxZones":     10,
        "Status":       {
                "State":        "Enabled",
                "Health":       "OK"
        },
        "Oem":  {
                "Cisco":        {
                        "DrivePowerPolicy":     "active",
                        "DualEnclosureStatus":  "Disabled"
                }
        }
}

Verify GET Switches URI

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Switches

Response

https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Switches
Response:
{
        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Switches",
        "@odata.type":  "#SwitchCollection.SwitchCollection",
        "@odata.context":       "/redfish/v1/$metadata#SwitchCollection.SwitchCollection",
        "Description":  "Collection of Switches",
        "Name": "Switch Collection",
        "Members@odata.count":  2,
        "Members":      [{
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Switches/SASEXP1"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Switches/SASEXP2"
                }]
}

Verify GET Switch Expander

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Switches/SASEXP1

Response

{
        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Switches/SASEXP1",
        "@odata.type":  "#Switch.v1_3_0.Switch",
        "@odata.context":       "/redfish/v1/$metadata#Switch.Switch",
        "Description":  "Switch Information",
        "Id":   "SASEXP1",
        "Name": "SASEXP1",
        "SwitchType":   "SAS",
        "Manufacturer": "Microsemi",
        "Model":        "Microsemi",
        "PowerState":   "On",
        "Oem":  {
                "Cisco":        {
                        "SasAddress":   "55897BD75945EA00",
                        "EnclosureLogicalId":   "55897BD75945E000",
                        "ActiveFirmwareRevision":       "04.08.01 B082",
                        "BackupFirmwareRevision":       "04.08.01 B083",
                        "ExecutingFirmwarePartition":   "2",
                        "MixedSpeedModeEnabled":        true
                }
        }
}

Verify GET Zones

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Zones

Response

{
        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Zones",
        "@odata.type":  "#ZoneCollection.ZoneCollection",
        "@odata.context":       "/redfish/v1/$metadata#ZoneCollection.ZoneCollection",
        "Description":  "Collection of Zones",
        "Name": "Zone Collection",
        "Members":      [{
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Zones/Server1SBMezz1"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Zones/Server1SBMezz2"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Zones/Server2SBMezz1"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Zones/Server2SBMezz2"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Zones/Unassigned"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Zones/ChassisWideHotspare"
                }],
        "Members@odata.count":  6
}

Verify GET Controller - List all for All Endpoints

Request

curl -k -u admin:password https://10.10.10.10.10/redfish/v1/Fabrics/SASFabric/
Zones/Server1SBMezz1

Response

{
        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Zones/Server1SBMezz1",
        "@odata.type":  "#Zone.v1_5_0.Zone",
        "@odata.context":       "/redfish/v1/$metadata#Zone.Zone",
        "Description":  "Zone Description",
        "Links":        {
                "Endpoints":    [{
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/Server1SBMezz1"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/4"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/5"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/6"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/7"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/8"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/9"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/10"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/11"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/12"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/13"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/14"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/15"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/16"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/17"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/18"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/19"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/20"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/21"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/22"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/23"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/24"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/25"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/26"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/27"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/28"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/44"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/45"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/46"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/47"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/48"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/49"
                        }]
        },
        "Id":   "Server1SBMezz1",
        "Name": "Server1SBMezz1",
        "ZoneType":     "ZoneOfEndpoints",
        "Status":       {
                "State":        "Enabled",
                "Health":       "OK"
        },
        "Actions":      {
                "#Zone.AddEndpoint":    {
                        "target":       "/redfish/v1/Fabrics/SASFabric/Zones/Server1SBMezz1/Actions/Zone.AddEndpoint",
                        "EndPoint@Redfish.AllowableValues":     ["Valid URI of the Endpoint ID"]
                },
                "#Zone.RemoveEndpoint": {
                        "target":       "/redfish/v1/Fabrics/SASFabric/Zones/Server1SBMezz1/Actions/Zone.RemoveEndpoint",
                        "EndPoint@Redfish.AllowableValues":     ["Valid URI of the Endpoint ID"]
                }
        }
}

Add Drives to Controller Component with AddEndpoint Operation

Request

$curl -k http://10.10.10.10/redfish/v1/Fabrics/SASFabric/Zones/Server1SBMezz1/Actions/Zone.AddEndpoint- 
'{"EndPoint":[{"@odata.id":"/redfish/v1/Fabrics/SASFabric/Endpoints/11"},
{"@odata.id":"/redfish/v1/Fabrics/SASFabric/Endpoints/12"}]}' -XPOST

Response

POST operation should assign the drives to the associated server without any error message.

Verify GET Controller to Ensure Drives Added in Respective Components

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Zones/Server1SBMezz1

Response

{
        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Zones/Server1SBMezz1",
        "@odata.type":  "#Zone.v1_5_0.Zone",
        "@odata.context":       "/redfish/v1/$metadata#Zone.Zone",
        "Description":  "Zone Description",
        "Links":        {
                "EndPoints":    [{
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/Server1SBMezz1"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/1"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/2"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/8"
                        }]
        },
        "Id":   "Server1SBMezz1",
        "Name": "Server1SBMezz1",
        "ZoneType":     "ZoneOfEndpoints",
        "Status":       {
                "State":        "Enabled",
                "Health":       "OK"
        },
        "Actions":      {
                "#Zone.AddEndpoint":    {
                        "target":       "/redfish/v1/Fabrics/SASFabric/Zones/Server1SBMezz1/Actions
/Zone.AddEndpoint",
                        "EndPoint@Redfish.AllowableValues":     ["Valid URI of the Endpoint ID"]
                },
                "#Zone.RemoveEndpoint": {
                        "target":       "/redfish/v1/Fabrics/SASFabric/Zones/Server1SBMezz1/Actions
/Zone.RemoveEndpoint",
                        "EndPoint@Redfish.AllowableValues":     ["Valid URI of the Endpoint ID"]
                }
        }
}

Add Drives to Controller with AddEndpoint Operation with Admin Privilege Configured in LDAP User

Request

Using POST operation, assign the drives to the controllers listed under Zones

$curl -k -u LDAPUser:Password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Zones/
Server1SBMezz1/Actions/Zone.AddEndpoint -d '{"EndPoint":[{"@odata.id":"/redfish/v1/Fabrics/
SASFabric/Endpoints/11"}' -XPOST

Response

POST operation should assign the drives to the associated server without any error message.

Add Drives to Controller Component - with AddEndpoint Operation with Admin Privilege Configured in TACACS User

Request

Using POST operation, assign the drives to the controllers listed under Zones

$curl -k -u TACACSUser:Password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Zones/
Server1SBMezz1/Actions/Zone.AddEndpoint -d '{"EndPoint":[{"@odata.id":"/redfish/v1/Fabrics/
SASFabric/Endpoints/11"}' -XPOST

Response

POST operation should assign the drives to the associated server without any error message.

Remove Drives from the Controller Component with RemoveEndpoint operation

Request

$curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Zones/
Server1SBMezz1/Actions/Zone.RemoveEndpoint -d '{"EndPoint":[{"@odata.id":"/redfish/v1/Fabrics/
SASFabric/Endpoints/11"}' -XPOST

Response

Drive should get removed without any error message .

Add Drives via AddEndpoint Operation and Make Drive as ChassisWideHotspare

Request

$curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Zones/
ChassisWideHotspare/Actions/Zone.AddEndpoint -d '{"EndPoint":[{"@odata.id":"/redfish/v1/Fabrics/
SASFabric/Endpoints/11"}' -XPOST

Response

POST operation should be a success and make the drives as Hotspare without any error message.

Remove Drives via RemoveEndpoint Operation which is Assigned as a ChassisWideHotspare

Request

$curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Zones/
ChassisWideHotspare/Actions/Zone.RemoveEndpoint -d '{"EndPoint":[{"@odata.id":"/redfish/v1/
Fabrics/SASFabric/Endpoints/11"}' -XPOST

Response

Drive should be removed without any error message.

Verify Unassigned URI under Zones

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Zones/Unassigned

Response

It should list the number of unassigned drives present in the server.

"@odata.id":    "/redfish/v1/Fabrics/SASFabric/Zones/Unassigned",
        "@odata.type":  "#Zone.v1_5_0.Zone",
        "@odata.context":       "/redfish/v1/$metadata#Zone.Zone",
        "Description":  "Zone Description",
        "Links":        {
                "Endpoints":    [{
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/3"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/7"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/9"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/10"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/11"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/12"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/13"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/21"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/28"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/30"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/32"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/34"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/41"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/42"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/44"
                        }, {
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/56"
                        }]
        },
        "Id":   "Unassigned",
        "Name": "Unassigned",
        "ZoneType":     "ZoneOfEndpoints",
        "Status":       {
                "State":        "Enabled",
                "Health":       "OK"
        }

Verify Endpoints URI under SASFabric Component

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Endpoints/

Response

{
        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints",
        "@odata.type":  "#EndpointCollection.EndpointCollection",
        "@odata.context":       "/redfish/v1/$metadata#EndpointCollection.EndpointCollection",
        "Description":  "Collection of Endpoint",
        "Name": "Endpoint Collection",
        "Members":      [{
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/Server1SBMezz1"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/Server1SBMezz2"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/1"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/2"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/3"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/4"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/5"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/6"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/7"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/8"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/9"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/10"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/11"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/12"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/13"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/14"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/15"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/16"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/17"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/18"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/19"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/20"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/21"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/22"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/23"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/24"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/25"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/26"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/27"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/28"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/29"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/30"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/31"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/32"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/33"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/34"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/35"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/36"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/37"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/38"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/39"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/40"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/41"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/42"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/43"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/44"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/45"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/46"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/47"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/48"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/49"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/50"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/51"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/52"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/53"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/54"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/55"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/56"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/57"
                }, {
                        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/60"
                }],
        "Members@odata.count":  60
} 

Verify Endpoints URI under SASFabric Component for Controllers

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Endpoints
/Server1SBMezz1

Response

{
        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints/Server1SBMezz1",
        "@odata.type":  "#Endpoint.v1_1_0.Endpoint",
        "@odata.context":       "/redfish/v1/$metadata#Endpoint.Endpoint",
        "Description":  "Endpoint Description",
        "Id":   "Server1SBMezz1",
        "Name": "Server1SBMezz1",
        "ConnectedEntities":    [{
                        "EntityType":   "StorageInitiator",
                        "EntityRole":   "Initiator",
                        "Identifiers":  [{
                                        "DurableNameFormat":    "NAA",
                                        "DurableName":  "55897bd75945fb00"
                                }]
                }],
        "EndpointProtocol":     "SAS",
        "EndpointType": "EndpointOfEndpoints",
        "Status":       {
                "State":        "Enabled",
                "Health":       "OK"
        }
} 

Verify Endpoints URI for the Drives 1 to 60 Lists Proper Data

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Endpoints
/(Drives 1 to 60)

Response

{
        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Endpoints//1",
        "@odata.type":  "#Endpoint.v1_1_0.Endpoint",
        "@odata.context":       "/redfish/v1/$metadata#Endpoint.Endpoint",
        "Description":  "Endpoint Description",
        "Id":   "1",
        "Name": "1",
        "ConnectedEntities":    [{
                        "EntityType":   "Drive",
                        "EntityRole":   "Target",
                        "Identifiers":  [{
                                        "DurableNameFormat":    "NAA",
                                        "DurableName":  "5000c50062767fa1"
                                }]
                }],
        "EndpointProtocol":     "SAS",
        "EndpointType": "EndpointOfEndpoints",
        "Status":       {
                "State":        "Enabled",
                "Health":       "OK"
        },
        "Links":        {
                "Ports":        [{
                                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Switches/SASEXP1/Ports/1"
                        }]
        }
}

Add Drives to Controller Component in HBA ROCK Controller

Request

$curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Zones/
Server1SBMezz1/Actions/Zone.AddEndpoint -d '{"EndPoint":[{"@odata.id":"/redfish/v1/Fabrics/
SASFabric/Endpoints/XX"}' -XPOST

Response

POST operation should assign the drives to the associated server without any error message.

Remove Drives from the Controller with RemoveEndpoint Operation in HBA ROCK Controller

Request

$curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Zones/
Server1SBMezz1/Actions/Zone.RemoveEndpoint -d '{"EndPoint":[{"@odata.id":"/redfish/v1/Fabrics/
SASFabric/Endpoints/xx"}' -XPOST

Response

Drives should be removed without any error message.

Addition of Drives succeeds with AddEndpoint operation for Both Paths

Request

This API is valid only when HBA controller is attached with the server.

  1. Navigate to below URI and ensure that the drives are in Unassigned state.

    curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Zones/Unassigned
  2. Pick the drives listed under Unassigned URI.

  3. Using POST operation, assign the drives to the controllers lists under Zones.

    $curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Zones/
    Server1SBMezz1/Actions/Zone.AddEndpoint -d '{"EndPoint":[{"@odata.id":"/redfish/v1/Fabrics/
    SASFabric/Endpoints/xx"}' -XPOST

Response

POST operation should assign the drives to the associated server without any error message.

Verify Patch operation

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/Fabrics/SASFabric/Switches
/SASEXP1 - d '{"MixedSpeedModeEnabled":"Enabled"}' -XPATCH

Response

PATCH operation should be success and the mode change should be displayed:

{
        "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Switches/SASEXP1",
        "@odata.type":  "#Switch.v1_3_0.Switch",
        "@odata.context":       "/redfish/v1/$metadata#Switch.Switch",
        "Description":  "Switch Information",
        "Ports":        {
                "@odata.id":    "/redfish/v1/Fabrics/SASFabric/Switches/SASEXP1/Ports"
        },
        "Id":   "SASEXP1",
        "Name": "SASEXP1",
        "SwitchType":   "SAS",
        "Manufacturer": "Microsemi",
        "Model":        "Microsemi",
        "PowerState":   "On",
        "Oem":  {
                "Cisco":        {
                        "SasAddress":   "55897BD75945EA00",
                        "EnclosureLogicalId":   "55897BD75945E000",
                        "ConnectionMgetStatus": "Unreachable",
                        "ActiveFirmwareRevision":       "04.08.01 B082",
                        "BackupFirmwareRevision":       "04.08.01 B083",
                        "ExecutingFirmwarePartition":   "2",
                        "MixedSpeedModeEnabled":   "Enabled"
                }
        }
}

Retrieving LDAP Server Details

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/AccountService/

Response

{
	"@odata.id":	"/redfish/v1/AccountService",
	"@odata.context":	"/redfish/v1/$metadata#AccountService",
	"@odata.type":	"#AccountService.v1_5_0.AccountService",
	"Accounts":	{
		"@odata.id":	"/redfish/v1/AccountService/Accounts"
	},
	"Roles":	{
		"@odata.id":	"/redfish/v1/AccountService/Roles"
	},
	"PrivilegeMap":	{
		"@odata.id":	"/redfish/v1/AccountService/PrivilegeMap"
	},
	"AccountLockoutThreshold":	0,
	"Id":	"AccountService",
	"LDAP":	{
		"LDAPService":	{
			"SearchSettings":	{
				"BaseDistinguishedNames":	[],
				"UsernameAttribute":	"CiscoAvPair",
				"GroupsAttribute":	"memberOf"
			}
		},
		"Authentication":	{
			"AuthenticationType":	"UsernameAndPassword"
		},
		"RemoteRoleMapping":	[{
				"LocalRole":	"readonly",
				"RemoteGroup":	"ldap-test"
			}],
		"ServiceAddresses":	[],
		"AccountProviderType":	"LDAPService",
		"ServiceEnabled":	true
	},
	"AccountLockoutDuration":	0,
	"Name":	"Account Service",
	"MaxPasswordLength":	20,
	"LocalAccountAuth":	"Fallback",
	"MinPasswordLength":	1,
	"AuthFailureLoggingThreshold":	0,
	"AccountLockoutCounterResetEnabled":	true,
	"Oem":	{
		"Cisco":	{
			"PasswordHistory":	0,
			"StrongPasswordPolicyEnabled":	false,
			"PasswordExpiry":	{
				"GracePeriod":	0,
				"Enabled":	false,
				"NotificationPeriod":	15,
				"ExpiryDuration":	0
			}
		}
	},
	"AccountLockoutCounterResetAfter":	0,
	"ServiceEnabled":	true,
	"Description":	"Account Service"
}

Configuring LDAP Server IP Address and Port Numbers

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/AccountService/ -XPATCH -d 
'{
"LDAP" :{
"ServiceAddresses":["ldap://10.1.1.1:389","ldap://10.1.1.1:389"]
}
}'

Response

{
	"@odata.id":	"/redfish/v1/AccountService",
	"@odata.context":	"/redfish/v1/$metadata#AccountService",
	"@odata.type":	"#AccountService.v1_5_0.AccountService",
	"Accounts":	{
		"@odata.id":	"/redfish/v1/AccountService/Accounts"
	},
	"Roles":	{
		"@odata.id":	"/redfish/v1/AccountService/Roles"
	},
	"PrivilegeMap":	{
		"@odata.id":	"/redfish/v1/AccountService/PrivilegeMap"
	},
	"AccountLockoutThreshold":	0,
	"Id":	"AccountService",
	"LDAP":	{
		"LDAPService":	{
			"SearchSettings":	{
				"BaseDistinguishedNames":	[],
				"UsernameAttribute":	"CiscoAvPair",
				"GroupsAttribute":	"memberOf"
			}
		},
		"Authentication":	{
			"AuthenticationType":	"UsernameAndPassword"
		},
		"RemoteRoleMapping":	[{
				"LocalRole":	"readonly",
				"RemoteGroup":	"ldap-test"
			}],
		"ServiceAddresses":	["ldap://10.2.37.79:389", "ldap://10.2.37.77:389"],
		"AccountProviderType":	"LDAPService",
		"ServiceEnabled":	true
	},
	"AccountLockoutDuration":	0,
	"Name":	"Account Service",
	"MaxPasswordLength":	20,
	"LocalAccountAuth":	"Fallback",
	"MinPasswordLength":	1,
	"AuthFailureLoggingThreshold":	0,
	"AccountLockoutCounterResetEnabled":	true,
	"Oem":	{
		"Cisco":	{
			"PasswordHistory":	0,
			"StrongPasswordPolicyEnabled":	false,
			"PasswordExpiry":	{
				"GracePeriod":	0,
				"Enabled":	false,
				"NotificationPeriod":	15,
				"ExpiryDuration":	0
			}
		}
	},
	"AccountLockoutCounterResetAfter":	0,
	"ServiceEnabled":	true,
	"Description":	"Account Service"
}

Configuring LDAP Parameters

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/
AccountService/ -XPATCH -d 
'{
"LDAP":{
"ServiceEnabled":true, 
"ServiceAddresses":["ldap://10.1.1.1:389","ldap://10.1.1.1:389"],
"LDAPService":{
"SearchSettings":{
"GroupsAttribute":"memberGroup",
"UsernameAttribute":"CiscoUsername",
"BaseDistinguishedNames":["test"]
			},
"Oem" : {
                		"Cisco" : {
                    		"LDAPGroupAuthorizationEnabled" : true
                		}
            	}	
},
"RemoteRoleMapping" : [
        {
"LocalRole" : "admin", 
"RemoteGroup" : "group1", 
"Oem" : {
"Cisco" : {
  "LDAPRemoteGroupDomain":"test.com"
}
}
 }
]
}
}'

Response

{
	"@odata.id":	"/redfish/v1/AccountService",
	"@odata.context":	"/redfish/v1/$metadata#AccountService",
	"@odata.type":	"#AccountService.v1_5_0.AccountService",
	"Accounts":	{
		"@odata.id":	"/redfish/v1/AccountService/Accounts"
	},
	"Roles":	{
		"@odata.id":	"/redfish/v1/AccountService/Roles"
	},
	"PrivilegeMap":	{
		"@odata.id":	"/redfish/v1/AccountService/PrivilegeMap"
	},
	"AccountLockoutThreshold":	0,
	"Id":	"AccountService",
	"LDAP":	{
		"LDAPService":	{
			"SearchSettings":	{
				"BaseDistinguishedNames":	["testDN"],
				"UsernameAttribute":	"CiscoUsername",
				"GroupsAttribute":	"memberGroup"
			},
"Oem" : {
                		"Cisco" : {
                    		"LDAPGroupAuthorizationEnabled" : true
                		}
            	}
		},
		"Authentication":	{
			"AuthenticationType":	"UsernameAndPassword"
		},
		"RemoteRoleMapping":	[{
				"LocalRole":	"admin",
				"RemoteGroup":	"group1",
"Oem" : {
"Cisco" : {
  "LDAPRemoteGroupDomain":"test.com"
}
}
],
		"ServiceAddresses":	["ldap://10.10.10.10", "ldap://10.10.10..10"],
		"AccountProviderType":	"LDAPService",
		"ServiceEnabled":	false
	},
	"AccountLockoutDuration":	0,
	"Name":	"Account Service",
	"MaxPasswordLength":	20,
	"LocalAccountAuth":	"Fallback",
	"MinPasswordLength":	1,
	"AuthFailureLoggingThreshold":	0,
	"AccountLockoutCounterResetEnabled":	true,
	"Oem":	{
		"Cisco":	{
			"PasswordHistory":	0,
			"StrongPasswordPolicyEnabled":	false,
			"PasswordExpiry":	{
				"GracePeriod":	0,
				"Enabled":	false,
				"NotificationPeriod":	15,
				"ExpiryDuration":	0
			}
		}
	},
	"AccountLockoutCounterResetAfter":	0,
	"ServiceEnabled":	true,
	"Description":	"Account Service"
}

Setting COM Port for Serial Over LAN Policy - Cisco UCS S-Series

GET

Request

curl -k -u admin:passwored https://10.10.10.10/redfish/v1/Managers/BMC2/SerialInterfaces/TTY0

Note

For Cisco UCS S-Series Dual Node configuration, you must execute the request two times, one for BMC1 and another for BMC2.


Response

"InterfaceEnabled": true,
"BitRate": "115200",
"Oem": {
"Cisco": { "SerialOverLanComPort": "com1",
"SerialOverLanSSHPort": 2400
}
}

SET

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/Managers/BMC1/SerialInterfaces/TTY0 -XPATCH -
d '{"InterfaceEnabled": true, "BitRate": "115200", "Oem": {"Cisco": {"SerialOverLanSSHPort": 2400, "SerialOverLanComPort
": "com0"} }}'

Response

{
"@odata.id": "/redfish/v1/Managers/BMC1/SerialInterfaces/TTY0",
"@odata.type": "#SerialInterface.v1_1_3.SerialInterface",
"@odata.context": "/redfish/v1/$metadata#SerialInterface.SerialInterface",
"Description": "Management for Serial Interface",
"SignalType": "Rs232",
"Id": "TTY0",
"InterfaceEnabled": true,
"Name": "Manager Serial Interface 1",
"PinOut": "Cisco",
"BitRate": "115200",
"DataBits": "8",
"FlowControl": "None",
"StopBits": "1",
"ConnectorType": "DB9 Female",
"Parity": "None",
"Description": "Management for Serial Interface",
"Oem": {
"Cisco": {
"SerialOverLanComPort": "com0",
"SerialOverLanSSHPort": 2400
}
}
}

Setting Privilege and Encryption Key - Cisco UCS S-Series Servers

GET

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/Managers/BMC1/NetworkProtocol

Note

For Cisco UCS S-Series Dual Node configuration, you must execute the request two times, one for BMC1 and another for BMC2.


Response

{
"@odata.id":    "/redfish/v1/Managers/BMC1/NetworkProtocol",
"@odata.type":  "#ManagerNetworkProtocol.v1_5_0.ManagerNetworkProtocol",
"@odata.context":       "/redfish/v1/$metadata#ManagerNetworkProtocol.ManagerNetworkProtocol",
"Id":   "ManagerNetworkProtocol",
"Name": "Manager Network Protocol",
"SSH":  {
"ProtocolEnabled":      true,
"Port": 22
},
"Description":  "Manager Network Service",
"VirtualMedia": {
"ProtocolEnabled":      true,
"Port": 2068
},
"HostName":     "C220-WZP26330KVU",
"HTTP": {
"ProtocolEnabled":      false,
"Port": 80
},
"KVMIP":        {
"ProtocolEnabled":      true,
"Port": 2068
},
"DHCP": {
"ProtocolEnabled":      false,
"Port": null
},
"HTTPS":        {
"ProtocolEnabled":      true,
"Port": 443,
"Certificates": {
"@odata.id":    "/redfish/v1/Managers/BMC1/NetworkProtocol/HTTPS/Certificates"
}
},
"NTP":  {
"ProtocolEnabled":      false,
"Port": 123,
"NTPServers":   []
},
"DHCPv6":       {
"ProtocolEnabled":      true,
"Port": null
},
"Oem":  {
"Cisco":        {
"KVMConfiguration":     {
"LocalServerVideo":     "Enabled",
"MaxConcurrentSessions":        4
},
"KVMVendor":    {
"Vendor":       "Cisco"
},
"SSHTimeout":   1800,
"IPMIOverLan":  {
"ChannelSecurityKey":   "0000000000000000000000000000000000000000",
"PrivilegeLevelLimit":  "admin"
}
}
},
"IPMI": {
"ProtocolEnabled":      false,
"Port": 623
},
"SNMP": {
"ProtocolEnabled":      false,
"EnableSNMPv2c":        false,
"EnableSNMPv3": false,
"CommunityStrings":     [{
"AccessMode":   null,
"CommunityString":      ""
}],
"HideCommunityStrings": false,
"Port": 161,
"EnableSNMPv1": false
},
"Actions":      {
"Oem":  {
"#CiscoUCSExtensions.ResetKVM": {
"target":       "/redfish/v1/Managers/BMC1/NetworkProtocol/Actions/Oem/CiscoUCSExtensions.ResetKVM",
"@odata.type":  "#CiscoUCSExtensions.v1_0_0.ResetKVM"
}
}
}
}

SET

Request

curl -k -u admin:password https://10.10.10.10/redfish/v1/Managers/BMC1/NetworkProtocol -XPATCH -
d '{"IPMI": {"ProtocolEnabled": false}, "Oem": {"Cisco": {"IPMIOverLan": {"ChannelSecurityKey": "055DDDE537EF5F50C659
3B199BBB4D3429102222", "PrivilegeLevelLimit": "read-only" } } } }'

Note

For Cisco UCS S-Series Dual Node configuration, you must execute the request two times, one for BMC1 and another for BMC2.


Response

{
"@odata.id":    "/redfish/v1/Managers/BMC1/NetworkProtocol",
"@odata.type":  "#ManagerNetworkProtocol.v1_5_0.ManagerNetworkProtocol",
"@odata.context":       "/redfish/v1/$metadata#ManagerNetworkProtocol.ManagerNetworkProtocol",
"Id":   "ManagerNetworkProtocol",
"Name": "Manager Network Protocol",
"SSH":  {
"ProtocolEnabled":      true,
"Port": 22
},
"Description":  "Manager Network Service",
"VirtualMedia": {
"ProtocolEnabled":      true,
"Port": 2068
},
"HostName":     "C220-WZP26330KVU",
"HTTP": {
"ProtocolEnabled":      false,
"Port": 80
},
"KVMIP":        {
"ProtocolEnabled":      true,
"Port": 2068
},
"DHCP": {
"ProtocolEnabled":      false,
"Port": null
},
"HTTPS":        {
"ProtocolEnabled":      true,
"Port": 443,
"Certificates": {
"@odata.id":    "/redfish/v1/Managers/BMC1/NetworkProtocol/HTTPS/Certificates"
}
},
"NTP":  {
"ProtocolEnabled":      false,
"Port": 123,
"NTPServers":   []
},
"DHCPv6":       {
"ProtocolEnabled":      true,
"Port": null
},
"Oem":  {
"Cisco":        {
"KVMConfiguration":     {
"LocalServerVideo":     "Enabled",
"MaxConcurrentSessions":        4
},
"KVMVendor":    {
"Vendor":       "Cisco"
},
"SSHTimeout":   2500,
"IPMIOverLan":  {
"ChannelSecurityKey":   "055DDDE537EF5F50C6593B199BBB4D3429102222",
"PrivilegeLevelLimit":  "read.only"
}
}
},
"IPMI": {
"ProtocolEnabled":      false,
"Port": 623
},
"SNMP": {
"ProtocolEnabled":      false,
"EnableSNMPv2c":        false,
"EnableSNMPv3": false,
"CommunityStrings":     [{
"AccessMode":   null,
"CommunityString":      ""
}],
"HideCommunityStrings": false,
"Port": 161,
"EnableSNMPv1": false
},
"Actions":      {
"Oem":  {
"#CiscoUCSExtensions.ResetKVM": {
"target":       "/redfish/v1/Managers/BMC1/NetworkProtocol/Actions/Oem/CiscoUCSExtensions.ResetKVM",
"@odata.type":  "#CiscoUCSExtensions.v1_0_0.ResetKVM"
}
}
}
}