You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by "Michael Bennett (JIRA)" <ji...@apache.org> on 2017/02/04 19:44:51 UTC

[jira] [Created] (LIBCLOUD-894) DockerContainer Driver misplacements arguments when host and port are specified

Michael Bennett created LIBCLOUD-894:
----------------------------------------

             Summary: DockerContainer Driver misplacements arguments when host and port are specified
                 Key: LIBCLOUD-894
                 URL: https://issues.apache.org/jira/browse/LIBCLOUD-894
             Project: Libcloud
          Issue Type: Bug
            Reporter: Michael Bennett


It appears to be an issue with DockerContainerDriver accepting a user_id despite its connection class being a subclass of ConnectionUserAndKey.

This causes arguments to get shifted in place when the BaseDriver attempts as can be seen by this pdb trace:
```python
> /Users/mbennett/.virtualenvs/cloudburst/src/apache-libcloud/libcloud/common/base.py(916)__init__()
-> super(ConnectionUserAndKey, self).__init__(key, secure=secure,
(Pdb) user_id
(Pdb) args
self = <libcloud.container.drivers.docker.DockerConnection object at 0x10fb67f90>
user_id = None
key = False
secure = localhost
host = 12321
port = None
url = None
timeout = None
proxy_url = None
backoff = None
retry_delay = None
(Pdb)
```python
However it appears there may be a bug with BaseDriver, where it never expects to be passed a user_id argument, and therefore always passes key as the first positional argument when creating a connection class.
```
    def __init__(self, key, secret=None, secure=True, host=None, port=None,
                 api_version=None, region=None, **kwargs):
        self.key = key
        self.secret = secret
        self.secure = secure
        args = [self.key]
        ...
        ...
        self.connection = self.connectionCls(*args, **conn_kwargs)
```

However ConnectionUserAndKey classes and subclasses appear to expect the user_id argument to be first. I may just be misinterpreting this but it seems like a deeper issue



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)