Merge "NSX: Make conn_idle_timeout configurable"

This commit is contained in:
Jenkins 2014-10-26 08:02:53 +00:00 committed by Gerrit Code Review
commit 0d08c96377
4 changed files with 11 additions and 3 deletions

View File

@ -41,6 +41,9 @@
# interface name was not specified
# default_interface_name = breth0
# Reconnect connection to nsx if not used within this amount of time.
# conn_idle_timeout = 900
[quotas]
# number of network gateways allowed per tenant, -1 means unlimited
# quota_network_gateway = 5

View File

@ -19,6 +19,8 @@ import httplib
import six
import time
from oslo.config import cfg
from neutron.openstack.common import log as logging
from neutron.plugins.vmware import api_client
@ -33,8 +35,6 @@ DEFAULT_CONNECT_TIMEOUT = 5
class ApiClientBase(object):
"""An abstract baseclass for all API client implementations."""
CONN_IDLE_TIMEOUT = 60 * 15
def _create_connection(self, host, port, is_ssl):
if is_ssl:
return httplib.HTTPSConnection(host, port,
@ -106,7 +106,7 @@ class ApiClientBase(object):
LOG.debug(_("[%d] Waiting to acquire API client connection."), rid)
priority, conn = self._conn_pool.get()
now = time.time()
if getattr(conn, 'last_used', now) < now - self.CONN_IDLE_TIMEOUT:
if getattr(conn, 'last_used', now) < now - cfg.CONF.conn_idle_timeout:
LOG.info(_("[%(rid)d] Connection %(conn)s idle for %(sec)0.2f "
"seconds; reconnecting."),
{'rid': rid, 'conn': api_client.ctrl_conn_to_str(conn),

View File

@ -124,6 +124,10 @@ connection_opts = [
cfg.ListOpt('nsx_controllers',
deprecated_name='nvp_controllers',
help=_("Lists the NSX controllers in this cluster")),
cfg.IntOpt('conn_idle_timeout',
default=900,
help=_('Reconnect connection to nsx if not used within this '
'amount of time.')),
]
cluster_opts = [

View File

@ -129,6 +129,7 @@ class ConfigurationTest(base.BaseTestCase):
self.assertIsNone(cfg.CONF.default_l3_gw_service_uuid)
self.assertIsNone(cfg.CONF.default_l2_gw_service_uuid)
self.assertEqual('breth0', cfg.CONF.default_interface_name)
self.assertEqual(900, cfg.CONF.conn_idle_timeout)
def test_load_api_extensions(self):
self.config_parse(args=['--config-file', BASE_CONF_PATH,