public Node deallocate(Node node, Agent agent, String reason) {
        try (NodeMutex locked = lockAndGetRequired(node)) {
            NestedTransaction transaction = new NestedTransaction();
            Node deallocated = deallocate(locked.node(), agent, reason, transaction);
            transaction.commit();
            return deallocated;
        }
    }
Set a node dirty or parked, allowed if it is in the provisioned, inactive, failed or parked state.
Use this to clean newly provisioned nodes or to recycle failed nodes which have been repaired or put on hold.
node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java