Closed geerlingguy closed 5 months ago
The above issue was already fixed in #8 — so this will just document any other issues I encounter!
When fixing #11 I noticed Pi OS Bookworm's use of NetworkManager required some tweaks to the static networking playbook. I made those, and also fixed up some TODOs in there to support more than four nodes in a cluster :)
The static networking playbook fails with:
TASK [Configure static IP address (Network Manager).] ***************************************************
fatal: [turing4.local]: FAILED! => {"changed": false, "msg": "Failed to find required executable \"nmcli\" in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"}
fatal: [turing3.local]: FAILED! => {"changed": false, "msg": "Failed to find required executable \"nmcli\" in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"}
fatal: [turing2.local]: FAILED! => {"changed": false, "msg": "Failed to find required executable \"nmcli\" in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"}
fatal: [turing1.local]: FAILED! => {"changed": false, "msg": "Failed to find required executable \"nmcli\" in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"}
It looks like by default the server OS uses netplan
, which I had never noticed before: https://askubuntu.com/q/1122757/88829
To switch to NetworkManager, modify the .yaml
file inside /etc/netplan
to read:
network:
version: 2
renderer: NetworkManager
Then run:
sudo netplan generate && sudo netplan apply && reboot
I'm adding a separate playbook that can be run to do this for you on all the nodes running Ubuntu.
Works!
Version 1.2.0 of this project should work fine with both Pi OS and Ubuntu, on Pis and other SBCs like the RK1.
One more test—authenticated and anonymous requests to the Drupal site running on a Turing Pi 2 with 4x RK1 versus DeskPi Super6C running 6x Raspberry Pi CM4s (only one Drupal pod / instance, no scaling, so just measuring basic cluster performance).
DeskPi Super6C + 6x CM4:
Turing Pi 2 + 4x RK1:
Summarized:
Benchmark | DeskPi Super 6C + CM4 | Turing Pi 2 + RK1 |
---|---|---|
wrk (anonymous) | 78.65 | 104.30 |
ab (authenticated) | 72.42 | 165.55 |
See: #7
I would also like to make sure any other little incompatibilities are fixed up.
I could also rename the repo to sbc-cluster, maybe... but for now I like 'Pi Cluster' since the majority of my work is with Pi still.