private Result checkIfNodesAreUpOrRetired(ClusterState clusterState) {
        for (NodeInfo nodeInfo : clusterInfo.getAllNodeInfos()) {
            State wantedState = nodeInfo.getUserWantedState().getState();
            if (wantedState != UP && wantedState != RETIRED)
                return disallow("Another " + nodeInfo.type() + " wants state " +
                                wantedState.toString().toUpperCase() + ": " + nodeInfo.getNodeIndex());

            State state = clusterState.getNodeState(nodeInfo.getNode()).getState();
            if (state != UP && state != RETIRED)
                return disallow("Another " + nodeInfo.type() + " has state " +
                                state.toString().toUpperCase() + ": " + nodeInfo.getNodeIndex());
        }

        return allow();
    }
Verifies that storage nodes and distributors are up (or retired).
clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java