Repository URL to install this package:
Version:
5.2.8-5.2 ▾
|
# Copyright 2018 TrilioData Inc.
# All Rights Reserved.
"""Python module that populates dmapi.conf from nova.conf."""
try:
from urlparse import urlparse
except:
from urllib.parse import urlparse
try:
import ConfigParser as configparser
except:
import configparser
def populate_dmapi_conf():
"""read nova.conf and populate dmapi.conf."""
dmapi_conf = configparser.RawConfigParser()
dmapi_conf.read('/etc/triliovault-datamover/triliovault-datamover-api.conf')
dmapi_parameters = [('DEFAULT', 'dmapi_listen_port', str(8784)),
('DEFAULT', 'dmapi_listen', '0.0.0.0'),
('DEFAULT', 'dmapi_enabled_apis', 'dmapi'),
('DEFAULT', 'dmapi_enabled_ssl_apis', None)]
for section, key, default in dmapi_parameters:
if default:
dmapi_conf.set(section, key, default)
else:
dmapi_conf.set(section, key, "")
user_conf = configparser.RawConfigParser()
user_conf.read('/tmp/datamover_url')
for key, value in list(dict(user_conf._defaults).items()):
dmapi_conf.set('DEFAULT', key, value)
for section in user_conf._sections:
value_map_dict = dict(user_conf._sections[section])
value_map_dict.pop('__name__', None)
for key, value in list(value_map_dict.items()):
dmapi_conf.set(section, key, value)
port = urlparse(user_conf._defaults['dmapi_link_prefix']).port
if ":" in urlparse(user_conf._defaults['dmapi_link_prefix']).hostname :
dmapi_listen = "::"
dmapi_conf.set('DEFAULT', 'dmapi_listen', dmapi_listen)
dmapi_conf.set('DEFAULT', 'dmapi_listen_port', port)
with open('/etc/triliovault-datamover/triliovault-datamover-api.conf', 'w') as configfile:
dmapi_conf.write(configfile)
if __name__ == "__main__":
populate_dmapi_conf()