Skip to content
Snippets Groups Projects
Commit fae6762b authored by Erik Reid's avatar Erik Reid
Browse files

use shared config module for initializing

load config from filename in INVENTORY_PROVIDER_CONFIG_FILENAME
parent 1e7ece9c
No related branches found
No related tags found
No related merge requests found
import logging
import os
from inventory_provider import config
import redis.sentinel
logger = logging.getLogger(__name__)
broker_hostname = os.getenv('BROKER_HOSTNAME')
assert broker_hostname is not None
broker_port = int(os.getenv('BROKER_PORT'))
broker_db_index = int(os.getenv('CELERY_DB_INDEX'))
assert os.path.isfile(os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']), (
'config file %r not found' %
os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME'])
broker_scheme = os.getenv('BROKER_SCHEME', 'redis')
assert broker_scheme in ('redis', 'sentinel'), 'unsupported broker scheme'
with open(os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME']) as f:
logging.info(
'loading config from: %r'
% os.environ['INVENTORY_PROVIDER_CONFIG_FILENAME'])
inventory_provider_config = config.load(f)
if broker_scheme == 'sentinel':
master_name = os.getenv('SENTINEL_MASTER_NAME')
assert master_name is not None
if 'sentinel' in inventory_provider_config:
params = inventory_provider_config['sentinel']
sentinel = redis.sentinel.Sentinel(
[(broker_hostname, broker_port)],
socket_timeout=0.1)
master = sentinel.discover_master(master_name)
[(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_hostname = master[0]
_broker_port = master[1]
else:
params = inventory_provider_config['redis']
_broker_hostname = params['hostname']
_broker_port = int(params['port'])
_broker_db_index = 1 # TODO: this should be a config param
if ':' in broker_hostname:
if ':' in _broker_hostname:
# assume this means hostname is an ipv6 address
broker_hostname = '[%s]' % broker_hostname
_broker_hostname = '[%s]' % _broker_hostname
broker_url = 'redis://%s:%d/%d' % (
broker_hostname, broker_port, broker_db_index)
result_backend = broker_url
broker_url = result_backend ='redis://%s:%d/%d' % (
_broker_hostname, _broker_port, _broker_db_index)
logger.debug('broker_url: %r' % broker_url)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment