diff --git a/app/models/manageiq/providers/kubernetes/container_manager_mixin.rb b/app/models/manageiq/providers/kubernetes/container_manager_mixin.rb index ce4f0848e5..4168407a5f 100644 --- a/app/models/manageiq/providers/kubernetes/container_manager_mixin.rb +++ b/app/models/manageiq/providers/kubernetes/container_manager_mixin.rb @@ -27,7 +27,11 @@ def kubernetes_connect(hostname, port, options) options[:version] || kubernetes_version, :ssl_options => Kubeclient::Client::DEFAULT_SSL_OPTIONS.merge(options[:ssl_options] || {}), :auth_options => kubernetes_auth_options(options), - :http_proxy_uri => VMDB::Util.http_proxy_uri + :http_proxy_uri => VMDB::Util.http_proxy_uri, + :timeouts => { + :open => Settings.ems.ems_kubernetes.open_timeout.to_f_with_method, + :read => Settings.ems.ems_kubernetes.read_timeout.to_f_with_method + } ) end diff --git a/config/settings.yml b/config/settings.yml index ca358eefcf..7822f956b4 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -3,6 +3,8 @@ :ems_kubernetes: :event_handling: :event_groups: + :open_timeout: 60.seconds + :read_timeout: 60.seconds :http_proxy: :kubernetes: :host: diff --git a/spec/models/manageiq/providers/kubernetes/container_manager_spec.rb b/spec/models/manageiq/providers/kubernetes/container_manager_spec.rb index cebdbf95cb..7caeae1610 100644 --- a/spec/models/manageiq/providers/kubernetes/container_manager_spec.rb +++ b/spec/models/manageiq/providers/kubernetes/container_manager_spec.rb @@ -112,7 +112,8 @@ require 'kubeclient' expect(Kubeclient::Client).to receive(:new).with( instance_of(URI::HTTPS), 'v1', - hash_including(:http_proxy_uri => VMDB::Util.http_proxy_uri) + hash_including(:http_proxy_uri => VMDB::Util.http_proxy_uri, + :timeouts => match(:open => be > 0, :read => be > 0)) ) described_class.raw_connect(hostname, port, options) end