You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by an...@apache.org on 2016/10/09 09:32:20 UTC

[1/8] libcloud git commit: Fix a missing / in requests made by the DockerContainerDriver

Repository: libcloud
Updated Branches:
  refs/heads/trunk 31897dd69 -> 82df6e961


Fix a missing / in requests made by the DockerContainerDriver 

Following the examples provided by the documentation would result in a "400 Bad Request" error due to the fact that the requests didn't begin with a '/' for example:

GET v1.24/images/json HTTP/1.1

would result in a 400 Bad Request error, but:

GET /v1.24/images/json HTTP/1.1

does not.

Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/66fa5e31
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/66fa5e31
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/66fa5e31

Branch: refs/heads/trunk
Commit: 66fa5e31604f782000d0096704f51ff20798fbf1
Parents: 2d4a6d3
Author: Jamie Hankins <Ja...@users.noreply.github.com>
Authored: Tue Aug 9 20:44:32 2016 +0100
Committer: GitHub <no...@github.com>
Committed: Tue Aug 9 20:44:32 2016 +0100

----------------------------------------------------------------------
 libcloud/container/drivers/docker.py | 32 +++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/66fa5e31/libcloud/container/drivers/docker.py
----------------------------------------------------------------------
diff --git a/libcloud/container/drivers/docker.py b/libcloud/container/drivers/docker.py
index 880618b..6b6839e 100644
--- a/libcloud/container/drivers/docker.py
+++ b/libcloud/container/drivers/docker.py
@@ -205,7 +205,7 @@ class DockerContainerDriver(ContainerDriver):
         }
         data = json.dumps(payload)
 
