Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
# 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()