def ensure_sufficient_node_managers(snapshots)
      currently_sufficient = true
      snapshots.each do |node, snapshot|
        node_managers = snapshot.node_managers
        if node_managers.size < @required_node_managers
          logger.error("Not enough Node Managers in snapshot for node #{node}. " +
            "Required: #{@required_node_managers}, " +
            "Available: #{node_managers.size} #{node_managers}")
          currently_sufficient = false
        end
      end

      if currently_sufficient && !@sufficient_node_managers
        logger.info("Required Node Managers are visible: #{@required_node_managers}")
      end

      @sufficient_node_managers = currently_sufficient
      @sufficient_node_managers
    end
def ensure_sufficient_node_managers(snapshots)
      currently_sufficient = true
      snapshots.each do |node, snapshot|
        node_managers = snapshot.node_managers
        if node_managers.size < @required_node_managers
          logger.error("Not enough Node Managers in snapshot for node #{node}. " +
            "Required: #{@required_node_managers}, " +
            "Available: #{node_managers.size} #{node_managers}")
          currently_sufficient = false
        end
      end

      if currently_sufficient && !@sufficient_node_managers
        logger.info("Required Node Managers are visible: #{@required_node_managers}")
      end

      @sufficient_node_managers = currently_sufficient
      @sufficient_node_managers
    end
Determines if each snapshot has a sufficient number of node managers.

 @param [Hash<Node, Snapshot>] snapshots the current snapshots
 @return [Boolean] true if sufficient, false otherwise