summaryrefslogtreecommitdiff
path: root/oslo_vmware/api.py
diff options
context:
space:
mode:
authorZHU ZHU <zhuzhubj@cn.ibm.com>2015-07-28 21:47:50 -0500
committerZHU ZHU <zhuzhubj@cn.ibm.com>2015-07-31 06:54:12 -0500
commit0fdb00522a1a6e0d9c645ac68c6dc092d6de7088 (patch)
tree5edc6c65f560384733bddf61e00e60d8e48f674e /oslo_vmware/api.py
parentddf834189b700acecea1698ff8102b759805f5c3 (diff)
downloadoslo-vmware-0fdb00522a1a6e0d9c645ac68c6dc092d6de7088.tar.gz
Allow http connection pool size to be configured
With multiple concurrent VM spawning, the service time from compute service flow to vcenter to trigger soap requests is getting slower. As VIM adopt requests module to access the vcenter which have default http pool size set to 10. This need to be configured to be larger in scale environment. Change-Id: Ic9e9a87de378151a66187222231eaafd7a402ac5 Closes-Bug: #1479183
Diffstat (limited to 'oslo_vmware/api.py')
-rw-r--r--oslo_vmware/api.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/oslo_vmware/api.py b/oslo_vmware/api.py
index 32d031a..cada825 100644
--- a/oslo_vmware/api.py
+++ b/oslo_vmware/api.py
@@ -138,7 +138,7 @@ class VMwareAPISession(object):
def __init__(self, host, server_username, server_password,
api_retry_count, task_poll_interval, scheme='https',
create_session=True, wsdl_loc=None, pbm_wsdl_loc=None,
- port=443, cacert=None, insecure=True):
+ port=443, cacert=None, insecure=True, pool_size=10):
"""Initializes the API session with given parameters.
:param host: ESX/VC server IP address or host name
@@ -158,6 +158,8 @@ class VMwareAPISession(object):
TLS (https) server certificate.
:param insecure: Verify HTTPS connections using system certificates,
used only if cacert is not specified
+ :param pool_size: Maximum number of connections in http
+ connection pool
:raises: VimException, VimFaultException, VimAttributeException,
VimSessionOverLoadException
"""
@@ -176,6 +178,7 @@ class VMwareAPISession(object):
self._pbm = None
self._cacert = cacert
self._insecure = insecure
+ self._pool_size = pool_size
if create_session:
self._create_session()
@@ -192,7 +195,8 @@ class VMwareAPISession(object):
port=self._port,
wsdl_url=self._vim_wsdl_loc,
cacert=self._cacert,
- insecure=self._insecure)
+ insecure=self._insecure,
+ pool_maxsize=self._pool_size)
return self._vim
@property
@@ -203,7 +207,8 @@ class VMwareAPISession(object):
port=self._port,
wsdl_url=self._pbm_wsdl_loc,
cacert=self._cacert,
- insecure=self._insecure)
+ insecure=self._insecure,
+ pool_maxsize=self._pool_size)
if self._session_id:
# To handle the case where pbm property is accessed after
# session creation. If pbm property is accessed before session