Repurposing HDDs from my HP DL380 rack server in a downsized HP Elitedesk 800 g5 homelab

I used to run an HP DL380 G7 2U rack server for my homelab, but it would have been too expensive to ship during an international house move so abandoned it during the move. In the meantime I went back to running Proxmox on my 2008 MacPro (which I did have shipped), but after a few years of service (I got it used from eBay in 2017) it’s now started to have some random hardware issues:

  • the RAM has slowly been dying, stick by stick
  • one of the RAM riser boards is showing a red error LED when any of the sticks are in a certain position on the board, so I think the whole board might need to be replaced

Anyway, short story is I’m down in 16GB in the Mac Pro.

In the meantime I’ve been browing r/homelab and other places, and eventually settled on the realisation that a used small form factor office desktop, like the HP Prodesk and Elitedesk PCs is more than enough for what I need (and substantially quieter). Given that you can pick them up in various specs around £100+ I even thought about getting a couple to set up a Kubernetes cluster, but I just picked up one to start with, an Elitedesk 800 G5 SFF with an i7 and 32GB. The SFF model has room inside for a few HDD and/or SDDs, and a slot on the mobo for a NVMe SDD too.

I wanted to do a stock check of what I had on the shelf that I can repurpose for the new Elitedesk – most of these were pulled from the DL380:

Purchased 2017- first HDDs in the DL380, but replaced because of the fan noise (I’m not sure if I still have these):

  • HGST 7K750-500 HTS727550A9E364 (0J23561) 500GB 7200RPM 16MB Cache SATA 3.0Gb/s 2.5″

Purchased in 2017: Second set of disks added to the RAID array to my DL380:

  • 2x WD Black 2.5″ 750GB

Purchased in 2019 to add additional space to the RAID array on my DL380 – these were refurbs from Amazon:

  • 2x WD Blue 1TB Mobile Hard Disk Drive – 5400 RPM SATA 6 Gb/s 128MB Cache 2.5 Inch – WD10SPZX (Certified Refurbished)

The SDD that came with the Elitedesk is also used (wasn’t lucky enough to get a new one), and according to SMART it has 13300 power-on hours on it. No errors, but about half way through it’s life. Although it’s probably ok for a while I’ll probably swap it out. Now I’ve looked at the stats I may go for a new NVMe for the boot disk, and add the 2x WD Blacks for storage.

Before I start moving things around though, I need to get some SATA cables…

Changing the desktop when VNC’ing into Solaris 10

By default if you VNC into Solaris 10 you get a basic desktop using TWM:

Screenshot

To Change to CDE, comment out the last line (twm&) in ~/.vnc/xstartup and add:

#twm &
/usr/dt/bin/dtsession &

to start the Java Desktop, instead of ‘dtsession’, add ‘gnome-session’:

#twm &
#/usr/dt/bin/dtsession &
/usr/dt/bin/gnome-session &
Screenshot

If you get this error:

vncserver: couldn't find "xauth" on your PATH.

… edit your ~/.vnc/xstartup and update your PATH to include the following:

PATH=${PATH}:/usr/X11/bin:/usr/openwin/bin

This is covered in more detail in posts here and here.

Running Ansible playbooks against RHEL 8 servers

I’m experimenting with some Ansible playbooks against local VMs, in particular, for some reason a RHEL 8 VM, and getting some unitelligible errors:

File \"<frozen importlib._bootstrap_external>\", line 1112, in _legacy_get_spec\r\n  File \"<frozen importlib._bootstrap>\", line 441, in spec_from_loader\r\n  File \"<frozen importlib._bootstrap_external>\", line 544, in spec_from_file_location\r\n  File \"/tmp/ansible_ansible.legacy.setup_payload_z3bjr2pn/ansible_ansible.legacy.setup_payload.zip/ansible/module_utils/basic.py\", line 5\r\nSyntaxError: future feature annotations is not defined\r\n", "msg": "MODULE FAILURE: No start of json char found\nSee stdout/stderr for the exact error", "rc": 1}}, "msg": "The following modules failed to execute: ansible.legacy.setup\n"}

Googling for various parts of this error, I think the key error is:

SyntaxError: future feature annotations is not defined

… as this shows up in a few posts, and in particular this excellent post by Jeff Geerling that explains exactly what is going on with Python version incompatibilities between later versions of Ansible and RHEL 8 (which uses an older version of Python, 3.7)

Ansible version on my Mac:

❯ ansible-playbook --version
ansible-playbook [core 2.18.6]

Downgrading to Ansible 9x with brew:

❯ brew install ansible@9
==> Fetching downloads for: ansible@9
Warning: ansible@9 has been deprecated because it is not maintained upstream! It will be disabled on 2025-11-30

For personal projects this is not much of a big deal, and I don’t think I’m particularly taking advantage of any newer Ansible features, but bit of a version dependency nightmare.

Now I get:

❯ ansible --version
ansible [core 2.16.14]

… and can successfully apply playbooks against my RHEL 8 VM.