diff --git a/inventory_provider/tasks/config.py b/inventory_provider/tasks/config.py index 0b1879a95f3c7d40399d1c8fa36c2304ab06840a..fede24f75a9296166df88d39cfb4d66d0cd31b44 100644 --- a/inventory_provider/tasks/config.py +++ b/inventory_provider/tasks/config.py @@ -9,6 +9,8 @@ assert os.path.isfile(os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']), ( 'config file %r not found' % os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']) +broker_transport_options = result_backend_transport_options = dict() + with open(os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']) as f: logging.info( 'loading config from: %r' @@ -17,26 +19,30 @@ with open(os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']) as f: if 'sentinel' in inventory_provider_config: params = inventory_provider_config['sentinel'] - sentinel = redis.sentinel.Sentinel( - [(params['hostname'], int(params['port']))], - socket_timeout=0.5) - master = sentinel.discover_master(params['name']) - assert master - _broker_hostname = master[0] - _broker_port = master[1] + _broker_scheme = 'sentinel' + broker_transport_options['master_name'] = params['name'] + if 'sentinel_socket_timeout' in params: + broker_transport_options['sentinel_socket_timeout'] \ + = params['sentinel_socket_timeout'] else: params = inventory_provider_config['redis'] - _broker_hostname = params['hostname'] - _broker_port = int(params['port']) + _broker_scheme = 'redis' + +if 'redis_socket_timeout' in params: + broker_transport_options['redis_socket_timeout'] \ + = params['redis_socket_timeout'] + +_broker_hostname = params['hostname'] +_broker_port = params['port'] _broker_db_index = 1 # TODO: this should be a config param if ':' in _broker_hostname: # assume this means hostname is an ipv6 address - _broker_hostname = '[%s]' % _broker_hostname + _broker_hostname = f'[_broker_hostname]' -broker_url = result_backend = 'redis://%s:%d/%d' % ( - _broker_hostname, _broker_port, _broker_db_index) +broker_url = result_backend = (f'{_broker_scheme}://{_broker_hostname}' + f':{_broker_port}/{_broker_db_index}') logger.debug('broker_url: %r' % broker_url)