Handle Power Supply #37

Closed
opened 2019-08-21 11:15:13 +02:00 by Solvik · 4 comments
Solvik commented 2019-08-21 11:15:13 +02:00 (Migrated from github.com)

An example of dmidecode output for multiple power supply

Handle 0x0066, DMI type 39, 22 bytes
System Power Supply
        Power Unit Group: 1
        Location: Not Specified
        Name: Power Supply 1
        Manufacturer: HPE
        Serial Number: 5FJCB0ALLAR795
        Asset Tag: Not Specified
        Model Part Number: 830272-B21
        Revision: Not Specified
        Max Power Capacity: 1600 W
        Status: Present, OK
        Type: Switching
        Input Voltage Range Switching: Auto-switch
        Plugged: Yes
        Hot Replaceable: Yes

Handle 0x0067, DMI type 39, 22 bytes
System Power Supply
        Power Unit Group: 1
        Location: Not Specified
        Name: Power Supply 2
        Manufacturer: HPE
        Serial Number: 5FJCB0ALLAR3CM
        Asset Tag: Not Specified
        Model Part Number: 830272-B21
        Revision: Not Specified
        Max Power Capacity: 1600 W
        Status: Present, OK
        Type: Switching
        Input Voltage Range Switching: Auto-switch
        Plugged: Yes
        Hot Replaceable: Yes

Handle 0x0068, DMI type 39, 22 bytes
System Power Supply
        Power Unit Group: 1
        Location: Not Specified
        Name: Power Supply 3
        Manufacturer: HPE
        Serial Number: 5FJCB0ALLAR2CL
        Asset Tag: Not Specified
        Model Part Number: 830272-B21
        Revision: Not Specified
        Max Power Capacity: 1600 W
        Status: Present, OK
        Type: Switching
        Input Voltage Range Switching: Auto-switch
        Plugged: Yes
        Hot Replaceable: Yes
An example of dmidecode output for multiple power supply ``` Handle 0x0066, DMI type 39, 22 bytes System Power Supply Power Unit Group: 1 Location: Not Specified Name: Power Supply 1 Manufacturer: HPE Serial Number: 5FJCB0ALLAR795 Asset Tag: Not Specified Model Part Number: 830272-B21 Revision: Not Specified Max Power Capacity: 1600 W Status: Present, OK Type: Switching Input Voltage Range Switching: Auto-switch Plugged: Yes Hot Replaceable: Yes Handle 0x0067, DMI type 39, 22 bytes System Power Supply Power Unit Group: 1 Location: Not Specified Name: Power Supply 2 Manufacturer: HPE Serial Number: 5FJCB0ALLAR3CM Asset Tag: Not Specified Model Part Number: 830272-B21 Revision: Not Specified Max Power Capacity: 1600 W Status: Present, OK Type: Switching Input Voltage Range Switching: Auto-switch Plugged: Yes Hot Replaceable: Yes Handle 0x0068, DMI type 39, 22 bytes System Power Supply Power Unit Group: 1 Location: Not Specified Name: Power Supply 3 Manufacturer: HPE Serial Number: 5FJCB0ALLAR2CL Asset Tag: Not Specified Model Part Number: 830272-B21 Revision: Not Specified Max Power Capacity: 1600 W Status: Present, OK Type: Switching Input Voltage Range Switching: Auto-switch Plugged: Yes Hot Replaceable: Yes ```
Solvik commented 2019-08-27 10:11:04 +02:00 (Migrated from github.com)

There's a case with blades/chassis with 4 power supply, where:
2 out of 4 servers use 2 power supply and the other 2 servers use the 2 others power supply

In case of blade, we'll need to create the power supply on the parent device and get_or_create

There's a case with blades/chassis with 4 power supply, where: 2 out of 4 servers use 2 power supply and the other 2 servers use the 2 others power supply In case of blade, we'll need to create the power supply on the parent device and `get_or_create`
ThomasADavis commented 2019-08-27 21:04:29 +02:00 (Migrated from github.com)

It's a 4u box, with 4 power supplies in it; there are 8 blades, 4 nodes/blades (n1,n2,n3,n4) use two of the power supplies, the other 4 nodes (n5,n6,n7,n8) use the other two power supplies.

