The pX number of a node for control is set by it's priority (this might not be the same as the hostname/configuration of the image/usbboot filesystem).
Any detected Cluster HAT (v1.x or v2.x) is given highest priority so this will always be p1-p4 if it's detected.
All Cluster CTRL devices (Triple/A+6/etc.) have an "order" stored in EEPROM/FLASH. By default the order is set to 20 for the Triple and 10 for the A+6. The lower this "order" number the higher the priority.
So if you have ClusterCTRL Triple devices with order 20 and 21 the node numbers will be as follows.
With Cluster HAT
p5-p7 Triple (priority 20)
p8-p10 Triple (priority 21)
Without Cluster HAT
p1-p3 Triple (priority 20)
p4-p6 Triple (priority 21)
If you have more than one ClusterCTRL device with the same "order" the "clusterctrl" tool will show an error, you would need to remove all but one of the conflicting ClusterCTRL devices to set a new order.
$ clusterctrl status ERROR: Duplicate ClusterCTRL 'order' found I2C Bus: 4 Order: 20 I2C Bus: 3 Order: 20
Changing ClusterCTRL devices order
If you have a conflict first unplug all but one device with the same order.
To change the order stored of a ClusterCTRL device you need the existing order number which can be seen using "clusterctrl status".
To temporarily change the order of a Cluster CTRL device use "clusterctrl setorder <old order> <new order>", so to change from order 20 to order 21 run.
clusterctrl setorder 20 21
The order can be set between 1 and 255.
The order is now set temporarily and will revert back to the old order after a power cycle or reset. To make the change perminant the settings must be saved to EEPROM.
clusterctrl save 21
The new order (and usbboot/power) will now be saved to the EEPROM and used at next power on.