June 15, 2024

Building my new business environment started with repurposing an old Dell R620 as a Proxmox host. I quickly noticed, however, that the information that showed up in the system’s iDRAC interface was… wrong.

Unlike VMware, Proxmox doesn’t inform it of things, and I’m not going back to VMware.

I tend to be a bit of a perfectionist at times, and having an old hostname listed in iDRAC was annoying, so… down the rabbit hole I went. Here’s how to install the iDRAC tools and set the hostname and such on an EL9 host:

1. Download The Package

Dell offers a nice tarball for you. You can get it at this web page; it’s the second one on the list (at the time of this writing). The first one is apparently just the GNUPG signatures.

Grab that tarball, and inside you’ll find:

iDRACTools/
├── gpl.txt
├── ipmitool
│   ├── RHEL7_x86_64
│   │   └── ipmitool-1.8.18-99.dell.3732.15734.el7.x86_64.rpm
│   ├── RHEL8_x86_64
│   │   └── ipmitool-1.8.18-99.dell.3732.15734.el8.x86_64.rpm
│   └── SLES15_x86_64
│       └── ipmitool-1.8.18-99.dell.3732.15734.sles15.x86_64.rpm
├── license.txt
├── racadm
│   ├── install_racadm.sh
│   ├── RHEL7
│   │   └── x86_64
│   │       ├── srvadmin-argtable2-9.4.0-3732.15734.el7.x86_64.rpm
│   │       ├── srvadmin-hapi-9.4.0-3732.15734.el7.x86_64.rpm
│   │       └── srvadmin-idracadm7-9.4.0-3732.15734.el7.x86_64.rpm
│   ├── RHEL8
│   │   └── x86_64
│   │       ├── srvadmin-argtable2-9.4.0-3732.15734.el8.x86_64.rpm
│   │       ├── srvadmin-hapi-9.4.0-3732.15734.el8.x86_64.rpm
│   │       └── srvadmin-idracadm7-9.4.0-3732.15734.el8.x86_64.rpm
│   ├── SLES15
│   │   └── x86_64
│   │       ├── srvadmin-argtable2-9.4.0-3732.15734.sles15.x86_64.rpm
│   │       ├── srvadmin-hapi-9.4.0-3732.15734.sles15.x86_64.rpm
│   │       └── srvadmin-idracadm7-9.4.0-3732.15734.sles15.x86_64.rpm
│   └── uninstall_racadm.sh
└── readme.txt

2. Install the RPMs (and their dependencies!)

The RPMs you want are, fairly obviously, in the iDRACTools/racadm/RHEL8/x86_64 directory. Grab all of them (or just cd into the directory if you’re on the target system). Then you’ll want to install them with dnf:

$ sudo dnf install *.rpm openssl-devel dmidecode

Note that you must specify openssl-devel and dmidecode. Their packaging is broken, and does not require them by default. Why they linked against the openssl-devel libs is a mystery, but whatever.

And yes, the EL8 packages seem to work just fine on EL9.

3. Do your thing!

The command gets installed into /opt/dell/srvadmin/bin as idracadm7. Note that you’ll need a valid iDRAC username and password. You can start (for example) by doing something like this to see what’s what:

[steve@dev-01 ~]$ /opt/dell/srvadmin/bin/idracadm7 -r 10.32.9.12 -i getsysinfo
Security Alert: Certificate is invalid - self-signed certificate
Continuing execution. Use -S option for racadm to stop execution on certificate-related errors.
UserName: root                                                               
Password: 
                                                                             
RAC Information:
RAC Date/Time           = Fri Jun 14 00:52:56 2024

Firmware Version        = 2.65.65.65
Firmware Build          = 15
Last Firmware Update    = 10/21/2021 11:30:11
Hardware Version        = 0.01
MAC Address             = F8:BC:12:88:3F:42

Common settings:
Register DNS RAC Name   = 0
DNS RAC Name            = horde-03
[...snip...]

Note that there is also a “help” command which gives you more information on what all this thing is capable of, which appears to be pretty extensive. In any event, I just want to set the hostname:

[steve@dev-01 ~]$ /opt/dell/srvadmin/bin/idracadm7 -r 10.32.9.12 -i set System.ServerOS.HostName throng-01.aus.insomniverse.net
Security Alert: Certificate is invalid - self-signed certificate
Continuing execution. Use -S option for racadm to stop execution on certificate-related errors.
UserName: root                                                               
Password: 
[Key=System.Embedded.1#ServerOS.1]                                           
Object value modified successfully

And now:

[steve@dev-01 ~]$ /opt/dell/srvadmin/bin/idracadm7 -r 10.32.9.12 -i getsysinfo | grep Host
root
Host Name               = throng-01.aus.insomniverse.net

Perfect! I can also set the Server OS Name, just for fun:

[steve@dev-01 ~]$ /opt/dell/srvadmin/bin/idracadm7 -r 10.32.9.12 -i set System.ServerOS.OSName "Proxmox VE 8.2.2"
Security Alert: Certificate is invalid - self-signed certificate
Continuing execution. Use -S option for racadm to stop execution on certificate-related errors.
UserName: root                                                               
Password: 
[Key=System.Embedded.1#ServerOS.1]                                           
Object value modified successfully

Oddly, I can’t seem to set the OS version separately; I tried, and it told me no. Strange, that.

Future Directions

At some point I’d like to create a systemd service that does this automatically from the Proxmox host itself, but I’m too lazy at the moment. There is apparently an RHEL package that can do this for at least some versions. I should probably see about porting it, but…

…I have more valuable things to do with my time than tinker with automatically setting strings that I’m never going to look at anyway! I’ve already lost enough time to this as it is…

Off to do more work…