netbox-community / netbox

The premier source of truth powering network automation. Open source under Apache 2. Try NetBox Cloud free: https://netboxlabs.com/free-netbox-cloud/
http://netboxlabs.com/oss/netbox/
Apache License 2.0
15.83k stars 2.54k forks source link

BTU field and calculation per rack #4889

Closed TheFrenchCanadianEh closed 3 years ago

TheFrenchCanadianEh commented 4 years ago

Environment

Proposed Functionality

A new field for every device requesting BTU (heat generation) providing a calculation per rack. This will help in determining heat creation per rack, and make for easy calculations for branch hub room cooling requirements. A means of calculating BTU based on wattage would also be beneficial

Use Case

A new branch office is being built, and cooling requirements are needed by the contractor. If all devices in the rack were assigned a BTU rating, or a means of calculating it based on wattage, a quick per rack calculation would be feasible.

Database Changes

A new field per device would be required

External Dependencies

unknown

jeremystretch commented 4 years ago

Can you elaborate on the proposed new field please? For example, what would the range of valid values be? Under what circumstances would it be required? How would it be conveyed to the user?

lps-rocks commented 4 years ago

To add to the discussion, I believe this should be tracked more similarly to power, have an average value and a maximum value. Since we all know servers can have some pretty outrageous BTU / Wattage ratings based on power supplies and not based on actual thermal output and power consumption.

Intel has a specification here: https://www.intel.com/content/www/us/en/support/articles/000006784/server-products.html - for generating BTUs based on consumed wattage. It boils down to watts * 3.41214 = BTU - This may just need to be a displayed value?

TheFrenchCanadianEh commented 4 years ago

Hello Jeremy,

It would be a decimal based field (although you could force an integer) that would show up when defining every device. The range of values per device would be from 0 to likely no more than 15000 BTU/hr for a larger chassis switch with multiple blades and power supplies. It would be required when building a hub room, and calculating the cooling required for the space. This could feasibly be used to calculate your hot isle in a DC too. I would like it to be conveyed as that same BTU field entry for each device, and a rack summary of all entered BTU's. You could in theory keep expanding this calculation out for the row if multiple racks are present. Anything larger than a row, Data Center engineers would be involved and would be spec'ing cooling for total floor space growth.

Use case: When I spec'd a new hub room for a branch office, the general contractor always wants a BTU calculation to decide on cooling for the space.

If you were to look up a current switch, say a Cisco 9300 https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9300/hardware/install/b_c9300_hig/b_c9300_hig_appendix_0110.html tech sheet and search for BTU, each power supply size has a different output.

The formula for calculating BTU/hr is: Heat Dissipation (Watts) x 3.4192 = BTU/Hr. So if a server has a heat dissipation (output) of 500 Watts the thermal or heat energy generated is 1709.6 BTU/hr.

Please let me know if you have further questions or need detail. I appreciate the quick response to this feature request. It should be quite easy to implement as an optional field. If you do create a rack summary, maybe add a warning that "Device X in U32 does not have a BTU value assigned, using 0 for this calculation"

Regards, David Corriveau m. 226.988.4019

On Fri, 24 Jul 2020 at 12:27, Jeremy Stretch notifications@github.com wrote:

Can you elaborate on the proposed new field please? For example, what would the range of valid values be? Under what circumstances would it be required? How would it be conveyed to the user?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/netbox-community/netbox/issues/4889#issuecomment-663621556, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQMEIY73VFZOT7D6IKONYPDR5GYZDANCNFSM4PFZMOLA .

xkilian commented 4 years ago

The BTU field should not be added to device templates. As it will already contain the average and max watts and the value should be derived from this. These values (Equipement, rack, row, etc. BTUs) should be available to be queried/displayed via the API and UI even though it is a derived value.

tb-killa commented 4 years ago

I like the idea of @xkilian but for this we should make the "Maximum draw" field to an required input if device-template created. if we check the device-template repo we could see there are this values insert:

power-ports:
- name: PS1
  type: iec-60320-c16
  maximum_draw: 1100
- name: PS2
  type: iec-60320-c16
  maximum_draw: 1100

i personally thinking about the btu calculation could be some part of plugin maybe ?

jeremystretch commented 4 years ago

@TheFrenchCanadianEh can you please update your original post to specify the exact changes being proposed?

TheFrenchCanadianEh commented 4 years ago

I think xkilian and Oliver identified the better way to proceed. This should result in completion of the requested behaviour.

On Thu, Aug 27, 2020, 1:59 PM Jeremy Stretch notifications@github.com wrote:

@TheFrenchCanadianEh https://github.com/TheFrenchCanadianEh can you please update your original post to specify the exact changes being proposed?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/netbox-community/netbox/issues/4889#issuecomment-682102959, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQMEIY5J2SS7OTSRFQM6YKDSC2NHLANCNFSM4PFZMOLA .

jeremystretch commented 4 years ago

FYI this issue will soon be closed if the original post is not updated to detail the specific change(s) being proposed.

stale[bot] commented 3 years ago

This issue has been automatically closed due to lack of activity. In an effort to reduce noise, please do not comment any further. Note that the core maintainers may elect to reopen this issue at a later date if deemed necessary.