private List<Node> createReadyNodes(int count, int startIndex, Optional<String> parentHostname, Flavor flavor, NodeType nodeType) {
        List<Node> nodes = new ArrayList<>(count);
        int lastOctetOfPoolAddress = 0;
        for (int i = startIndex; i < startIndex + count; i++) {
            String hostname = "host" + i;
            List<String> ipPool = nodeType.isHost() ? List.of("127.0." + i + "." + (++lastOctetOfPoolAddress)) : List.of();
            IP.Config ipConfig = IP.Config.of(List.copyOf(nodeRepository.nameResolver().resolveAll(hostname)),
                                              ipPool);
            Node.Builder builder = Node.create("node" + i, ipConfig, hostname, flavor, nodeType);
            parentHostname.ifPresent(builder::parentHostname);
            nodes.add(builder.build());
        }

        nodes = nodeRepository.nodes().addNodes(nodes, Agent.system);
        nodes = nodeRepository.nodes().deallocate(nodes, Agent.system, getClass().getSimpleName());
        return tester.move(Node.State.ready, nodes);
    }
Create hostCount hosts, one app with containerCount containers, and one app with contentCount content nodes.
node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailTester.java