-        result = self.connection.request('v%s/images/create?fromImage=%s' %
+        result = self.connection.request('/v%s/images/create?fromImage=%s' %
                                          (self.version, path), data=data,
                                          method='POST')
         if "errorDetail" in result.body:
@@ -235,7 +235,7 @@ class DockerContainerDriver(ContainerDriver):
 
         :rtype: ``list`` of :class:`libcloud.container.base.ContainerImage`
         """
-        result = self.connection.request('v%s/images/json' %
+        result = self.connection.request('/v%s/images/json' %
                                          (self.version)).object
         images = []
         for image in result:
@@ -276,7 +276,7 @@ class DockerContainerDriver(ContainerDriver):
             ex = ''
         try:
             result = self.connection.request(
-                "v%s/containers/json%s" % (self.version, ex)).object
+                "/v%s/containers/json%s" % (self.version, ex)).object
         except Exception as exc:
             errno = getattr(exc, 'errno', None)
             if errno == 111:
@@ -355,7 +355,7 @@ class DockerContainerDriver(ContainerDriver):
 
         data = json.dumps(payload)
         try:
-            result = self.connection.request('v%s/containers/create'
+            result = self.connection.request('/v%s/containers/create'
                                              % (self.version),
                                              data=data,
                                              params=params, method='POST')
@@ -377,7 +377,7 @@ class DockerContainerDriver(ContainerDriver):
         data = json.dumps(payload)
         if start:
             result = self.connection.request(
-                'v%s/containers/%s/start' %
+                '/v%s/containers/%s/start' %
                 (self.version, id_), data=data,
                 method='POST')
 
@@ -392,7 +392,7 @@ class DockerContainerDriver(ContainerDriver):
 
         :rtype: :class:`libcloud.container.base.Container`
         """
-        result = self.connection.request("v%s/containers/%s/json" %
+        result = self.connection.request("/v%s/containers/%s/json" %
                                          (self.version, id)).object
 
         return self._to_container(result)
@@ -413,7 +413,7 @@ class DockerContainerDriver(ContainerDriver):
         }
         data = json.dumps(payload)
         result = self.connection.request(
-            'v%s/containers/%s/start' %
+            '/v%s/containers/%s/start' %
             (self.version, container.id),
             method='POST', data=data)
         if result.status in VALID_RESPONSE_CODES:
@@ -432,7 +432,7 @@ class DockerContainerDriver(ContainerDriver):
         :return: The container refreshed with current data
         :rtype: :class:`libcloud.container.base.Container`
         """
-        result = self.connection.request('v%s/containers/%s/stop' %
+        result = self.connection.request('/v%s/containers/%s/stop' %
                                          (self.version, container.id),
                                          method='POST')
         if result.status in VALID_RESPONSE_CODES:
@@ -453,7 +453,7 @@ class DockerContainerDriver(ContainerDriver):
         """
         data = json.dumps({'t': 10})
         # number of seconds to wait before killing the container
-        result = self.connection.request('v%s/containers/%s/restart' %
+        result = self.connection.request('/v%s/containers/%s/restart' %
                                          (self.version, container.id),
                                          data=data, method='POST')
         if result.status in VALID_RESPONSE_CODES:
@@ -472,7 +472,7 @@ class DockerContainerDriver(ContainerDriver):
         :return: True if the destroy was successful, False otherwise.
         :rtype: ``bool``
         """
-        result = self.connection.request('v%s/containers/%s' % (self.version,
+        result = self.connection.request('/v%s/containers/%s' % (self.version,
                                                                 container.id),
                                          method='DELETE')
         return result.status in VALID_RESPONSE_CODES
@@ -486,7 +486,7 @@ class DockerContainerDriver(ContainerDriver):
 
         :rtype: ``str``
         """
-        result = self.connection.request("v%s/containers/%s/top" %
+        result = self.connection.request("/v%s/containers/%s/top" %
                                          (self.version, container.id)).object
 
         return result
@@ -503,7 +503,7 @@ class DockerContainerDriver(ContainerDriver):
 
         :rtype: :class:`libcloud.container.base.Container`
         """
-        result = self.connection.request('v%s/containers/%s/rename?name=%s'
+        result = self.connection.request('/v%s/containers/%s/rename?name=%s'
                                          % (self.version, container.id, name),
                                          method='POST')
         if result.status in VALID_RESPONSE_CODES:
@@ -530,12 +530,12 @@ class DockerContainerDriver(ContainerDriver):
 
         if float(self._get_api_version()) > 1.10:
             result = self.connection.request(
-                "v%s/containers/%s/logs?follow=%s&stdout=1&stderr=1" %
+                "/v%s/containers/%s/logs?follow=%s&stdout=1&stderr=1" %
                 (self.version, container.id, str(stream))).object
             logs = result
         else:
             result = self.connection.request(
-                "v%s/containers/%s/attach?logs=1&stream=%s&stdout=1&stderr=1" %
+                "/v%s/containers/%s/attach?logs=1&stream=%s&stdout=1&stderr=1" %
                 (self.version, container.id, str(stream)),
                 method='POST',
                 data=data)
@@ -560,7 +560,7 @@ class DockerContainerDriver(ContainerDriver):
         """
 
         term = term.replace(' ', '+')
-        result = self.connection.request('v%s/images/search?term=%s' %
+        result = self.connection.request('/v%s/images/search?term=%s' %
                                          (self.version, term)).object
         images = []
         for image in result:
@@ -591,7 +591,7 @@ class DockerContainerDriver(ContainerDriver):
 
         :rtype: ``bool``
         """
-        result = self.connection.request('v%s/images/%s' % (self.version,
+        result = self.connection.request('/v%s/images/%s' % (self.version,
                                                             image.name),
                                          method='DELETE')
         return result.status in VALID_RESPONSE_CODES


[7/8] libcloud git commit: linting

Posted by an...@apache.org.
linting


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/3fafba8d
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/3fafba8d
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/3fafba8d

Branch: refs/heads/trunk
Commit: 3fafba8d57da4cec3a89de973180486a380c2056
Parents: 139278f
Author: Anthony Shaw <an...@apache.org>
Authored: Sun Oct 9 20:21:31 2016 +1100
Committer: Anthony Shaw <an...@apache.org>
Committed: Sun Oct 9 20:21:31 2016 +1100

----------------------------------------------------------------------
 libcloud/__init__.py                 | 1 -
 libcloud/container/drivers/docker.py | 8 ++++----
 2 files changed, 4 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/3fafba8d/libcloud/__init__.py
----------------------------------------------------------------------
diff --git a/libcloud/__init__.py b/libcloud/__init__.py
index aaa74c6..753b639 100644
--- a/libcloud/__init__.py
+++ b/libcloud/__init__.py
@@ -26,7 +26,6 @@ from libcloud.base import DriverTypeFactoryMap  # NOQA
 from libcloud.base import get_driver  # NOQA
 
 
-
 try:
     import paramiko
     have_paramiko = True

http://git-wip-us.apache.org/repos/asf/libcloud/blob/3fafba8d/libcloud/container/drivers/docker.py
----------------------------------------------------------------------
diff --git a/libcloud/container/drivers/docker.py b/libcloud/container/drivers/docker.py
index 6b6839e..faf5117 100644
--- a/libcloud/container/drivers/docker.py
+++ b/libcloud/container/drivers/docker.py
@@ -473,7 +473,7 @@ class DockerContainerDriver(ContainerDriver):
         :rtype: ``bool``
         """
         result = self.connection.request('/v%s/containers/%s' % (self.version,
-                                                                container.id),
+                                                                 container.id),
                                          method='DELETE')
         return result.status in VALID_RESPONSE_CODES
 
@@ -535,8 +535,8 @@ class DockerContainerDriver(ContainerDriver):
             logs = result
         else:
             result = self.connection.request(
-                "/v%s/containers/%s/attach?logs=1&stream=%s&stdout=1&stderr=1" %
-                (self.version, container.id, str(stream)),
+                "/v%s/containers/%s/attach?logs=1&stream=%s&stdout=1&stderr=1"
+                % (self.version, container.id, str(stream)),
                 method='POST',
                 data=data)
             logs = result.body
@@ -592,7 +592,7 @@ class DockerContainerDriver(ContainerDriver):
         :rtype: ``bool``
         """
         result = self.connection.request('/v%s/images/%s' % (self.version,
-                                                            image.name),
+                                                             image.name),
                                          method='DELETE')
         return result.status in VALID_RESPONSE_CODES
 


[4/8] libcloud git commit: test fixes

Posted by an...@apache.org.
test fixes


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/ea920443
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/ea920443
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/ea920443

Branch: refs/heads/trunk
Commit: ea92044356633fb608b63a53b4e7684a00423c09
Parents: 3b1c9f4
Author: Mario Loria <ma...@arroyonetworks.com>
Authored: Fri Oct 7 22:24:57 2016 -0400
Committer: Mario Loria <ma...@arroyonetworks.com>
Committed: Fri Oct 7 22:24:57 2016 -0400

----------------------------------------------------------------------
 libcloud/test/container/test_docker.py | 48 ++++++++++++++---------------
 1 file changed, 24 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/ea920443/libcloud/test/container/test_docker.py
----------------------------------------------------------------------
diff --git a/libcloud/test/container/test_docker.py b/libcloud/test/container/test_docker.py
index 0f57fed..73c9f4e 100644
--- a/libcloud/test/container/test_docker.py
+++ b/libcloud/test/container/test_docker.py
@@ -129,101 +129,101 @@ class DockerMockHttp(MockHttp):
             raise AssertionError('Unsupported method')
         return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
-    def vlinux_121_images_search(
+    def _vlinux_121_images_search(
             self, method, url, body, headers):
         return (httplib.OK, self.fixtures.load('linux_121/search.json'), {}, httplib.responses[httplib.OK])
 
-    def vmac_124_images_search(
+    def _vmac_124_images_search(
             self, method, url, body, headers):
         return (httplib.OK, self.fixtures.load('mac_124/search.json'), {}, httplib.responses[httplib.OK])
 
-    def vlinux_121_images_json(
+    def _vlinux_121_images_json(
             self, method, url, body, headers):
         return (httplib.OK, self.fixtures.load('linux_121/images.json'), {}, httplib.responses[httplib.OK])
 
-    def vmac_124_images_json(
+    def _vmac_124_images_json(
             self, method, url, body, headers):
         return (httplib.OK, self.fixtures.load('linux_121/images.json'), {}, httplib.responses[httplib.OK])
 
-    def vlinux_121_images_create(
+    def _vlinux_121_images_create(
             self, method, url, body, headers):
         return (httplib.OK, self.fixtures.load('linux_121/create_image.json'), {'Content-Type': 'application/json'},
                 httplib.responses[httplib.OK])
 
-    def vmac_124_images_create(
+    def _vmac_124_images_create(
             self, method, url, body, headers):
         return (httplib.OK, self.fixtures.load('mac_124/create_image.json'), {'Content-Type': 'application/json'},
                 httplib.responses[httplib.OK])
 
-    def vlinux_121_containers_json(
+    def _vlinux_121_containers_json(
             self, method, url, body, headers):
         return (httplib.OK, self.fixtures.load('linux_121/containers.json'), {}, httplib.responses[httplib.OK])
 
-    def vmac_124_containers_json(
+    def _vmac_124_containers_json(
             self, method, url, body, headers):
         return (httplib.OK, self.fixtures.load('mac_124/containers.json'), {}, httplib.responses[httplib.OK])
 
-    def vlinux_121_containers_create(
+    def _vlinux_121_containers_create(
             self, method, url, body, headers):
         return (httplib.OK, self.fixtures.load('linux_121/create_container.json'), {}, httplib.responses[httplib.OK])
 
-    def vmac_124_containers_create(
+    def _vmac_124_containers_create(
             self, method, url, body, headers):
         return (httplib.OK, self.fixtures.load('mac_124/create_container.json'), {}, httplib.responses[httplib.OK])
 
-    def vlinux_121_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303(
+    def _vlinux_121_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303(
             self, method, url, body, headers):
         return (httplib.NO_CONTENT, '', {}, httplib.responses[httplib.OK])
 
-    def vmac_124_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303(
+    def _vmac_124_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303(
             self, method, url, body, headers):
         return (httplib.NO_CONTENT, '', {}, httplib.responses[httplib.OK])
 
-    def vlinux_121_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_start(
+    def _vlinux_121_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_start(
             self, method, url, body, headers):
         return (httplib.NO_CONTENT, '', {}, httplib.responses[httplib.OK])
 
-    def vmac_124_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_start(
+    def _vmac_124_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_start(
             self, method, url, body, headers):
         return (httplib.NO_CONTENT, '', {}, httplib.responses[httplib.OK])
 
-    def vlinux_121_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_restart(
+    def _vlinux_121_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_restart(
             self, method, url, body, headers):
         return (httplib.NO_CONTENT, '', {}, httplib.responses[httplib.OK])
 
-    def vmac_124_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_restart(
+    def _vmac_124_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_restart(
             self, method, url, body, headers):
         return (httplib.NO_CONTENT, '', {}, httplib.responses[httplib.OK])
 
-    def vlinux_121_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_rename(
+    def _vlinux_121_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_rename(
             self, method, url, body, headers):
         return (httplib.NO_CONTENT, '', {}, httplib.responses[httplib.OK])
 
-    def vmac_124_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_rename(
+    def _vmac_124_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_rename(
             self, method, url, body, headers):
         return (httplib.NO_CONTENT, '', {}, httplib.responses[httplib.OK])
 
-    def vlinux_121_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_stop(
+    def _vlinux_121_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_stop(
             self, method, url, body, headers):
         return (httplib.NO_CONTENT, '', {}, httplib.responses[httplib.OK])
 
-    def vmac_124_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_stop(
+    def _vmac_124_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_stop(
             self, method, url, body, headers):
         return (httplib.NO_CONTENT, '', {}, httplib.responses[httplib.OK])
 
-    def vlinux_121_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_json(
+    def _vlinux_121_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_json(
             self, method, url, body, headers):
         return (httplib.OK, self.fixtures.load('linux_121/container_a68.json'), {}, httplib.responses[httplib.OK])
 
-    def vmac_124_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_json(
+    def _vmac_124_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_json(
             self, method, url, body, headers):
         return (httplib.OK, self.fixtures.load('linux_121/container_a68.json'), {}, httplib.responses[httplib.OK])
 
-    def vlinux_121_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_logs(
+    def _vlinux_121_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_logs(
             self, method, url, body, headers):
         return (httplib.OK, self.fixtures.load('linux_121/logs.txt'), {'content-type': 'text/plain'}, httplib.responses[httplib.OK])
 
-    def vmac_124_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_logs(
+    def _vmac_124_containers_a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303_logs(
             self, method, url, body, headers):
         return (httplib.OK, self.fixtures.load('linux_121/logs.txt'), {'content-type': 'text/plain'}, httplib.responses[httplib.OK])
 


[5/8] libcloud git commit: Merge branch 'slash_fix' into trunk Closes #874

Posted by an...@apache.org.
Merge branch 'slash_fix' into trunk
Closes #874


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/503f33cc
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/503f33cc
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/503f33cc

Branch: refs/heads/trunk
Commit: 503f33cc404388e43aa5393e91f93490320083dc
Parents: bb95abe ea92044
Author: Anthony Shaw <an...@apache.org>
Authored: Sun Oct 9 20:03:32 2016 +1100
Committer: Anthony Shaw <an...@apache.org>
Committed: Sun Oct 9 20:03:50 2016 +1100

----------------------------------------------------------------------
 libcloud/common/base.py                |  2 ++
 libcloud/test/container/test_docker.py | 48 ++++++++++++++---------------
 2 files changed, 26 insertions(+), 24 deletions(-)
----------------------------------------------------------------------



[6/8] libcloud git commit: Merge branch 'patch-1' into trunk Closes #850

Posted by an...@apache.org.
Merge branch 'patch-1' into trunk
Closes #850


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/139278f7
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/139278f7
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/139278f7

Branch: refs/heads/trunk
Commit: 139278f7d473ef5ec511e2c8a65a49b90f66f048
Parents: 503f33c 66fa5e3
Author: Anthony Shaw <an...@apache.org>
Authored: Sun Oct 9 20:05:16 2016 +1100
Committer: Anthony Shaw <an...@apache.org>
Committed: Sun Oct 9 20:05:16 2016 +1100

----------------------------------------------------------------------
 libcloud/container/drivers/docker.py | 32 +++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)
----------------------------------------------------------------------



[3/8] libcloud git commit: fix ending :

Posted by an...@apache.org.
fix ending :


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/3b1c9f4f
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/3b1c9f4f
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/3b1c9f4f

Branch: refs/heads/trunk
Commit: 3b1c9f4f1fe5ce06301d54f0647895645d12da8a
Parents: 053d574
Author: Mario Loria <ma...@arroyonetworks.com>
Authored: Fri Sep 30 11:17:05 2016 -0400
Committer: Mario Loria <ma...@arroyonetworks.com>
Committed: Fri Sep 30 11:17:05 2016 -0400

----------------------------------------------------------------------
 libcloud/common/base.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/3b1c9f4f/libcloud/common/base.py
----------------------------------------------------------------------
diff --git a/libcloud/common/base.py b/libcloud/common/base.py
index 4716ef5..3b03fa3 100644
--- a/libcloud/common/base.py
+++ b/libcloud/common/base.py
@@ -867,7 +867,7 @@ class Connection(object):
         return response
 
     def morph_action_hook(self, action):
-        if not action.startswith("/")
+        if not action.startswith("/"):
             action = "/" + action
         return self.request_path + action
 


[8/8] libcloud git commit: Merge remote-tracking branch 'me/combine_docker_fix' into trunk Closes #895

Posted by an...@apache.org.
Merge remote-tracking branch 'me/combine_docker_fix' into trunk
Closes #895


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/82df6e96
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/82df6e96
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/82df6e96

Branch: refs/heads/trunk
Commit: 82df6e961b6f3e581cb404a01acfee4ce498d1c6
Parents: 31897dd 3fafba8
Author: Anthony Shaw <an...@apache.org>
Authored: Sun Oct 9 20:32:04 2016 +1100
Committer: Anthony Shaw <an...@apache.org>
Committed: Sun Oct 9 20:32:04 2016 +1100

----------------------------------------------------------------------
 libcloud/common/base.py                |  2 ++
 libcloud/container/drivers/docker.py   | 38 +++++++++++------------
 libcloud/test/container/test_docker.py | 48 ++++++++++++++---------------
 3 files changed, 45 insertions(+), 43 deletions(-)
----------------------------------------------------------------------



[2/8] libcloud git commit: fix LIBCLOUD-850

Posted by an...@apache.org.
fix LIBCLOUD-850


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/053d5746
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/053d5746
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/053d5746

Branch: refs/heads/trunk
Commit: 053d57469b502e5e548e2bbfa0322ec018387764
Parents: 0ae5c10
Author: Mario Loria <ma...@arroyonetworks.com>
Authored: Wed Sep 28 16:11:23 2016 -0400
Committer: Mario Loria <ma...@arroyonetworks.com>
Committed: Wed Sep 28 16:11:23 2016 -0400

----------------------------------------------------------------------
 libcloud/common/base.py | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/053d5746/libcloud/common/base.py
----------------------------------------------------------------------
diff --git a/libcloud/common/base.py b/libcloud/common/base.py
index 540244d..4716ef5 100644
--- a/libcloud/common/base.py
+++ b/libcloud/common/base.py
@@ -867,6 +867,8 @@ class Connection(object):
         return response
 
     def morph_action_hook(self, action):
+        if not action.startswith("/")
+            action = "/" + action
         return self.request_path + action
 
     def add_default_params(self, params):