from lshw -json (which is way better than dmidecode - it includes the sata and nvme drives)

    {
      "id" : "power:0",
      "class" : "power",
      "description" : "PWS-1K62P-1R",
      "product" : "PWS-1K62P-1R",
      "vendor" : "SUPERMICRO",
      "physid" : "1",
      "version" : "1.3",
      "serial" : "P1K65CF11CT1837",
      "units" : "mWh",
      "capacity" : 1620
    },
    {
      "id" : "power:1",
      "class" : "power",
      "description" : "PWS-1K62P-1R",
      "product" : "PWS-1K62P-1R",
      "vendor" : "SUPERMICRO",
      "physid" : "2",
      "version" : "1.3",
      "serial" : "P1K65CF11CT1838",
      "units" : "mWh",
      "capacity" : 1620
    },

from another node, on the other 2 power supplies:

    {
      "id" : "power:0",
      "class" : "power",
      "description" : "PWS-1K62P-1R",
      "product" : "PWS-1K62P-1R",
      "vendor" : "SUPERMICRO",
      "physid" : "1",
      "version" : "1.3",
      "serial" : "P1K65CF11CT1839",
      "units" : "mWh",
      "capacity" : 1620
    },
    {
      "id" : "power:1",
      "class" : "power",
      "description" : "PWS-1K62P-1R",
      "product" : "PWS-1K62P-1R",
      "vendor" : "SUPERMICRO",
      "physid" : "2",
      "version" : "1.3",
      "serial" : "P1K65CF11CT1840",
      "units" : "mWh",
      "capacity" : 1620
    },

What's interesting is the BMC Webinterface has a multinode page, that shows 4 of the nodes..

Now to see if I can get that via Redfish, or scrape the page (ugh)

It's a 4u box, with 4 power supplies in it; there are 8 blades, 4 nodes/blades (n1,n2,n3,n4) use two of the power supplies, the other 4 nodes (n5,n6,n7,n8) use the other two power supplies. from lshw -json (which is way better than dmidecode - it includes the sata and nvme drives) ``` { "id" : "power:0", "class" : "power", "description" : "PWS-1K62P-1R", "product" : "PWS-1K62P-1R", "vendor" : "SUPERMICRO", "physid" : "1", "version" : "1.3", "serial" : "P1K65CF11CT1837", "units" : "mWh", "capacity" : 1620 }, { "id" : "power:1", "class" : "power", "description" : "PWS-1K62P-1R", "product" : "PWS-1K62P-1R", "vendor" : "SUPERMICRO", "physid" : "2", "version" : "1.3", "serial" : "P1K65CF11CT1838", "units" : "mWh", "capacity" : 1620 }, ``` from another node, on the other 2 power supplies: ``` { "id" : "power:0", "class" : "power", "description" : "PWS-1K62P-1R", "product" : "PWS-1K62P-1R", "vendor" : "SUPERMICRO", "physid" : "1", "version" : "1.3", "serial" : "P1K65CF11CT1839", "units" : "mWh", "capacity" : 1620 }, { "id" : "power:1", "class" : "power", "description" : "PWS-1K62P-1R", "product" : "PWS-1K62P-1R", "vendor" : "SUPERMICRO", "physid" : "2", "version" : "1.3", "serial" : "P1K65CF11CT1840", "units" : "mWh", "capacity" : 1620 }, ``` What's interesting is the BMC Webinterface has a multinode page, that shows 4 of the nodes.. Now to see if I can get that via Redfish, or scrape the page (ugh)
Solvik commented 2019-09-03 13:41:02 +02:00 (Migrated from github.com)

Unfortunately it seems that dmidecode gives more infos for power supply like:

  • Hot swap
  • Pluggued or not
    {
      "id" : "power:0",
      "class" : "power",
      "description" : "PWR SPLY,1600W,RDNT,DELTA",
      "product" : "0685W7A00",
      "vendor" : "DELL",
      "physid" : "1",
      "serial" : "CN1797268J0ND3",
      "units" : "mWh",
      "capacity" : 1600
    },
    {
      "id" : "power:1",
      "class" : "power",
      "description" : "PWR SPLY,1600W,RDNT,DELTA",
      "product" : "0685W7A00",
      "vendor" : "DELL",
      "physid" : "2",
      "serial" : "CN1797268J0NFK",
      "units" : "mWh",
      "capacity" : 1600
    },
