def _render_config_file_template(env, name, defaults={}, overrides={}, default_source=None):
    param_prefix = name.replace(".", "_")
    # Deployer can specify absolute path for config file, check this first
    path_key_name = "%s_path" % param_prefix
    template_key_name = "%s_template_path" % param_prefix
    if env.get(path_key_name, None):
        source_path = env[path_key_name]
        source_template = False
    elif env.get(template_key_name, None):
        source_path = env[template_key_name]
        source_template = True
    elif default_source:
        source_path = _get_installed_file(env, default_source)
        source_template = source_path.endswith(".template")
    else:
        default_template_name = "%s.template" % name
        source_path = _get_installed_file(env, default_template_name)
        source_template = True

    if source_template:
        template = Template(open(source_path, "r").read())
        template_params = _extend_env(env, defaults=defaults, overrides=overrides)
        contents = template.substitute(template_params)
    else:
        contents = open(source_path, "r").read()
    return contents
Expect to take a list of units and traverse them correctly.
dataset/ETHPy150Open chapmanb/cloudbiolinux/cloudbio/custom/shared.py/_render_config_file_template--crossover with--dataset/ETHPy150Open heiskr/sagefy/server/test/test_modules_sequencer_traversal.py/test_traverse