Add IPMI to device with link #6206

Closed
opened 2025-12-29 19:38:01 +01:00 by adam · 7 comments
Owner

Originally created by @unrelatedinfo on GitHub (Mar 14, 2022).

NetBox version

v.3.1.9

Feature type

New functionality

Proposed functionality

Adding an IPMI field that is shown on the main view of the device with a clickable link.

Use case

Will further reduce time when looking for iDRAC/iLO/IPMI and quickly allow you to establish connections.

Database changes

No response

External dependencies

No response

Originally created by @unrelatedinfo on GitHub (Mar 14, 2022). ### NetBox version v.3.1.9 ### Feature type New functionality ### Proposed functionality Adding an IPMI field that is shown on the main view of the device with a clickable link. ### Use case Will further reduce time when looking for iDRAC/iLO/IPMI and quickly allow you to establish connections. ### Database changes _No response_ ### External dependencies _No response_
adam added the type: feature label 2025-12-29 19:38:01 +01:00
adam closed this issue 2025-12-29 19:38:01 +01:00
Author
Owner

@jcralbino commented on GitHub (Mar 14, 2022):

Currently i am doing this by using service option.
You have the following steps here:

  1. Add the ip address being used by IPMI in the correct interface of the device
  2. Add a service association on that ip to the correct port ( name the service template IPMI)
  3. You can create a custom link leveraging the service template of the device that would allow you to establish connection from a url.
@jcralbino commented on GitHub (Mar 14, 2022): Currently i am doing this by using service option. You have the following steps here: 1. Add the ip address being used by IPMI in the correct interface of the device 2. Add a service association on that ip to the correct port ( name the service template IPMI) 3. You can create a custom link leveraging the service template of the device that would allow you to establish connection from a url.
Author
Owner

@jeremystretch commented on GitHub (Mar 14, 2022):

As @jcralbino points out, you can use a custom link and/or a service to accomplish this. Please open a discussion if you'd like further assistance.

@jeremystretch commented on GitHub (Mar 14, 2022): As @jcralbino points out, you can use a [custom link](https://netbox.readthedocs.io/en/stable/models/extras/customlink/) and/or a [service](https://netbox.readthedocs.io/en/stable/core-functionality/services/) to accomplish this. Please open a [discussion](https://github.com/netbox-community/netbox/discussions/new) if you'd like further assistance.
Author
Owner

@martinum4 commented on GitHub (Mar 14, 2022):

Here, for a custom link, you only have to filter according to manufacturer and interface names:

{{obj.interfaces.get(name="iLO").ip_addresses.first().address.ip}}

@martinum4 commented on GitHub (Mar 14, 2022): Here, for a custom link, you only have to filter according to manufacturer and interface names: {{obj.interfaces.get(name="iLO").ip_addresses.first().address.ip}}
Author
Owner

@jeremystretch commented on GitHub (Mar 14, 2022):

You could also filter on the mgmt_only flag on the interface model.

@jeremystretch commented on GitHub (Mar 14, 2022): You could also filter on the `mgmt_only` flag on the interface model.
Author
Owner

@martinum4 commented on GitHub (Mar 14, 2022):

I could filter for Management, yes, but depending on the usecase (e.g. virtualization) some (like myself) might consider the OS management too and have added virtual interfaces for that, this way we only actually filter for the hardware-interfaces based on the names.

Anyway, i decided to finish the custom link, it might not be pretty but it is working:

{% if obj.device_type.manufacturer.name == 'Dell' %}http://{{obj.interfaces.get(name="iDRAC").ip_addresses.first().address.ip}} {% elif obj.device_type.manufacturer.name == 'HP' %}http://{{obj.interfaces.get(name="iLO").ip_addresses.first().address.ip}} {%else%}{% endif %}

@martinum4 commented on GitHub (Mar 14, 2022): I could filter for Management, yes, but depending on the usecase (e.g. virtualization) some (like myself) might consider the OS management too and have added virtual interfaces for that, this way we only actually filter for the hardware-interfaces based on the names. Anyway, i decided to finish the custom link, it might not be pretty but it is working: `{% if obj.device_type.manufacturer.name == 'Dell' %}http://{{obj.interfaces.get(name="iDRAC").ip_addresses.first().address.ip}} {% elif obj.device_type.manufacturer.name == 'HP' %}http://{{obj.interfaces.get(name="iLO").ip_addresses.first().address.ip}} {%else%}{% endif %}`
Author
Owner

@unrelatedinfo commented on GitHub (Mar 14, 2022):

Thanks for all the replies here.
However to me this would be a feature that doesnt need to be worked around as 90% of the devices that will be added to netbox will have IPMI or some form of management console tied to it, and today it seems that its mostly based around WebUI's.

@unrelatedinfo commented on GitHub (Mar 14, 2022): Thanks for all the replies here. However to me this would be a feature that doesnt need to be worked around as 90% of the devices that will be added to netbox will have IPMI or some form of management console tied to it, and today it seems that its mostly based around WebUI's.
Author
Owner

@jcralbino commented on GitHub (Mar 17, 2022):

One option could be to improve the existing service mapping to create the custom link

The workflow would be something like

  1. Associate an IP address to the device interface
  2. Create a service mapping to this ip detailing the port and name of service
  3. Select a flag ( during creation of service mapping ) to create a custom link based on the service created

The issue now is that point 3 needs to be done manually.
But i believe it could be a valid feature to have an option when creating the service mapping to create also a custom link for this service

@jcralbino commented on GitHub (Mar 17, 2022): One option could be to improve the existing service mapping to create the custom link The workflow would be something like 1. Associate an IP address to the device interface 2. Create a service mapping to this ip detailing the port and name of service 3. Select a flag ( during creation of service mapping ) to create a custom link based on the service created The issue now is that point 3 needs to be done manually. But i believe it could be a valid feature to have an option when creating the service mapping to create also a custom link for this service
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#6206