I saw a condition with an Ubuntu based image where vcld failed to get the public IP address because it had not yet been assigned. The dhcpd server handed out the address one second before vcld added an entry to vcld.log about trying to get the public IP address and then not seeing it set. Likely, the node had the address but had not finished setting it on the NIC. This probably was never a problem with sysv but with systemd, things can happen in parallel enough that the timing doesn't work out. Adding something such as a sleep and a 2nd try at getting the address would probably fix the problem.