private boolean nodeInitProgressHasTimedOut(long currentTime, NodeInfo node, NodeState currentStateInSystem, NodeState lastReportedState) {
        return !currentStateInSystem.getState().equals(DOWN)
            && node.getWantedState().above(new NodeState(node.getNode().getType(), DOWN))
            && lastReportedState.getState().equals(INITIALIZING)
            && maxInitProgressTime != 0
            && node.getInitProgressTime() + maxInitProgressTime <= currentTime
            && node.getNode().getType().equals(NodeType.STORAGE);
    }
Propose a new state for a node. This may happen due to an administrator action, orchestration, or
a configuration change.

If the newly proposed state differs from the state the node currently has in the system,
a cluster state regeneration will be triggered.
clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/StateChangeHandler.java