signalfx / maestro-ng

Orchestration of Docker-based, multi-host environments
https://signalfx.com
Apache License 2.0
685 stars 83 forks source link

in v 0.4.5 the docker login mechanism is broken #198

Closed petrkalina closed 7 years ago

petrkalina commented 7 years ago

maestro file:

name: normal

ships:
    db:
        ip: 192.168.100.245
        timeout: 30

services:

    db-psql:
        image: dcm4che/postgres-dcm4chee:9.6-10
        instances:
            db-psql1:
                ship: db
                ports:
                    postgresql: "5432:55432"
                lifecycle:
                    running: [{type: tcp, port: postgresql}]

with 0.4.4

maestro pull
  #  INSTANCE             SERVICE               CONTAINER                  STATUS    
  1. db-psql1             db-psql                                          done      

with maestro 0.4.5

maestro pull
  #  INSTANCE             SERVICE               CONTAINER                  STATUS    
  1. db-psql1             db-psql               failed!
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/maestro/__main__.py", line 173, in execute
    getattr(c, options.command)(**vars(options))
  File "/usr/local/lib/python2.7/dist-packages/maestro/maestro.py", line 275, in pull
    concurrency, auditor=self.auditor).run()
  File "/usr/local/lib/python2.7/dist-packages/maestro/plays/__init__.py", line 160, in run
    self._end()
  File "/usr/local/lib/python2.7/dist-packages/maestro/plays/__init__.py", line 148, in _end
    exceptions.raise_with_tb(self._error)
  File "/usr/local/lib/python2.7/dist-packages/maestro/plays/__init__.py", line 99, in act
    task.run(auditor=self._auditor)
  File "/usr/local/lib/python2.7/dist-packages/maestro/plays/tasks.py", line 96, in run
    exceptions.raise_with_tb()
  File "/usr/local/lib/python2.7/dist-packages/maestro/plays/tasks.py", line 88, in run
    self._run()
  File "/usr/local/lib/python2.7/dist-packages/maestro/plays/tasks.py", line 415, in _run
    LoginTask(self.o, self.container, self._registries).run()
  File "/usr/local/lib/python2.7/dist-packages/maestro/plays/tasks.py", line 96, in run
    exceptions.raise_with_tb()
  File "/usr/local/lib/python2.7/dist-packages/maestro/plays/tasks.py", line 88, in run
    self._run()
  File "/usr/local/lib/python2.7/dist-packages/maestro/plays/tasks.py", line 363, in _run
    if not registry.get('username'):
AttributeError: 'NoneType' object has no attribute 'get'
mpetazzoni commented 7 years ago

Nice catch. Thanks.