Rubygem pulp_rpm_client-3.16.* does not set timeout

So during Katello tests, we fell over timeouts after 60s during GET /pulp/api/v3/content/rpm/modulemds/?limit=2000...
The timeout-value we set in Katello was 7200s (default 30s) and the default-value of pulp_rpm_client gem is supposed to be unlimited.

I looked into the code and saw that the timeout is not set at all in lib/pulp_rpm_client/api_client.rb:

module PulpRpmClient
  class ApiClient
    def build_request(http_method, path, request, opts = {})
      url = build_request_url(path)
      http_method = http_method.to_sym.downcase

      header_params = @default_headers.merge(opts[:header_params] || {})
      query_params = opts[:query_params] || {}
      form_params = opts[:form_params] || {}

      update_params_for_auth! header_params, query_params, opts[:auth_names]

      req_opts = {
        :method => http_method,
        :headers => header_params,
        :params => query_params,
        :params_encoding => @config.params_encoding,
        :timeout => @config.timeout,
        :verbose => @config.debugging
      }

      if [:post, :patch, :put, :delete].include?(http_method)
        req_body = build_request_body(header_params, form_params, opts[:body])
        req_opts.update :body => req_body
        if @config.debugging
          @config.logger.debug "HTTP request body param ~BEGIN~\n#{req_body}\n~END~\n"
        end
      end
      request.headers = header_params
      request.body = req_body
      request.url url
      request.params = query_params
      download_file(request) if opts[:return_type] == 'File'
      request
    end

The req_opts variable is defined but never assigned to the request!
In pulp_dep_client-2.16.2 it is assigned with:

      request.options = OpenStruct.new(req_opts)

That line is missing in pulp_rpm_client. Were they build with different versions of the OpenAPIGenerator?

Apparently this has been fixed with pulp_rpm_client 3.17.5. Is there a way to fix the 3.16 version as well?

Unfortunately we have no plans to release any more pulp-rpm 3.16.z. You should be able to use pulp_rpm_client 3.17.5 with pulp-rpm (server) 3.16.