[
https://issues.apache.org/jira/browse/LIBCLOUD-850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15530760#comment-15530760
]
ASF GitHub Bot commented on LIBCLOUD-850:
-----------------------------------------
GitHub user InAnimaTe opened a pull request:
https://github.com/apache/libcloud/pull/874
[LIBCLOUD-850] Docker Driver missing '/' prior to URI
## Fix missing '/' in driver uri's
### Description
This is a quick 2 line change that enables a proper check for prepending
slash on a uri so drivers can successfully still work without explicitly
defining a `/`. This change was inspired by the `docker` driver not working
when I first instantiated it.
See [this](https://issues.apache.org/jira/browse/LIBCLOUD-850) issue for
more.
### Status
- done, ready for review
### Checklist (tick everything that applies)
- [x] [Code
linting](http://libcloud.readthedocs.org/en/latest/development.html#code-style-guide)
(required, can be done after the PR checks)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/ArroyoNetworks/libcloud slash_fix
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/libcloud/pull/874.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #874
----
commit 053d57469b502e5e548e2bbfa0322ec018387764
Author: Mario Loria <[email protected]>
Date: 2016-09-28T20:11:23Z
fix LIBCLOUD-850
----
> Docker Driver missing '/' prior to URI
> --------------------------------------
>
> Key: LIBCLOUD-850
> URL: https://issues.apache.org/jira/browse/LIBCLOUD-850
> Project: Libcloud
> Issue Type: Bug
> Reporter: Mario Loria
> Priority: Critical
>
> Just tried the docker driver and found that it's improperly sending requests
> to the Docker API:
> {{http://127.0.0.1:4243v1.24/containers/json?all=1}}
> which yields:
> {code}
> >>> conn.list_containers()
> Traceback (most recent call last):
> File "<input>", line 1, in <module>
> conn.list_containers()
> File
> "/home/mloria/arrovenv/lib/python3.5/site-packages/libcloud/container/drivers/docker.py
> ", line 279, in list_containers
> "v%s/containers/json%s" % (self.version, ex)).object
> File
> "/home/mloria/arrovenv/lib/python3.5/site-packages/libcloud/common/base.py",
> line 862,
> in request
> response = responseCls(**kwargs)
> File
> "/home/mloria/arrovenv/lib/python3.5/site-packages/libcloud/common/base.py",
> line 179,
> in __init__
> headers=self.headers)
> libcloud.common.exceptions.BaseHTTPError: 400 Bad Request
> {code}
> I've verified this by making the same GET request with Postman, which worked
> properly (with the missing '/'). Also, Wireshark: http://imgur.com/a/ogEge
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)