Does your file in root get overwritten? The file in /var/run/ is just HMC copying your file and then performing some changes on it as it is working on building the cluster. So if HMC cannot create that file HMC will fail. And there a actually several reasons as to why the file may not be able to be created.
* The HMC service was not started as root (this will make it so that the directory in /var/run can't be made)
* SELinux has not been disabled on the node (this can cause some intermittent and strange errors)
* iptables has not been turned off (this will make it so that puppet cannot do it's work)
If the hosts.txt file in /var/run is empty it could be that the file was edited on windows and now can't be read by linux, or there could be some other reason that puppet/hmc is having trouble reading the file you created in /root.
you could help us figure out what is going on if you would follow the instructions here: