Age | Commit message (Collapse) | Author | Files | Lines |
|
This reverts commit 7691cc2f7ef1f0ceedf3de0554045a614f25776d.
This causes validator failures
ERROR - JsonSchemas: GET of resource at URI /redfish/v1/JsonSchemas returned HTTP 404. Check URI.
ERROR - PCIeSlots: GET of resource at URI /redfish/v1/Chassis/motherboard/PCIeSlots returned HTTP 404. Check URI.
ERROR - PCIeSlots: GET of resource at URI /redfish/v1/Chassis/chassis/PCIeSlots returned HTTP 404. Check URI.
Change-Id: Ibcdf238a222da83127a89d8f38c8180501ffe882
Signed-off-by: Ed Tanous <edtanous@google.com>
|
|
The API for "/redfish/v1/Systems/system/Storage/1/Drives/<str>" was not
in the Redfish.md document. This change adds some documentation about
what is expected from this URI.
Change-Id: I4842254c3d35bf312ba71b745e8640df9866ca7a
Signed-off-by: John Edward Broadbent <jebr@google.com>
|
|
PCIeSlotCollection, and PCIeSlot schemas are used for determining
and inspecting the PCIe physical topology of a system. It is used to
determine what a particular physical slots formfactor is.
This commit supports the as documented in Redfish.md.
https://redfish.dmtf.org/schemas/PCIeSlots_v1.xml
Tested: Validator passes (on previous patchset)
1、Get PCIe slots
curl -k -H "X-Auth-Token: $token" -X GET
https://${bmc}/redfish/v1/Chassis/chassis/PCIeSlots
{
"@odata.id": "/redfish/v1/Chassis/chassis/PCIeSlots",
"@odata.type": "#PCIeSlots.v1_4_1.PCIeSlots",
"Id": "PCIeSlots",
"Name": "PCIe Slot Information",
"Slots": [
{
"HotPluggable": false,
"Lanes": 16,
"PCIeType": "Gen1",
"SlotType": "FullLength"
},
{
"HotPluggable": false,
"Lanes": 16,
"PCIeType": "Gen2",
"SlotType": "OEM"
}
]
}
2、No PCIeSlots
curl -k -H "X-Auth-Token: $token" -X GET
https://${bmc}/redfish/v1/Chassis/chassis/PCIeSlots
{
"@odata.id": "/redfish/v1/Chassis/chassis/PCIeSlots",
"@odata.type": "#PCIeSlots.v1_4_1.PCIeSlots",
"Id": "PCIeSlots",
"Name": "PCIe Slot Information",
"Slots": []
}
3、Bad chassis ID return 404
curl -k -H "X-Auth-Token: $token" -X GET
https://${bmc}/redfish/v1/Chassis/badChassisID/PCIeSlots
Returns 404 and ResourceNotFound
Signed-off-by: Chicago Duan <duanzhijia01@inspur.com>
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I11e1bf94b3865986cbd580293ea906fe96067912
|
|
This change supports named drives being queried by their associated
chassis, by using the follow form:
/redfish/v1/Chassis/<chassis>/Drives/<drive>
This change is in accordance with redfish
Tested:
With the redfish validator: No new errors
$ wget -qO- http://localhost:80/redfish/v1/Chassis/DC_SCM/Drives/mmcblk0
{
"@odata.context": "/redfish/v1/$metadata#Drive.Drive",
"@odata.id": "/redfish/v1/Chassis/DC_SCM/Drives/mmcblk0",
"@odata.type": "#Drive.v1_7_0.Drive",
"CapacityBytes": 15634268160,
"Id": "mmcblk0",
"Name": "mmcblk0",
"Status": {
"State": "Enabled"
}
}
Signed-off-by: John Edward Broadbent <jebr@google.com>
Change-Id: I3501ea4789bae57a905052d0e820d441665b72d7
|
|
If chassis has drives a drive url is added to the chassis, of the form:
redfish/v1/Chassis/<chassis>/Drives
When queried, the drive URL will list all drives associated with the
chassis. This is in accordance with the redfish schema.
Samples for the following URLs are below
wget -qO- http://localhost:80/redfish/v1/Chassis/DC_SCM/Drives
{
"@odata.id": "/redfish/v1/Chassis/DC_SCM/Drives",
"@odata.type": "#DriveCollection.DriveCollection",
"Members": [
{
"@odata.id": "/redfish/v1/Chassis/DC_SCM/Drives/mmcblk0"
}
],
"Members@odata.count": "1",
"Name": "Drive Collection"
}
Tested:
With the redfish validator: No new errors
Change-Id: Ibdbe7fee5014d6515a77683c8eaca9ca86b6b148
Signed-off-by: John Edward Broadbent <jebr@google.com>
|
|
Added GET method for retrieving list of Triggers from Telemetry service
Tested:
- Added single Trigger and requested result from bmcweb via
/redfish/v1/TelemetryService/Triggers
- Added multiple Triggers numeric and discrete, and requested results
from bmcweb via /redfish/v1/TelemetryService/Triggers
- Verified uri /redfish/v1/TelemetryService/Triggers by using
Redfish-Service-Validator with no Triggers/empty Collection (passed)
Signed-off-by: Lukasz Kazmierczak <lukasz.kazmierczak@intel.com>
Change-Id: Ide00eb44901ea1b97b80fc5c5ddfd97e393d4a04
|
|
Idle power saver is a system wide mode that will reduce the power usage
when the system reaches an idle state. The system will also exit idle
power save once the performance increases to a specified utilization.
The idle state is defined as when the processor utilization drops to
EnterUtilizationPercent for EnterDwellTimeSeconds. Once the utilization
increases to ExitUtilizationPercent for ExitDwellTimeSeconds, the system
will return to normal (non-idle) state.
Ran Validator on hardware and all /redfish/v1/Systems/system tests
passed.
Tested: I manually tested retrieving and setting the PowerMode property
on a Rainier system (with good and bad values)
$ curl -s -k -X GET https://$bmc/redfish/v1/Systems/system | grep -A6 IdlePowerSaver
"IdlePowerSaver": {
"Enabled": false,
"EnterDwellTimeSeconds": 240,
"EnterUtilizationPercent": 8,
"ExitDwellTimeSeconds": 10,
"ExitUtilizationPercent": 12
},
$ curl -k -X PATCH -d '{"IdlePowerSaver":{"Enabled":true}}' https://$bmc/redfish/v1/Systems/system
$ curl -k -X PATCH -d '{"IdlePowerSaver":{"Enabled":false,"EnterUtilizationPercent":8,"EnterDwellTimeSeconds":240,"ExitUtilizationPercent":12,"ExitDwellTimeSeconds":10}}' https://$bmc/redfish/v1/Systems/system
Signed-off-by: Chris Cain <cjcain@us.ibm.com>
Change-Id: Icdc948f133959dce4297ab9774c2e9c8acb620e3
|
|
The computer system power mode defines the behavior of a system
based on the performance and power saving requirements.
For example, a system could be set to MaximumPerformance to
run as fast as possible without regard to power consumption.
A system could also be configured to run in PowerSaving mode
which would be running at slower speeds to try to save power.
More information can be found at https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/38786
This commit will allow GET / PATCH operations to the PowerMode property
PowerMode was added in Redfish Release 2021.1:
https://www.dmtf.org/content/redfish-release-20211-now-available
Tested: I manually tested retrieving and setting the PowerMode property
on a Rainier system (with good and bad values):
# curl -k https://$bmc/redfish/v1/Systems/system
{
"@odata.id": "/redfish/v1/Systems/system",
"@odata.type": "#ComputerSystem.v1_15_0.ComputerSystem
...
"PartNumber": "",
"PowerMode": "MaximumPerformance",
"PowerMode@Redfish.AllowableValues": [
"Static",
"MaximumPerformance",
"PowerSaving"
],
"PowerRestorePolicy": "AlwaysOff",
...
# curl -k https://$bmc/xyz/openbmc_project/control/host0/power_mode
{
"data": {
"PowerMode": "xyz.openbmc_project.Control.Power.Mode.PowerMode.MaximumPerformance"
},
"message": "200 OK",
"status": "ok"
}
# curl -k -X PATCH -d '{ "PowerMode":"Static"}' https://$bmc/redfish/v1/Systems/system
curl -k https://$bmc/xyz/openbmc_project/control/host0/power_mode
{
"data": {
"PowerMode": "xyz.openbmc_project.Control.Power.Mode.PowerMode.Static"
},
"message": "200 OK",
"status": "ok"
}
Ran Validator on hardware and all tests passed:
Elapsed time: 0:05:07
Counter({'skipOptional': 7128, 'pass': 6020, 'metadataNamespaces': 2217, 'passGet': 315, 'warnDeprecated': 212, 'serviceNamespaces': 79, 'warningPresent': 47, 'warnTrailingSlashLink': 24, 'invalidPropertyValue': 18, 'passAction': 14, 'optionalAction': 11, 'repeat': 3, 'unverifiedComplexAdditional': 1})
Validation has succeeded.
Signed-off-by: Chris Cain <cjcain@us.ibm.com>
Change-Id: I5523a0ebe4a2a77ea4709a14863bff7b55f0303d
|
|
This commit adds the support for "DateTimeLocalOffset" property under
"/redfish/v1/Managers/bmc/" Redfish URI.
And it also adds the support for "DateTime" & "DateTimeLocalOffset"
properties under "/redfish/v1/Systems/system/LogServices/<id>/" &
"/redfish/v1/Managers/bmc/LogServices/<id>/" Redfish URI's.
These properties shows the current Date, Time & the UTC offset that the
current DateTime property value contains.
Tested:
- Redfish Validator Test passed.
curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X GET https://${bmc}/redfish/v1/Managers/bmc/
{
"@odata.id": "/redfish/v1/Managers/bmc",
"@odata.type": "#Manager.v1_11_0.Manager",
"Actions": {
"#Manager.Reset": {
"@Redfish.ActionInfo": "/redfish/v1/Managers/bmc/ResetActionInfo",
"target": "/redfish/v1/Managers/bmc/Actions/Manager.Reset"
},
"#Manager.ResetToDefaults": {
"ResetType@Redfish.AllowableValues": [
"ResetAll"
],
"target": "/redfish/v1/Managers/bmc/Actions/Manager.ResetToDefaults"
}
},
"DateTime": "2021-06-04T12:18:28+00:00",
"DateTimeLocalOffset": "+00:00",
"Description": "Baseboard Management Controller",
"EthernetInterfaces": {
"@odata.id": "/redfish/v1/Managers/bmc/EthernetInterfaces"
},
"FirmwareVersion": "2.11.0-dev-114-gc1989599d",
"GraphicalConsole": {
"ConnectTypesSupported": [
"KVMIP"
],
"MaxConcurrentSessions": 4,
"ServiceEnabled": true
},
"Id": "bmc",
"LastResetTime": "2021-06-04T12:07:02+00:00",
"Links": {
"ActiveSoftwareImage": {
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/419c86fb"
},
"ManagerForServers": [
{
"@odata.id": "/redfish/v1/Systems/system"
}
],
"ManagerForServers@odata.count": 1,
"SoftwareImages": [
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/419c86fb"
}
],
"SoftwareImages@odata.count": 1
},
"LogServices": {
"@odata.id": "/redfish/v1/Managers/bmc/LogServices"
},
"ManagerType": "BMC",
"Model": "OpenBmc",
"Name": "OpenBmc Manager",
"NetworkProtocol": {
"@odata.id": "/redfish/v1/Managers/bmc/NetworkProtocol"
},
"Oem": {
"@odata.id": "/redfish/v1/Managers/bmc#/Oem",
"@odata.type": "#OemManager.Oem",
"OpenBmc": {
"@odata.id": "/redfish/v1/Managers/bmc#/Oem/OpenBmc",
"@odata.type": "#OemManager.OpenBmc",
"Certificates": {
"@odata.id": "/redfish/v1/Managers/bmc/Truststore/Certificates"
}
}
},
"PowerState": "On",
"SerialConsole": {
"ConnectTypesSupported": [
"IPMI",
"SSH"
],
"MaxConcurrentSessions": 15,
"ServiceEnabled": true
},
"ServiceEntryPointUUID": "1832ebbb-0b54-44e9-90d7-b49108f6863c",
"Status": {
"Health": "OK",
"HealthRollup": "OK",
"State": "Enabled"
},
"UUID": "7fe3d13d-4ae7-4a4f-add1-2d60308124b4"
}
curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X GET https://${bmc}/redfish/v1/Systems/system/LogServices/EventLog/
{
"@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog",
"@odata.type": "#LogService.v1_1_0.LogService",
"Actions": {
"#LogService.ClearLog": {
"target": "/redfish/v1/Systems/system/LogServices/EventLog/Actions/LogService.ClearLog"
}
},
"DateTime": "2021-06-04T12:11:10+00:00",
"DateTimeLocalOffset": "+00:00",
"Description": "System Event Log Service",
"Entries": {
"@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries"
},
"Id": "EventLog",
"Name": "Event Log Service",
"OverWritePolicy": "WrapsWhenFull"
}
Signed-off-by: Tejas Patil <tejaspp@ami.com>
Change-Id: I416d13ae11e236cf4552f817a9bd69b48f9b5afb
|
|
GitHub, whenever it detects URI/URL, then converts that into a
hyperlink.
It is good to disable auto-linking, but there are only two ways to
implement it, one is adding HTML tag (Ex: <spam>) and
HTML code (​), which convert URL/URI into non-url.
Commits 2ebb968 and cb0d27e added an extra \. This failed to disable
autolinking. This commit removes that extra \
NOTE:- There might be another way possible, but this is a tested
way to remove hyperlink
Both changes get added to the middle of the text, which gets converted
to hyperlinks, making it hard to read and understand when reading from
a file (not from GitHub).
Signed-off-by: Abhishek Patel <Abhishek.Patel@ibm.com>
Change-Id: I61a7721d8218a1d3ac0405dec4ba74832c817e87
|
|
- Redfish.md has quite old schemas and property. This commit makes it
more up-to-date.
- added newfound schemas and properties using "RedfishVersion": "1.9.0"
API
- Arranged all schemas and properties as we get on our redfish server
- adding '\' between any URL to Disable Autolinking
Ex: Members\@odata.count
Note:
These schemas and properties are as accurate as the Witherspoon
bmcweb server, from where this data retrieved
Signed-off-by: Abhishek Patel <Abhishek.Patel@ibm.com>
Change-Id: I9def930c8372110d8a70f7d68773ac024cd32dff
|
|
1) Remove New Line:
- removing extra new line will help to make a file smaller, easy to
read
2) Consistency
- formatted all URL in the same style to look uniform
Signed-off-by: Abhishek Patel <Abhishek.Patel@ibm.com>
Change-Id: I47be37dc6909fe1d5c18d08b0dbe42377efa4f93
|
|
Github automatically converted URL to hyperlink to remove that, we need
to formatted URL like non-URL
So adding '\' between any URL will make it look like non-URL that fix
this problem
Signed-off-by: Abhishek Patel <Abhishek.Patel@ibm.com>
Change-Id: I67ae4b85a62122b4226a7384bba697d370a61ac2
|
|
Created a list of all used schemas, and a few being added for use in reviews
now. Exclude all other schemas.
Developers if they wish to use a new schema will have to add it to this
list and rerun update_schemas.py.
Size of obmc-phosphor-image-witherspoon-<date>.rootfs.squashfs-xz:
Before 2020.4: 19451904
With 2020.4, before this commit: 19492864
With this commit: 19275776
Tested: Validator passes.
Change-Id: I23272049aa38c51ac7af0d3b0f5b4641a349a487
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
redfish-logging-in-bmcweb.md is moving under architecture/ as part of
https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/27960
27960 should merge before this is merged.
Change-Id: I761c6ad49d1838160371c46d8503b2e33d6bad4c
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
As per redfish specification (DSP0266), there are
set of predefined privilege roles. In OpenBMC code
has "User" as role name instead of "ReadOnly".
So corrected the same. Updated Redfish.md accordingly.
Spec says:
Role Name = "ReadOnly"
▪ AssignedPrivileges = Login, ConfigureSelf
Tested:
- Role collection shows new role.
- GET on /redfish/v1/AccountService/Roles/ReadOnly
URI shows correct AssignedPrivileges.
- Ran negative test with /redfish/v1/AccountService/Roles/User
and observed error(404 - Not Found).
- Ran Redfish validator and no new issues observed.
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
Change-Id: I7b0132c628fb4950b6ec095269cd1a12e92aea9a
|
|
curl -k https://${bmc}/redfish/v1/
{
"@odata.context": "/redfish/v1/$metadata#ServiceRoot.ServiceRoot",
"@odata.id": "/redfish/v1",
"@odata.type": "#ServiceRoot.v1_5_0.ServiceRoot",
"AccountService": {
"@odata.id": "/redfish/v1/AccountService"
},
"CertificateService": {
"@odata.id": "/redfish/v1/CertificateService"
},
"Chassis": {
"@odata.id": "/redfish/v1/Chassis"
},
"Id": "RootService",
"JsonSchemas": {
"@odata.id": "/redfish/v1/JsonSchemas"
},
"Links": {
"Sessions": {
"@odata.id": "/redfish/v1/SessionService/Sessions"
}
},
"Managers": {
"@odata.id": "/redfish/v1/Managers"
},
"Name": "Root Service",
"RedfishVersion": "1.6.1",
"Registries": {
"@odata.id": "/redfish/v1/Registries"
},
"SessionService": {
"@odata.id": "/redfish/v1/SessionService"
},
"Systems": {
"@odata.id": "/redfish/v1/Systems"
},
"UUID": "fd4374f1-e080-4a1e-84ae-79871bf954e6",
"UpdateService": {
"@odata.id": "/redfish/v1/UpdateService"
}
Change-Id: I672f1559a8d5a48fcb275e8371b9c4243c8beb4e
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
Had a mix of <> and {} for the path of the resource.
Moved to the path defined in the Redfish schema.
https://redfish.dmtf.org/redfish/schema_index
E.g. /redfish/v1/AccountService/Accounts/{ManagerAccountId}
from https://redfish.dmtf.org/schemas/v1/ManagerAccount_v1.xml
Corrected a few schemas which were incorrect.
<> does not work since markdown thinks this is an HTML tag.
https://github.com/openbmc/bmcweb/blob/master/Redfish.md#redfishv1chassispowerpowersupplies
Change-Id: I3434952a8adf1a1221f070c04c8c0752e9077a5d
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
curl -k https://${bmc}/redfish/v1/UpdateService/FirmwareInventory/9f75c5ad
{
"@odata.context": "/redfish/v1/$metadata#SoftwareInventory.SoftwareInventory",
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/9f75c5ad",
"@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory",
...
Change-Id: Iaaaa9f3356a16cc5a236c9e75644bb25d7545a05
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
curl -k https://${bmc}/redfish/v1/Systems/system/LogServices/EventLog
{
"@odata.context": "/redfish/v1/$metadata#LogService.LogService",
"@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog",
...
Change-Id: I7bf85fdb4f46a256982a1ac60bdc8f5fecbad74a
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
curl -k https://${bmc}/redfish/v1/Managers/BMC/EthernetInterfaces
Not Found
curl -k https://${bmc}/redfish/v1/Managers/bmc/EthernetInterfaces
{
"@odata.context": "/redfish/v1/$metadata#EthernetInterfaceCollection.EthernetInterfaceCollection",
"@odata.id": "/redfish/v1/Managers/bmc/EthernetInterfaces",
"@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection",
...
Change-Id: Id227e09ad7f596c01dd2e73b476c1b87582a00fa
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
Was struggling a bit reviewing the code and options in the LogServices
area so wrote this up quickly. The main goal being to give a brief
overview and link to some documentation to help with reviewing the
options.
Change-Id: I337490157ffdb188be812031311694f6cb83b8fa
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
|
|
Redfish support has been growing exponentially within bmcweb. Lets get a
separate document for it all.
Change-Id: Ibe895c7ab4bf4d2e1d51fce7136c0a6f8ca4119d
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
|