I've seen whacky things like this when there are multiple versions of puppet installed (as gem and in the LOAD_PATH). I'd rather fail sooner, instead of blindly invoking ruby and then have the reboot never happen.