Skip to content

Shaper play doesn't work in some cases #44

Description

@wenditer

Shaper play throws exception

Traceback (most recent call last):
  File "d:\env\python\python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\env\python\python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "d:\Env\Python\Python37\Scripts\shaper.exe\__main__.py", line 9, in <module>
  File "d:\env\python\python37\lib\site-packages\shaper\cli.py", line 138, in main
    merge_templates(rendered_templates, arguments.out)
  File "d:\env\python\python37\lib\site-packages\shaper\renderer.py", line 70, in merge_templates
    datastructure[key] = OrderedDict((k, v) for k, v in sorted(datastructure[key].items()))
AttributeError: 'NoneType' object has no attribute 'items'

when rendering following playbooks:
playbook1.yml:

templates:
- ../templates/FE_test.tmpl
variables:
  env: fe3

FE_test.tmpl:

env: '{{ env }}'

playbook2.yml

templates:
- ../templates/FE_test2.tmpl
variables:
  env: fe
  host:
    external: &externalHost test.projects.epam.com
  apps:
    store:
    - name: store
      host: *externalHost
      config:
        atg:
          multisite:
            SiteTools:
              baseUrl: http://test.epam.com:12345

FE_test2.tmpl

env:
  '{{ env }}':
    servers:
      {% for store in apps.store %}
      '{{ env }}_{{ store.name }}':
        localconfig:
          atg:
            endeca:
              assembler:
                cartridge:
                  manager:
                    FileStoreFactory.properties:
                      {% if store.config.someconfig %}configurationPath: '{{ store.config.someconfig }}'{% endif %}
            multisite:
              SiteTools.properties:
                baseUrl: '{{ store.config.atg.multisite.SiteTools.baseUrl }}'
      {% endfor %}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions