Skip to content

Compose properties #85

@supermock

Description

@supermock

Stacktrace

$ cat docker-compose.yml | docker run --rm -i micahhausler/container-transform
Traceback (most recent call last):
  File "/usr/local/bin/container-transform", line 11, in <module>
    load_entry_point('container-transform==1.1.5', 'console_scripts', 'container-transform')()
  File "/usr/local/lib/python3.6/site-packages/click-6.7-py3.6.egg/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/click-6.7-py3.6.egg/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.6/site-packages/click-6.7-py3.6.egg/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.6/site-packages/click-6.7-py3.6.egg/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/container_transform-1.1.5-py3.6.egg/container_transform/client.py", line 64, in transform
    output = converter.convert(verbose)
  File "/usr/local/lib/python3.6/site-packages/container_transform-1.1.5-py3.6.egg/container_transform/converter.py", line 57, in convert
    output_transformer
  File "/usr/local/lib/python3.6/site-packages/container_transform-1.1.5-py3.6.egg/container_transform/converter.py", line 90, in _convert_container
    output[output_name] = emit_func(ingest_func(container.get(input_name)))
  File "/usr/local/lib/python3.6/site-packages/container_transform-1.1.5-py3.6.egg/container_transform/compose.py", line 138, in ingest_port_mappings
    return [self._parse_port_mapping(mapping) for mapping in port_mappings]
  File "/usr/local/lib/python3.6/site-packages/container_transform-1.1.5-py3.6.egg/container_transform/compose.py", line 138, in <listcomp>
    return [self._parse_port_mapping(mapping) for mapping in port_mappings]
  File "/usr/local/lib/python3.6/site-packages/container_transform-1.1.5-py3.6.egg/container_transform/compose.py", line 116, in _parse_port_mapping
    'host_port': int(parts[0]),
ValueError: invalid literal for int() with base 10: "{'published'"

I believe this is occurring because of the lack of treatment of the following properties:

version: '3.4'

services:
  mycontainer:
    ports:
      - published: 80
      target: 80
      - published: 443
      target: 443
      - published: 8080
      target: 8080
      - published: 9090
      target: 9090
      - published: 9093
      target: 9093

Regards,
SuperMock

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