Pages

Friday, February 23, 2018

[curl] OpenBMC State

List State Objects
[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"
}


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"
}


BMC State
[curl]
Get BMC State
curl -b cjar -k https://${bmc_ip}/xyz/openbmc_project/state/bmc0
BMC Reboot
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"
}


Chassis State
[curl]
Get Chassis State
curl -b cjar -k https://${bmc_ip}/xyz/openbmc_project/state/chassis0
Chassis Power On
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
Chassis Power Off
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"
}


Host State
[curl]
Get Host State
curl -b cjar -k https://${bmc_ip}/xyz/openbmc_project/state/host0
Host Power On
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
Host Power Off
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
Host Power Reboot
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"
}




Last Updated: 23-02-2018

No comments:

Post a Comment