Open bahamat opened 3 years ago
This would be a precursor to enabling a public API for allowing end users to send an NMI.
Hey @bahamat, thanks for your interest in PBnJ and for opening this issue.
Are you looking for this kind of functionality in Equinix Metal? With the link and the references to "the API", seems like you might be?
We might need to approach this concern via other channels as this repo is just the open-source side. I'll ask around internally here at Equinix Metal and see what the options are.
@bahamat, looks like you've done what is needed on the Equinix Metal side with https://feedback.equinixmetal.com/platform/p/want-nmi We'll have to wait and see what happens there.
As far as the open-source side, this could be useful. PBnJ uses bmclib under the hood for most of its BMC interactions. I'd recommend maybe starting there.
@jacobweinstock Thanks for the pointer. I created bmc-toolbox/bmclib#233.
No action yet on https://github.com/bmc-toolbox/bmclib/issues/233
Expected Behaviour
A method to send a non-maskable interrupt to a device (server)
Current Behaviour
This is currently not possible
Possible Solution
An API call that will execute something like:
Steps to Reproduce (for bugs)
N/A
Context
For some operating systems, sending an NMI will initiate a panic and crash dump. The crash dump can be analyzed post-mortem. This can sometimes be needed when the system is non-responsive to external input.
While we can initiate a reboot via the API, that does not allow for post-mortem debugging.
Your Environment
Operating System and version (e.g. Linux, Windows, MacOS): SmartOS
How are you running Tinkerbell? Using Vagrant & VirtualBox, Vagrant & Libvirt, on Packet using Terraform, or give details: Equinix Metal
Link to your project or a code example to reproduce issue: https://smartos.org/