System Power Supply
	Location: Not Specified
	Name: PWR SPLY,1600W,RDNT,DELTA
	Manufacturer: DELL
	Serial Number: CN1797268J0ND3
	Asset Tag: Not Specified
	Model Part Number: 0685W7A00
	Revision: Not Specified
	Max Power Capacity: 1600 W
	Status: Present, Unknown
	Type: Unknown
	Input Voltage Range Switching: Unknown
	Plugged: Yes
	Hot Replaceable: Yes

Handle 0x2701, DMI type 39, 22 bytes
System Power Supply
	Location: Not Specified
	Name: PWR SPLY,1600W,RDNT,DELTA
	Manufacturer: DELL
	Serial Number: CN1797268J0NFK
	Asset Tag: Not Specified
	Model Part Number: 0685W7A00
	Revision: Not Specified
	Max Power Capacity: 1600 W
	Status: Present, Unknown
	Type: Unknown
	Input Voltage Range Switching: Unknown
	Plugged: Yes
	Hot Replaceable: Yes

I think we'll go for dmidecode output, or let the user chose lshw if needed

Unfortunately it seems that dmidecode gives more infos for power supply like: * Hot swap * Pluggued or not ``` { "id" : "power:0", "class" : "power", "description" : "PWR SPLY,1600W,RDNT,DELTA", "product" : "0685W7A00", "vendor" : "DELL", "physid" : "1", "serial" : "CN1797268J0ND3", "units" : "mWh", "capacity" : 1600 }, { "id" : "power:1", "class" : "power", "description" : "PWR SPLY,1600W,RDNT,DELTA", "product" : "0685W7A00", "vendor" : "DELL", "physid" : "2", "serial" : "CN1797268J0NFK", "units" : "mWh", "capacity" : 1600 }, ``` ```Handle 0x2700, DMI type 39, 22 bytes System Power Supply Location: Not Specified Name: PWR SPLY,1600W,RDNT,DELTA Manufacturer: DELL Serial Number: CN1797268J0ND3 Asset Tag: Not Specified Model Part Number: 0685W7A00 Revision: Not Specified Max Power Capacity: 1600 W Status: Present, Unknown Type: Unknown Input Voltage Range Switching: Unknown Plugged: Yes Hot Replaceable: Yes Handle 0x2701, DMI type 39, 22 bytes System Power Supply Location: Not Specified Name: PWR SPLY,1600W,RDNT,DELTA Manufacturer: DELL Serial Number: CN1797268J0NFK Asset Tag: Not Specified Model Part Number: 0685W7A00 Revision: Not Specified Max Power Capacity: 1600 W Status: Present, Unknown Type: Unknown Input Voltage Range Switching: Unknown Plugged: Yes Hot Replaceable: Yes ``` I think we'll go for dmidecode output, or let the user chose lshw if needed
Solvik commented 2019-09-04 10:36:40 +02:00 (Migrated from github.com)

We can also report the PSU consumption:

Power Consumption Information

Power Consumption
Index             : 2
Status            : Ok
Probe Name        : System Board Pwr Consumption
Reading           : 735 W
Warning Threshold : 1911 W
Failure Threshold : 2100 W

Amperage
PS1 Current 1 : 1.8 A
PS2 Current 2 : 1.4 A

For example, omreport doesn't report the power consumption per PSU in W
But it gives the Amperage per PSU

If the user has setup the Power Feed for the datacenter of the server, we can report the PSU consumption via PS1 Amperage * Power Feed Voltage

We could add a get_power_consumption method per Manufacturer then

We can also report the PSU consumption: ``` Power Consumption Information Power Consumption Index : 2 Status : Ok Probe Name : System Board Pwr Consumption Reading : 735 W Warning Threshold : 1911 W Failure Threshold : 2100 W Amperage PS1 Current 1 : 1.8 A PS2 Current 2 : 1.4 A ``` For example, `omreport` doesn't report the power consumption per PSU in W But it gives the Amperage per PSU If the user has setup the `Power Feed` for the datacenter of the server, we can report the PSU consumption via `PS1 Amperage * Power Feed Voltage` We could add a `get_power_consumption` method per Manufacturer then
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: DGNum/netbox-agent#37
No description provided.