[curl]
curl -b cjar -k https://${bmc_ip}/xyz/openbmc_project/state/
|
curl -b cjar -k https://${bmc_ip}/xyz/openbmc_project/state/list
|
For example
[curl in Linux]
$ curl -b cjar -k https://192.168.88.38/xyz/openbmc_project/state/list
{
"data": [
"/xyz/openbmc_project/state/host0",
"/xyz/openbmc_project/state/chassis0",
"/xyz/openbmc_project/state/bmc0"
],
"message": "200 OK",
"status": "ok"
}
{
"data": [
"/xyz/openbmc_project/state/host0",
"/xyz/openbmc_project/state/chassis0",
"/xyz/openbmc_project/state/bmc0"
],
"message": "200 OK",
"status": "ok"
}
Enumerate of State
[curl]
curl -b cjar -k https://${bmc_ip}/xyz/openbmc_project/state/enumerate
|
For example
[curl in Linux]
$ curl -b cjar -k https://192.168.88.38/xyz/openbmc_project/state/enumerate
{
"data": {
"/xyz/openbmc_project/state/bmc0": {
"CurrentBMCState": "xyz.openbmc_project.State.BMC.BMCState.Ready",
"RequestedBMCTransition": "xyz.openbmc_project.State.BMC.Transition.None"
},
"/xyz/openbmc_project/state/chassis0": {
"CurrentPowerState": "xyz.openbmc_project.State.Chassis.PowerState.Off",
"RequestedPowerTransition": "xyz.openbmc_project.State.Chassis.Transition.Off"
},
"/xyz/openbmc_project/state/host0": {
"AttemptsLeft": 3,
"BootProgress": "xyz.openbmc_project.State.Boot.Progress.ProgressStages.Unspecified",
"CurrentHostState": "xyz.openbmc_project.State.Host.HostState.Off",
"OperatingSystemState": "xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Inactive",
"RequestedHostTransition": "xyz.openbmc_project.State.Host.Transition.Off"
}
},
"message": "200 OK",
"status": "ok"
}
{
"data": {
"/xyz/openbmc_project/state/bmc0": {
"CurrentBMCState": "xyz.openbmc_project.State.BMC.BMCState.Ready",
"RequestedBMCTransition": "xyz.openbmc_project.State.BMC.Transition.None"
},
"/xyz/openbmc_project/state/chassis0": {
"CurrentPowerState": "xyz.openbmc_project.State.Chassis.PowerState.Off",
"RequestedPowerTransition": "xyz.openbmc_project.State.Chassis.Transition.Off"
},
"/xyz/openbmc_project/state/host0": {
"AttemptsLeft": 3,
"BootProgress": "xyz.openbmc_project.State.Boot.Progress.ProgressStages.Unspecified",
"CurrentHostState": "xyz.openbmc_project.State.Host.HostState.Off",
"OperatingSystemState": "xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Inactive",
"RequestedHostTransition": "xyz.openbmc_project.State.Host.Transition.Off"
}
},
"message": "200 OK",
"status": "ok"
}
BMC State
[curl]
Get BMC State
curl -b cjar -k https://${bmc_ip}/xyz/openbmc_project/state/bmc0
|
curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.State.BMC.Transition.Reboot"}' https://${bmc_ip}/xyz/openbmc_project/state/bmc0/attr/RequestedBMCTransition
|
For example
[curl in Linux]
$ curl -b cjar -k https://192.168.88.38/xyz/openbmc_project/state/bmc0
{
"data": {
"CurrentBMCState": "xyz.openbmc_project.State.BMC.BMCState.Ready",
"RequestedBMCTransition": "xyz.openbmc_project.State.BMC.Transition.None"
},
"message": "200 OK",
"status": "ok"
}
$ curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.Stae.BMC.Transition.Reboot"}' https://192.168.88.38/xyz/openbmc_project/state/bmc0/attr/RequestedBMCTransition
{
"data": null,
"message": "200 OK",
"status": "ok"
}
{
"data": {
"CurrentBMCState": "xyz.openbmc_project.State.BMC.BMCState.Ready",
"RequestedBMCTransition": "xyz.openbmc_project.State.BMC.Transition.None"
},
"message": "200 OK",
"status": "ok"
}
$ curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.Stae.BMC.Transition.Reboot"}' https://192.168.88.38/xyz/openbmc_project/state/bmc0/attr/RequestedBMCTransition
{
"data": null,
"message": "200 OK",
"status": "ok"
}
Chassis State
[curl]
Get Chassis State
curl -b cjar -k https://${bmc_ip}/xyz/openbmc_project/state/chassis0
|
curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.State.Chassis.Transition.On"}' https://${bmc_ip}/xyz/openbmc_project/state/chassis0/attr/RequestedPowerTransition
|
curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.State.Chassis.Transition.Off"}' https://${bmc_ip}/xyz/openbmc_project/state/chassis0/attr/RequestedPowerTransition
|
For example
[curl in Linux]
$ curl -b cjar -k https://192.168.88.38/xyz/openbmc_project/state/chassis0
{
"data": {
"CurrentPowerState": "xyz.openbmc_project.State.Chassis.PowerState.Off",
"RequestedPowerTransition": "xyz.openbmc_project.State.Chassis.Transition.Off"
},
"message": "200 OK",
"status": "ok"
}
$ curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.Stae.Chassis.Transition.On"}' https://192.168.88.38/xyz/openbmc_project/state/chassis0/attr/RequestedPowerTransition
{
"data": null,
"message": "200 OK",
"status": "ok"
}
$ curl -b cjar -k https://192.168.88.38/xyz/openbmc_project/state/chassis0
{
"data": {
"CurrentPowerState": "xyz.openbmc_project.State.Chassis.PowerState.On",
"RequestedPowerTransition": "xyz.openbmc_project.State.Chassis.Transition.On"
},
"message": "200 OK",
"status": "ok"
}
{
"data": {
"CurrentPowerState": "xyz.openbmc_project.State.Chassis.PowerState.Off",
"RequestedPowerTransition": "xyz.openbmc_project.State.Chassis.Transition.Off"
},
"message": "200 OK",
"status": "ok"
}
$ curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.Stae.Chassis.Transition.On"}' https://192.168.88.38/xyz/openbmc_project/state/chassis0/attr/RequestedPowerTransition
{
"data": null,
"message": "200 OK",
"status": "ok"
}
$ curl -b cjar -k https://192.168.88.38/xyz/openbmc_project/state/chassis0
{
"data": {
"CurrentPowerState": "xyz.openbmc_project.State.Chassis.PowerState.On",
"RequestedPowerTransition": "xyz.openbmc_project.State.Chassis.Transition.On"
},
"message": "200 OK",
"status": "ok"
}
Host State
[curl]
Get Host State
curl -b cjar -k https://${bmc_ip}/xyz/openbmc_project/state/host0
|
curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data": "xyz.openbmc_project.State.Host.Transition.On"}' https://${bmc_ip}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
|
curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data": "xyz.openbmc_project.State.Host.Transition.Off"}' https://${bmc_ip}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
|
curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data": "xyz.openbmc_project.State.Host.Transition.Reboot"}' https://${bmc_ip}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
|
For example
[curl in Linux]
$ curl -b cjar -k https://192.168.88.38/xyz/openbmc_project/state/host0
{
"data": {
"AttemptsLeft": 3,
"BootProgress": "xyz.openbmc_project.State.Boot.Progress.ProgressStages.Unspecified",
"CurrentHostState": "xyz.openbmc_project.State.Host.HostState.Off",
"OperatingSystemState": "xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Inactive",
"RequestedHostTransition": "xyz.openbmc_project.State.Host.Transition.Off"
},
"message": "200 OK",
"status": "ok"
}
$ curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data": "yz.openbmc_project.State.Host.Transition.On"}' https://192.168.88.38/xyz/openbmc_project/state/host0/attr/RequestedHostTrans
{
"data": null,
"message": "200 OK",
"status": "ok"
}
$ curl -b cjar -k https://192.168.88.38/xyz/openbmc_project/state/host0
{
"data": {
"AttemptsLeft": 2,
"BootProgress": "xyz.openbmc_project.State.Boot.Progress.ProgressStages.MotherboardInit",
"CurrentHostState": "xyz.openbmc_project.State.Host.HostState.Running",
"OperatingSystemState": "xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Inactive",
"RequestedHostTransition": "xyz.openbmc_project.State.Host.Transition.On"
},
"message": "200 OK",
"status": "ok"
}
$ curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data": "yz.openbmc_project.State.Host.Transition.Reboot"}' https://192.168.88.38/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
{
"data": null,
"message": "200 OK",
"status": "ok"
}
{
"data": {
"AttemptsLeft": 3,
"BootProgress": "xyz.openbmc_project.State.Boot.Progress.ProgressStages.Unspecified",
"CurrentHostState": "xyz.openbmc_project.State.Host.HostState.Off",
"OperatingSystemState": "xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Inactive",
"RequestedHostTransition": "xyz.openbmc_project.State.Host.Transition.Off"
},
"message": "200 OK",
"status": "ok"
}
$ curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data": "yz.openbmc_project.State.Host.Transition.On"}' https://192.168.88.38/xyz/openbmc_project/state/host0/attr/RequestedHostTrans
{
"data": null,
"message": "200 OK",
"status": "ok"
}
$ curl -b cjar -k https://192.168.88.38/xyz/openbmc_project/state/host0
{
"data": {
"AttemptsLeft": 2,
"BootProgress": "xyz.openbmc_project.State.Boot.Progress.ProgressStages.MotherboardInit",
"CurrentHostState": "xyz.openbmc_project.State.Host.HostState.Running",
"OperatingSystemState": "xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Inactive",
"RequestedHostTransition": "xyz.openbmc_project.State.Host.Transition.On"
},
"message": "200 OK",
"status": "ok"
}
$ curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data": "yz.openbmc_project.State.Host.Transition.Reboot"}' https://192.168.88.38/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
{
"data": null,
"message": "200 OK",
"status": "ok"
}
Reference
[1] "OpenBMC" https://github.com/openbmc/
[2] "OpenBMC REST cheat sheet" https://github.com/openbmc/docs/blob/master/REST-cheatsheet.md
[3] "Host Management with OpenBMC" https://github.com/openbmc/docs/blob/master/host-management.md
[4] "OpenBMC REST API" https://github.com/openbmc/docs/blob/master/rest-api.md
[5] "OpenBMC D-Bus API" https://github.com/openbmc/docs/blob/master/deprecated/dbus-interfaces.md
[1] "OpenBMC" https://github.com/openbmc/
[2] "OpenBMC REST cheat sheet" https://github.com/openbmc/docs/blob/master/REST-cheatsheet.md
[3] "Host Management with OpenBMC" https://github.com/openbmc/docs/blob/master/host-management.md
[4] "OpenBMC REST API" https://github.com/openbmc/docs/blob/master/rest-api.md
[5] "OpenBMC D-Bus API" https://github.com/openbmc/docs/blob/master/deprecated/dbus-interfaces.md
Last Updated: 23-02-2018
No comments:
Post a Comment