@SuppressWarnings("try")
    void createDummyNode(ZookeeperServerConfig zookeeperServerConfig) {
        int sleepTime = 2_000;
        try (ZooKeeperAdmin zooKeeperAdmin = createAdmin(localConnectionSpec(zookeeperServerConfig))) {
            Instant end = Instant.now().plus(Duration.ofMinutes(5));
            Exception exception = null;
            do {
                try {
                    zooKeeperAdmin.create("/dummy-node-" + HostName.getLocalhost(), new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
                    return;
                } catch (KeeperException e) {
                    if (e instanceof KeeperException.NodeExistsException) {
                        try {
                            zooKeeperAdmin.setData("/dummy-node-" + HostName.getLocalhost(), new byte[0], -1);
                            return;
                        } catch (KeeperException ex) {
                            log.log(Level.FINE, e.getMessage());
                            Thread.sleep(sleepTime);
                            continue;
                        }
                    }
                    log.log(Level.FINE, e.getMessage());
                    exception = e;
                    Thread.sleep(sleepTime);
                }
            } while (Instant.now().isBefore(end));
            throw new RuntimeException("Unable to create dummy node: ", exception);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
    }
Creates a node in zookeeper, with hostname as part of node name, this ensures that server is up and working before returning
zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperAdminImpl.java