I’ve been working a lot with Perceus at work, and I figured I would put up some posts about problems I have encountered, and possible solutions to the problems.
Today I was attempting to boot a node with Perceus 1.3.8 installed. The node would download and run the first kernel, but when it attempted to begin provisioning with provisiond it would exit with this error:
ERROR No such host: binsh
The node would then infinitely loop through the following while loop which printed the error every second right after running provisiond:
# Excerpt from: https://perceus.org/svn/perceus/1.3/scripts/initramfs/init while [ ! -f "/next" ]; do # If this works we wont even get a chance to say goodbye! # If it errors out, we need to touch /next to # iterate to next count and/or interface. if [ $INIT_DEBUG -eq 0 ]; then provisiond -s /bin/sh $MASTERIP init || touch /next elif [ $INIT_DEBUG -eq 1 ]; then provisiond -v -s /bin/sh $MASTERIP init || touch /next else provisiond -d -s /bin/sh $MASTERIP init || touch /next fi sleep 1 done
I was able to find a reference to error message in the source code for provisiond. Initially I thought that the node was passing “/bin/sh” to the server instead of the master’s IP address, but after trying various things with the command line parameters I decided to look elsewhere.
Eventually I noted that provisiond was running as a service on the head node, but provisiond should only run on provisioned nodes. I tried uninstalling provisiond from the head node which seemed to fix the problem. Unfortunately I tried a couple other ideas at the same time so I cannot be absolutely sure that provisiond was causing the problem.
If I get a chance I will do a more thorough test to make sure that I am correct.
edit: Never got a chance to test if this worked correctly. If anyone was able to test this situation I would be interested in hearing about it.