libcloud-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From anthonys...@apache.org
Subject [4/5] libcloud git commit: Fix Docker Driver install_image response parsing and update test fixtures Closes #918
Date Mon, 24 Oct 2016 12:29:49 GMT
Fix Docker Driver install_image response parsing and update test fixtures
Closes #918


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

Branch: refs/heads/trunk
Commit: d59e52c3229808981a2d0e4d9a8eeb5ef78f5821
Parents: e263144
Author: ptzianos <pavlos.tzianos@gmail.com>
Authored: Thu Oct 20 15:49:20 2016 +0200
Committer: Anthony Shaw <anthonyshaw@apache.org>
Committed: Mon Oct 24 13:27:24 2016 +0100

----------------------------------------------------------------------
 libcloud/container/drivers/docker.py            |  28 ++-
 .../docker/linux_121/container_a68.json         | 163 -------------
 .../fixtures/docker/linux_121/containers.json   | 143 -----------
 .../docker/linux_121/create_container.json      |   4 -
 .../fixtures/docker/linux_121/create_image.json |   1 -
 .../fixtures/docker/linux_121/images.json       |  50 ----
 .../fixtures/docker/linux_121/logs.txt          |   1 -
 .../fixtures/docker/linux_121/search.json       | 202 ----------------
 .../fixtures/docker/linux_121/version.json      |  10 -
 .../docker/linux_124/container_a68.json         | 163 +++++++++++++
 .../fixtures/docker/linux_124/containers.json   | 143 +++++++++++
 .../docker/linux_124/create_container.json      |   4 +
 .../fixtures/docker/linux_124/create_image.txt  | 238 +++++++++++++++++++
 .../fixtures/docker/linux_124/images.json       |  50 ++++
 .../fixtures/docker/linux_124/logs.txt          |   1 +
 .../fixtures/docker/linux_124/search.json       | 202 ++++++++++++++++
 .../fixtures/docker/linux_124/version.json      |  10 +
 .../fixtures/docker/mac_124/create_image.json   |   1 -
 .../fixtures/docker/mac_124/create_image.txt    | 238 +++++++++++++++++++
 libcloud/test/container/test_docker.py          |  52 ++--
 20 files changed, 1094 insertions(+), 610 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/container/drivers/docker.py
----------------------------------------------------------------------
diff --git a/libcloud/container/drivers/docker.py b/libcloud/container/drivers/docker.py
index faf5117..ac5c0a1 100644
--- a/libcloud/container/drivers/docker.py
+++ b/libcloud/container/drivers/docker.py
@@ -54,7 +54,11 @@ class DockerResponse(JsonResponse):
             # an error, but response status could still be 200
             content_type = self.headers.get('content-type', 'application/json')
             if content_type == 'application/json' or content_type == '':
-                body = json.loads(self.body)
+                if self.headers.get('transfer-encoding') == 'chunked':
+                    body = [json.loads(chunk) for chunk in
+                            self.body.strip().replace('\r', '').split('\n')]
+                else:
+                    body = json.loads(self.body)
             else:
                 body = self.body
         except ValueError:
@@ -210,14 +214,20 @@ class DockerContainerDriver(ContainerDriver):
                                          method='POST')
         if "errorDetail" in result.body:
             raise DockerException(None, result.body)
-        try:
-            # get image id
-            image_id = re.findall(
-                r'{"status":"Download complete"'
-                r',"progressDetail":{},"id":"\w+"}',
-                result.body)[-1]
-            image_id = json.loads(image_id).get('id')
-        except:
+        image_id = None
+
+        # the response is slightly different if the image is already present
+        # and it's not downloaded. both messages below indicate that the image
+        # is available for use to the daemon
+        if re.search(r'Downloaded newer image', result.body) or \
+                re.search(r'"Status: Image is up to date', result.body):
+            if re.search(r'sha256:(?P<id>[a-z0-9]{64})', result.body):
+                image_id = re.findall(r'sha256:(?P<id>[a-z0-9]{64})',
+                                      result.body)[-1]
+
+        # if there is a failure message or if there is not an image id in the
+        # response then throw an exception.
+        if image_id is None:
             raise DockerException(None, 'failed to install image')
 
         image = ContainerImage(

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/linux_121/container_a68.json
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/linux_121/container_a68.json b/libcloud/test/container/fixtures/docker/linux_121/container_a68.json
deleted file mode 100644
index 88282ec..0000000
--- a/libcloud/test/container/fixtures/docker/linux_121/container_a68.json
+++ /dev/null
@@ -1,163 +0,0 @@
-{
-  "Id": "a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303",
-  "Created": "2015-12-23T01:05:40.56937184Z",
-  "Path": "/entrypoint.sh",
-  "Args": [
-    "None"
-  ],
-  "State": {
-    "Status": "exited",
-    "Running": false,
-    "Paused": false,
-    "Restarting": false,
-    "OOMKilled": false,
-    "Dead": false,
-    "Pid": 0,
-    "ExitCode": 127,
-    "Error": "",
-    "StartedAt": "2015-12-23T01:06:29.018395755Z",
-    "FinishedAt": "2015-12-23T01:06:30.144487212Z"
-  },
-  "Image": "cf55d61f5307b7a18a45980971d6cfd40b737dd661879c4a6b3f2aecc3bc37b0",
-  "ResolvConfPath": "/var/lib/docker/containers/a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303/resolv.conf",
-  "HostnamePath": "/var/lib/docker/containers/a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303/hostname",
-  "HostsPath": "/var/lib/docker/containers/a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303/hosts",
-  "LogPath": "/var/lib/docker/containers/a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303/a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303-json.log",
-  "Name": "/gigantic_goldberg",
-  "RestartCount": 0,
-  "Driver": "aufs",
-  "ExecDriver": "native-0.2",
-  "MountLabel": "",
-  "ProcessLabel": "",
-  "AppArmorProfile": "",
-  "ExecIDs": null,
-  "HostConfig": {
-    "Binds": null,
-    "ContainerIDFile": "",
-    "LxcConf": null,
-    "Memory": 0,
-    "MemoryReservation": 0,
-    "MemorySwap": 0,
-    "KernelMemory": 0,
-    "CpuShares": 0,
-    "CpuPeriod": 0,
-    "CpusetCpus": "",
-    "CpusetMems": "",
-    "CpuQuota": 0,
-    "BlkioWeight": 0,
-    "OomKillDisable": false,
-    "MemorySwappiness": null,
-    "Privileged": false,
-    "PortBindings": {},
-    "Links": null,
-    "PublishAllPorts": true,
-    "Dns": null,
-    "DnsOptions": null,
-    "DnsSearch": null,
-    "ExtraHosts": null,
-    "VolumesFrom": null,
-    "Devices": null,
-    "NetworkMode": "default",
-    "IpcMode": "",
-    "PidMode": "",
-    "UTSMode": "",
-    "CapAdd": null,
-    "CapDrop": null,
-    "GroupAdd": null,
-    "RestartPolicy": {
-      "Name": "",
-      "MaximumRetryCount": 0
-    },
-    "SecurityOpt": null,
-    "ReadonlyRootfs": false,
-    "Ulimits": null,
-    "LogConfig": {
-      "Type": "json-file",
-      "Config": {}
-    },
-    "CgroupParent": "",
-    "ConsoleSize": [
-      0,
-      0
-    ],
-    "VolumeDriver": ""
-  },
-  "GraphDriver": {
-    "Name": "aufs",
-    "Data": null
-  },
-  "Mounts": [
-    {
-      "Name": "b1a70d8e1ebd7d5865e59ff91cf06357e3ef4d829af44c31675c2d0a24894444",
-      "Source": "/var/lib/docker/volumes/b1a70d8e1ebd7d5865e59ff91cf06357e3ef4d829af44c31675c2d0a24894444/_data",
-      "Destination": "/data/db",
-      "Driver": "local",
-      "Mode": "",
-      "RW": true
-    }
-  ],
-  "Config": {
-    "Hostname": "a68c1872c746",
-    "Domainname": "",
-    "User": "",
-    "AttachStdin": true,
-    "AttachStdout": true,
-    "AttachStderr": true,
-    "ExposedPorts": {
-      "27017/tcp": {}
-    },
-    "Tty": true,
-    "OpenStdin": true,
-    "StdinOnce": false,
-    "Env": [
-      "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
-      "GPG_KEYS=DFFA3DCF326E302C4787673A01C4E7FAAAB2461C \t42F3E95A2C4F08279C4960ADD68FA50FEA312927",
-      "MONGO_MAJOR=3.2",
-      "MONGO_VERSION=3.2.0"
-    ],
-    "Cmd": [
-      "None"
-    ],
-    "Image": "mongo:latest",
-    "Volumes": {
-      "/data/db": {}
-    },
-    "WorkingDir": "",
-    "Entrypoint": [
-      "/entrypoint.sh"
-    ],
-    "OnBuild": null,
-    "Labels": {}
-  },
-  "NetworkSettings": {
-    "Bridge": "",
-    "SandboxID": "",
-    "HairpinMode": false,
-    "LinkLocalIPv6Address": "",
-    "LinkLocalIPv6PrefixLen": 0,
-    "Ports": null,
-    "SandboxKey": "",
-    "SecondaryIPAddresses": null,
-    "SecondaryIPv6Addresses": null,
-    "EndpointID": "",
-    "Gateway": "",
-    "GlobalIPv6Address": "",
-    "GlobalIPv6PrefixLen": 0,
-    "IPAddress": "",
-    "IPPrefixLen": 0,
-    "IPv6Gateway": "",
-    "MacAddress": "",
-    "Networks": {
-      "bridge": {
-        "EndpointID": "",
-        "Gateway": "",
-        "IPAddress": "",
-        "IPPrefixLen": 0,
-        "IPv6Gateway": "",
-        "GlobalIPv6Address": "",
-        "GlobalIPv6PrefixLen": 0,
-        "MacAddress": ""
-      }
-    }
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/linux_121/containers.json
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/linux_121/containers.json b/libcloud/test/container/fixtures/docker/linux_121/containers.json
deleted file mode 100644
index 3228e3f..0000000
--- a/libcloud/test/container/fixtures/docker/linux_121/containers.json
+++ /dev/null
@@ -1,143 +0,0 @@
-[
-  {
-    "Id": "160936dc54fe8c332095676d9379003534b8cddd7565fa63018996e06dae1b6b",
-    "Names": [
-      "/hubot"
-    ],
-    "Image": "stackstorm/hubot",
-    "ImageID": "05c5761707b3970a9bf17c00886176add79ac087b4d6a500ac87985bf8ec07b1",
-    "Command": "/app/bin/hubot",
-    "Created": 1450130345,
-    "Ports": [],
-    "Labels": {},
-    "Status": "Exited (137) 11 minutes ago",
-    "HostConfig": {
-      "NetworkMode": "bridge"
-    }
-  },
-  {
-    "Id": "f159072147ee7d253e21ec8fd2778a27ac29d7fc5f865641900d16665b46215a",
-    "Names": [
-      "/mongo"
-    ],
-    "Image": "mongo",
-    "ImageID": "cf55d61f5307b7a18a45980971d6cfd40b737dd661879c4a6b3f2aecc3bc37b0",
-    "Command": "/entrypoint.sh mongod",
-    "Created": 1450130332,
-    "Ports": [],
-    "Labels": {},
-    "Status": "Exited (14) 2 hours ago",
-    "HostConfig": {
-      "NetworkMode": "bridge"
-    }
-  },
-  {
-    "Id": "e687b33f9ced0153104308e6ff7a2138b8cc026fa4085d31da831a02ed0dc03d",
-    "Names": [
-      "/rabbitmq"
-    ],
-    "Image": "rabbitmq",
-    "ImageID": "448afeda0388b18c6f3be18c7aaece29e0f8dbdfab30364e678c382bab1037c5",
-    "Command": "/docker-entrypoint.sh rabbitmq-server",
-    "Created": 1450130331,
-    "Ports": [
-      {
-        "IP": "0.0.0.0",
-        "PrivatePort": 5672,
-        "PublicPort": 5672,
-        "Type": "tcp"
-      },
-      {
-        "PrivatePort": 25672,
-        "Type": "tcp"
-      },
-      {
-        "PrivatePort": 4369,
-        "Type": "tcp"
-      },
-      {
-        "PrivatePort": 5671,
-        "Type": "tcp"
-      }
-    ],
-    "Labels": {},
-    "Status": "Exited (137) 11 minutes ago",
-    "HostConfig": {
-      "NetworkMode": "bridge"
-    }
-  },
-  {
-    "Id": "b82c16423c6dbb7cd1564f8fc413c822df45cc0c7aa35c24683a1329af6ec102",
-    "Names": [
-      "/fervent_bhabha"
-    ],
-    "Image": "rabbitmq",
-    "ImageID": "448afeda0388b18c6f3be18c7aaece29e0f8dbdfab30364e678c382bab1037c5",
-    "Command": "/docker-entrypoint.sh rabbitmq-server",
-    "Created": 1450059506,
-    "Ports": [
-      {
-        "PrivatePort": 4369,
-        "Type": "tcp"
-      },
-      {
-        "PrivatePort": 5671,
-        "Type": "tcp"
-      },
-      {
-        "IP": "0.0.0.0",
-        "PrivatePort": 5672,
-        "PublicPort": 5672,
-        "Type": "tcp"
-      },
-      {
-        "PrivatePort": 25672,
-        "Type": "tcp"
-      }
-    ],
-    "Labels": {},
-    "Status": "Dead",
-    "HostConfig": {
-      "NetworkMode": "bridge"
-    }
-  },
-  {
-    "Id": "8cc5481aa4621578f8dd2c942d74e27e75170c6899ea012db7a44ea5f1ba2069",
-    "Names": [
-      "/suspicious_swirles"
-    ],
-    "Image": "mongo",
-    "ImageID": "cf55d61f5307b7a18a45980971d6cfd40b737dd661879c4a6b3f2aecc3bc37b0",
-    "Command": "/entrypoint.sh mongod",
-    "Created": 1450059505,
-    "Ports": [
-      {
-        "IP": "0.0.0.0",
-        "PrivatePort": 27017,
-        "PublicPort": 27017,
-        "Type": "tcp"
-      }
-    ],
-    "Labels": {},
-    "Status": "Dead",
-    "HostConfig": {
-      "NetworkMode": "bridge"
-    }
-  },
-  {
-    "Id": "598b3e4d15a406390baaa2947f910e7b52b810a4120028692ed309247f2e8346",
-    "Names": [
-      "/mongodata"
-    ],
-    "Image": "mongo",
-    "ImageID": "cf55d61f5307b7a18a45980971d6cfd40b737dd661879c4a6b3f2aecc3bc37b0",
-    "Command": "/entrypoint.sh /bin/true",
-    "Created": 1449637213,
-    "Ports": [],
-    "Labels": {},
-    "Status": "Created",
-    "HostConfig": {
-      "NetworkMode": "default"
-    }
-  }
-]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/linux_121/create_container.json
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/linux_121/create_container.json b/libcloud/test/container/fixtures/docker/linux_121/create_container.json
deleted file mode 100644
index e05a941..0000000
--- a/libcloud/test/container/fixtures/docker/linux_121/create_container.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "Id": "a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303",
-  "Warnings": null
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/linux_121/create_image.json
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/linux_121/create_image.json b/libcloud/test/container/fixtures/docker/linux_121/create_image.json
deleted file mode 100644
index 4509f55..0000000
--- a/libcloud/test/container/fixtures/docker/linux_121/create_image.json
+++ /dev/null
@@ -1 +0,0 @@
-{"status":"Download complete","progressDetail":{},"id":"cf55d61f5307b7a18a45980971d6cfd40b737dd661879c4a6b3f2aecc3bc37b0"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/linux_121/images.json
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/linux_121/images.json b/libcloud/test/container/fixtures/docker/linux_121/images.json
deleted file mode 100644
index ac04cf3..0000000
--- a/libcloud/test/container/fixtures/docker/linux_121/images.json
+++ /dev/null
@@ -1,50 +0,0 @@
-[
-  {
-    "Id": "cf55d61f5307b7a18a45980971d6cfd40b737dd661879c4a6b3f2aecc3bc37b0",
-    "ParentId": "3e408cde1b7f6276b9ead7b8111d80a367f9223dfbbd4102ea89a5fc42947960",
-    "RepoTags": [
-      "mongo:latest"
-    ],
-    "RepoDigests": [],
-    "Created": 1449618009,
-    "Size": 0,
-    "VirtualSize": 316957672,
-    "Labels": null
-  },
-  {
-    "Id": "05c5761707b3970a9bf17c00886176add79ac087b4d6a500ac87985bf8ec07b1",
-    "ParentId": "be7965ce1bef5d2e3b27efb3f4fe2253683bc7144d2ebae614e9e7155066c833",
-    "RepoTags": [
-      "stackstorm/hubot:latest"
-    ],
-    "RepoDigests": [],
-    "Created": 1449466772,
-    "Size": 0,
-    "VirtualSize": 550102318,
-    "Labels": {}
-  },
-  {
-    "Id": "448afeda0388b18c6f3be18c7aaece29e0f8dbdfab30364e678c382bab1037c5",
-    "ParentId": "67edbf589f9af9b2c6f87e8481ec0299c50bfce5f9b98b95316c7235494c7bea",
-    "RepoTags": [
-      "rabbitmq:latest"
-    ],
-    "RepoDigests": [],
-    "Created": 1449312753,
-    "Size": 0,
-    "VirtualSize": 304310861,
-    "Labels": null
-  },
-  {
-    "Id": "9da5438fedb2e9a1e11a3361c4a53e0801ed1f8f4c014d83a5a514f0c60892bf",
-    "ParentId": "64ccc5e9d20c638849eadddab4f23204c3fcdd62d497cdbd0ecf44d863b086c8",
-    "RepoTags": [
-      "mongo:2.4.14"
-    ],
-    "RepoDigests": [],
-    "Created": 1449299455,
-    "Size": 0,
-    "VirtualSize": 344445131,
-    "Labels": null
-  }
-]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/linux_121/logs.txt
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/linux_121/logs.txt b/libcloud/test/container/fixtures/docker/linux_121/logs.txt
deleted file mode 100644
index 12c3a44..0000000
--- a/libcloud/test/container/fixtures/docker/linux_121/logs.txt
+++ /dev/null
@@ -1 +0,0 @@
-/entrypoint.sh: line 19: exec: None: not found

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/linux_121/search.json
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/linux_121/search.json b/libcloud/test/container/fixtures/docker/linux_121/search.json
deleted file mode 100644
index dd9454c..0000000
--- a/libcloud/test/container/fixtures/docker/linux_121/search.json
+++ /dev/null
@@ -1,202 +0,0 @@
-[
-  {
-    "star_count": 1502,
-    "is_official": true,
-    "name": "mysql",
-    "is_trusted": false,
-    "is_automated": false,
-    "description": "MySQL is a widely used, open-source relational database management system (RDBMS)."
-  },
-  {
-    "star_count": 80,
-    "is_official": false,
-    "name": "mysql/mysql-server",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "Optimized MySQL Server Docker images. Created, maintained and supported by the MySQL team at Oracle"
-  },
-  {
-    "star_count": 31,
-    "is_official": false,
-    "name": "centurylink/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "Image containing mysql. Optimized to be linked to another image/container."
-  },
-  {
-    "star_count": 6,
-    "is_official": false,
-    "name": "appcontainers/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "CentOS/Ubuntu/Debian based customizible MySQL 5.5 Container - 284MB/283MB/245MB - Updated 12/14/2015"
-  },
-  {
-    "star_count": 2,
-    "is_official": false,
-    "name": "alterway/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "Docker Mysql"
-  },
-  {
-    "star_count": 0,
-    "is_official": false,
-    "name": "tozd/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "MySQL (MariaDB fork) Docker image."
-  },
-  {
-    "star_count": 0,
-    "is_official": false,
-    "name": "wenzizone/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "mysql"
-  },
-  {
-    "star_count": 0,
-    "is_official": false,
-    "name": "dockerizedrupal/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "docker-mysql"
-  },
-  {
-    "star_count": 2,
-    "is_official": false,
-    "name": "azukiapp/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "Docker image to run MySQL by Azuki - http://azk.io"
-  },
-  {
-    "star_count": 1,
-    "is_official": false,
-    "name": "phpmentors/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "MySQL server image"
-  },
-  {
-    "star_count": 0,
-    "is_official": false,
-    "name": "lancehudson/docker-mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "MySQL is a widely used, open-source relational database management system (RDBMS)."
-  },
-  {
-    "star_count": 1,
-    "is_official": false,
-    "name": "bahmni/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "Mysql container for bahmni.  Contains the openmrs database"
-  },
-  {
-    "star_count": 2,
-    "is_official": false,
-    "name": "yfix/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "Yfix docker built mysql"
-  },
-  {
-    "star_count": 23,
-    "is_official": false,
-    "name": "sameersbn/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": ""
-  },
-  {
-    "star_count": 0,
-    "is_official": false,
-    "name": "nanobox/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "MySQL service for nanobox.io"
-  },
-  {
-    "star_count": 0,
-    "is_official": false,
-    "name": "withinboredom/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "A MySQL container using s6 and Consul -- built on tatum/mysql"
-  },
-  {
-    "star_count": 4,
-    "is_official": false,
-    "name": "marvambass/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "MySQL Server based on Ubuntu 14.04"
-  },
-  {
-    "star_count": 14,
-    "is_official": false,
-    "name": "google/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "MySQL server for Google Compute Engine"
-  },
-  {
-    "star_count": 1,
-    "is_official": false,
-    "name": "frodenas/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "A Docker Image for MySQL"
-  },
-  {
-    "star_count": 0,
-    "is_official": false,
-    "name": "ahmet2mir/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "This is a Debian based image with MySQL server installed listening on port 3306. "
-  },
-  {
-    "star_count": 25,
-    "is_official": false,
-    "name": "wnameless/mysql-phpmyadmin",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "MySQL + phpMyAdmin\nhttps://index.docker.io/u/wnameless/mysql-phpmyadmin/"
-  },
-  {
-    "star_count": 0,
-    "is_official": false,
-    "name": "drupaldocker/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "MySQL for Drupal"
-  },
-  {
-    "star_count": 0,
-    "is_official": false,
-    "name": "tetraweb/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": ""
-  },
-  {
-    "star_count": 1,
-    "is_official": false,
-    "name": "boomtownroi/mysql-dev",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "A mysql box with consul integration for development. Based on tatum box"
-  },
-  {
-    "star_count": 5,
-    "is_official": false,
-    "name": "ioggstream/mysql",
-    "is_trusted": true,
-    "is_automated": true,
-    "description": "MySQL Image with Master-Slave replication"
-  }
-]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/linux_121/version.json
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/linux_121/version.json b/libcloud/test/container/fixtures/docker/linux_121/version.json
deleted file mode 100644
index 3b51d72..0000000
--- a/libcloud/test/container/fixtures/docker/linux_121/version.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  "Version": "1.9.1",
-  "ApiVersion": "1.21",
-  "GitCommit": "a34a1d5",
-  "GoVersion": "go1.4.3",
-  "Os": "linux",
-  "Arch": "amd64",
-  "KernelVersion": "3.13.0-46-generic",
-  "BuildTime": "Fri Nov 20 17:56:04 UTC 2015"
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/linux_124/container_a68.json
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/linux_124/container_a68.json b/libcloud/test/container/fixtures/docker/linux_124/container_a68.json
new file mode 100644
index 0000000..88282ec
--- /dev/null
+++ b/libcloud/test/container/fixtures/docker/linux_124/container_a68.json
@@ -0,0 +1,163 @@
+{
+  "Id": "a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303",
+  "Created": "2015-12-23T01:05:40.56937184Z",
+  "Path": "/entrypoint.sh",
+  "Args": [
+    "None"
+  ],
+  "State": {
+    "Status": "exited",
+    "Running": false,
+    "Paused": false,
+    "Restarting": false,
+    "OOMKilled": false,
+    "Dead": false,
+    "Pid": 0,
+    "ExitCode": 127,
+    "Error": "",
+    "StartedAt": "2015-12-23T01:06:29.018395755Z",
+    "FinishedAt": "2015-12-23T01:06:30.144487212Z"
+  },
+  "Image": "cf55d61f5307b7a18a45980971d6cfd40b737dd661879c4a6b3f2aecc3bc37b0",
+  "ResolvConfPath": "/var/lib/docker/containers/a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303/resolv.conf",
+  "HostnamePath": "/var/lib/docker/containers/a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303/hostname",
+  "HostsPath": "/var/lib/docker/containers/a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303/hosts",
+  "LogPath": "/var/lib/docker/containers/a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303/a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303-json.log",
+  "Name": "/gigantic_goldberg",
+  "RestartCount": 0,
+  "Driver": "aufs",
+  "ExecDriver": "native-0.2",
+  "MountLabel": "",
+  "ProcessLabel": "",
+  "AppArmorProfile": "",
+  "ExecIDs": null,
+  "HostConfig": {
+    "Binds": null,
+    "ContainerIDFile": "",
+    "LxcConf": null,
+    "Memory": 0,
+    "MemoryReservation": 0,
+    "MemorySwap": 0,
+    "KernelMemory": 0,
+    "CpuShares": 0,
+    "CpuPeriod": 0,
+    "CpusetCpus": "",
+    "CpusetMems": "",
+    "CpuQuota": 0,
+    "BlkioWeight": 0,
+    "OomKillDisable": false,
+    "MemorySwappiness": null,
+    "Privileged": false,
+    "PortBindings": {},
+    "Links": null,
+    "PublishAllPorts": true,
+    "Dns": null,
+    "DnsOptions": null,
+    "DnsSearch": null,
+    "ExtraHosts": null,
+    "VolumesFrom": null,
+    "Devices": null,
+    "NetworkMode": "default",
+    "IpcMode": "",
+    "PidMode": "",
+    "UTSMode": "",
+    "CapAdd": null,
+    "CapDrop": null,
+    "GroupAdd": null,
+    "RestartPolicy": {
+      "Name": "",
+      "MaximumRetryCount": 0
+    },
+    "SecurityOpt": null,
+    "ReadonlyRootfs": false,
+    "Ulimits": null,
+    "LogConfig": {
+      "Type": "json-file",
+      "Config": {}
+    },
+    "CgroupParent": "",
+    "ConsoleSize": [
+      0,
+      0
+    ],
+    "VolumeDriver": ""
+  },
+  "GraphDriver": {
+    "Name": "aufs",
+    "Data": null
+  },
+  "Mounts": [
+    {
+      "Name": "b1a70d8e1ebd7d5865e59ff91cf06357e3ef4d829af44c31675c2d0a24894444",
+      "Source": "/var/lib/docker/volumes/b1a70d8e1ebd7d5865e59ff91cf06357e3ef4d829af44c31675c2d0a24894444/_data",
+      "Destination": "/data/db",
+      "Driver": "local",
+      "Mode": "",
+      "RW": true
+    }
+  ],
+  "Config": {
+    "Hostname": "a68c1872c746",
+    "Domainname": "",
+    "User": "",
+    "AttachStdin": true,
+    "AttachStdout": true,
+    "AttachStderr": true,
+    "ExposedPorts": {
+      "27017/tcp": {}
+    },
+    "Tty": true,
+    "OpenStdin": true,
+    "StdinOnce": false,
+    "Env": [
+      "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
+      "GPG_KEYS=DFFA3DCF326E302C4787673A01C4E7FAAAB2461C \t42F3E95A2C4F08279C4960ADD68FA50FEA312927",
+      "MONGO_MAJOR=3.2",
+      "MONGO_VERSION=3.2.0"
+    ],
+    "Cmd": [
+      "None"
+    ],
+    "Image": "mongo:latest",
+    "Volumes": {
+      "/data/db": {}
+    },
+    "WorkingDir": "",
+    "Entrypoint": [
+      "/entrypoint.sh"
+    ],
+    "OnBuild": null,
+    "Labels": {}
+  },
+  "NetworkSettings": {
+    "Bridge": "",
+    "SandboxID": "",
+    "HairpinMode": false,
+    "LinkLocalIPv6Address": "",
+    "LinkLocalIPv6PrefixLen": 0,
+    "Ports": null,
+    "SandboxKey": "",
+    "SecondaryIPAddresses": null,
+    "SecondaryIPv6Addresses": null,
+    "EndpointID": "",
+    "Gateway": "",
+    "GlobalIPv6Address": "",
+    "GlobalIPv6PrefixLen": 0,
+    "IPAddress": "",
+    "IPPrefixLen": 0,
+    "IPv6Gateway": "",
+    "MacAddress": "",
+    "Networks": {
+      "bridge": {
+        "EndpointID": "",
+        "Gateway": "",
+        "IPAddress": "",
+        "IPPrefixLen": 0,
+        "IPv6Gateway": "",
+        "GlobalIPv6Address": "",
+        "GlobalIPv6PrefixLen": 0,
+        "MacAddress": ""
+      }
+    }
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/linux_124/containers.json
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/linux_124/containers.json b/libcloud/test/container/fixtures/docker/linux_124/containers.json
new file mode 100644
index 0000000..3228e3f
--- /dev/null
+++ b/libcloud/test/container/fixtures/docker/linux_124/containers.json
@@ -0,0 +1,143 @@
+[
+  {
+    "Id": "160936dc54fe8c332095676d9379003534b8cddd7565fa63018996e06dae1b6b",
+    "Names": [
+      "/hubot"
+    ],
+    "Image": "stackstorm/hubot",
+    "ImageID": "05c5761707b3970a9bf17c00886176add79ac087b4d6a500ac87985bf8ec07b1",
+    "Command": "/app/bin/hubot",
+    "Created": 1450130345,
+    "Ports": [],
+    "Labels": {},
+    "Status": "Exited (137) 11 minutes ago",
+    "HostConfig": {
+      "NetworkMode": "bridge"
+    }
+  },
+  {
+    "Id": "f159072147ee7d253e21ec8fd2778a27ac29d7fc5f865641900d16665b46215a",
+    "Names": [
+      "/mongo"
+    ],
+    "Image": "mongo",
+    "ImageID": "cf55d61f5307b7a18a45980971d6cfd40b737dd661879c4a6b3f2aecc3bc37b0",
+    "Command": "/entrypoint.sh mongod",
+    "Created": 1450130332,
+    "Ports": [],
+    "Labels": {},
+    "Status": "Exited (14) 2 hours ago",
+    "HostConfig": {
+      "NetworkMode": "bridge"
+    }
+  },
+  {
+    "Id": "e687b33f9ced0153104308e6ff7a2138b8cc026fa4085d31da831a02ed0dc03d",
+    "Names": [
+      "/rabbitmq"
+    ],
+    "Image": "rabbitmq",
+    "ImageID": "448afeda0388b18c6f3be18c7aaece29e0f8dbdfab30364e678c382bab1037c5",
+    "Command": "/docker-entrypoint.sh rabbitmq-server",
+    "Created": 1450130331,
+    "Ports": [
+      {
+        "IP": "0.0.0.0",
+        "PrivatePort": 5672,
+        "PublicPort": 5672,
+        "Type": "tcp"
+      },
+      {
+        "PrivatePort": 25672,
+        "Type": "tcp"
+      },
+      {
+        "PrivatePort": 4369,
+        "Type": "tcp"
+      },
+      {
+        "PrivatePort": 5671,
+        "Type": "tcp"
+      }
+    ],
+    "Labels": {},
+    "Status": "Exited (137) 11 minutes ago",
+    "HostConfig": {
+      "NetworkMode": "bridge"
+    }
+  },
+  {
+    "Id": "b82c16423c6dbb7cd1564f8fc413c822df45cc0c7aa35c24683a1329af6ec102",
+    "Names": [
+      "/fervent_bhabha"
+    ],
+    "Image": "rabbitmq",
+    "ImageID": "448afeda0388b18c6f3be18c7aaece29e0f8dbdfab30364e678c382bab1037c5",
+    "Command": "/docker-entrypoint.sh rabbitmq-server",
+    "Created": 1450059506,
+    "Ports": [
+      {
+        "PrivatePort": 4369,
+        "Type": "tcp"
+      },
+      {
+        "PrivatePort": 5671,
+        "Type": "tcp"
+      },
+      {
+        "IP": "0.0.0.0",
+        "PrivatePort": 5672,
+        "PublicPort": 5672,
+        "Type": "tcp"
+      },
+      {
+        "PrivatePort": 25672,
+        "Type": "tcp"
+      }
+    ],
+    "Labels": {},
+    "Status": "Dead",
+    "HostConfig": {
+      "NetworkMode": "bridge"
+    }
+  },
+  {
+    "Id": "8cc5481aa4621578f8dd2c942d74e27e75170c6899ea012db7a44ea5f1ba2069",
+    "Names": [
+      "/suspicious_swirles"
+    ],
+    "Image": "mongo",
+    "ImageID": "cf55d61f5307b7a18a45980971d6cfd40b737dd661879c4a6b3f2aecc3bc37b0",
+    "Command": "/entrypoint.sh mongod",
+    "Created": 1450059505,
+    "Ports": [
+      {
+        "IP": "0.0.0.0",
+        "PrivatePort": 27017,
+        "PublicPort": 27017,
+        "Type": "tcp"
+      }
+    ],
+    "Labels": {},
+    "Status": "Dead",
+    "HostConfig": {
+      "NetworkMode": "bridge"
+    }
+  },
+  {
+    "Id": "598b3e4d15a406390baaa2947f910e7b52b810a4120028692ed309247f2e8346",
+    "Names": [
+      "/mongodata"
+    ],
+    "Image": "mongo",
+    "ImageID": "cf55d61f5307b7a18a45980971d6cfd40b737dd661879c4a6b3f2aecc3bc37b0",
+    "Command": "/entrypoint.sh /bin/true",
+    "Created": 1449637213,
+    "Ports": [],
+    "Labels": {},
+    "Status": "Created",
+    "HostConfig": {
+      "NetworkMode": "default"
+    }
+  }
+]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/linux_124/create_container.json
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/linux_124/create_container.json b/libcloud/test/container/fixtures/docker/linux_124/create_container.json
new file mode 100644
index 0000000..e05a941
--- /dev/null
+++ b/libcloud/test/container/fixtures/docker/linux_124/create_container.json
@@ -0,0 +1,4 @@
+{
+  "Id": "a68c1872c74630522c7aa74b85558b06824c5e672cee334296c50fb209825303",
+  "Warnings": null
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/linux_124/create_image.txt
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/linux_124/create_image.txt b/libcloud/test/container/fixtures/docker/linux_124/create_image.txt
new file mode 100644
index 0000000..9eeee42
--- /dev/null
+++ b/libcloud/test/container/fixtures/docker/linux_124/create_image.txt
@@ -0,0 +1,238 @@
+{"status":"Pulling from library/ubuntu","id":"12.04"}
+{"status":"Pulling fs layer","progressDetail":{},"id":"36cef014d5d4"}
+{"status":"Pulling fs layer","progressDetail":{},"id":"0d99ad4de1d2"}
+{"status":"Pulling fs layer","progressDetail":{},"id":"3e32dbf1ab94"}
+{"status":"Pulling fs layer","progressDetail":{},"id":"44710c456ffc"}
+{"status":"Pulling fs layer","progressDetail":{},"id":"56e70ac3b314"}
+{"status":"Waiting","progressDetail":{},"id":"44710c456ffc"}
+{"status":"Waiting","progressDetail":{},"id":"56e70ac3b314"}
+{"status":"Downloading","progressDetail":{"current":419,"total":419},"progress":"[==================================================\u003e]    419 B/419 B","id":"3e32dbf1ab94"}
+{"status":"Verifying Checksum","progressDetail":{},"id":"3e32dbf1ab94"}
+{"status":"Download complete","progressDetail":{},"id":"3e32dbf1ab94"}
+{"status":"Downloading","progressDetail":{"current":16384,"total":57935},"progress":"[==============\u003e                                    ] 16.38 kB/57.94 kB","id":"0d99ad4de1d2"}
+{"status":"Downloading","progressDetail":{"current":32768,"total":57935},"progress":"[============================\u003e                      ] 32.77 kB/57.94 kB","id":"0d99ad4de1d2"}
+{"status":"Downloading","progressDetail":{"current":57935,"total":57935},"progress":"[==================================================\u003e] 57.94 kB/57.94 kB","id":"0d99ad4de1d2"}
+{"status":"Verifying Checksum","progressDetail":{},"id":"0d99ad4de1d2"}
+{"status":"Download complete","progressDetail":{},"id":"0d99ad4de1d2"}
+{"status":"Downloading","progressDetail":{"current":162,"total":162},"progress":"[==================================================\u003e]    162 B/162 B","id":"56e70ac3b314"}
+{"status":"Verifying Checksum","progressDetail":{},"id":"56e70ac3b314"}
+{"status":"Download complete","progressDetail":{},"id":"56e70ac3b314"}
+{"status":"Downloading","progressDetail":{"current":682,"total":682},"progress":"[==================================================\u003e]    682 B/682 B","id":"44710c456ffc"}
+{"status":"Verifying Checksum","progressDetail":{},"id":"44710c456ffc"}
+{"status":"Download complete","progressDetail":{},"id":"44710c456ffc"}
+{"status":"Downloading","progressDetail":{"current":392563,"total":39081844},"progress":"[\u003e                                                  ] 392.6 kB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":783955,"total":39081844},"progress":"[=\u003e                                                 ]   784 kB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":1178995,"total":39081844},"progress":"[=\u003e                                                 ] 1.179 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":1572211,"total":39081844},"progress":"[==\u003e                                                ] 1.572 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":1965427,"total":39081844},"progress":"[==\u003e                                                ] 1.965 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":2358643,"total":39081844},"progress":"[===\u003e                                               ] 2.359 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":2751859,"total":39081844},"progress":"[===\u003e                                               ] 2.752 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":3145075,"total":39081844},"progress":"[====\u003e                                              ] 3.145 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":3538291,"total":39081844},"progress":"[====\u003e                                              ] 3.538 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":3931507,"total":39081844},"progress":"[=====\u003e                                             ] 3.932 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":4324723,"total":39081844},"progress":"[=====\u003e                                             ] 4.325 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":4717939,"total":39081844},"progress":"[======\u003e                                            ] 4.718 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":5111155,"total":39081844},"progress":"[======\u003e                                            ] 5.111 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":5504371,"total":39081844},"progress":"[=======\u003e                                           ] 5.504 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":5897587,"total":39081844},"progress":"[=======\u003e                                           ] 5.898 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":6290803,"total":39081844},"progress":"[========\u003e                                          ] 6.291 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":6684019,"total":39081844},"progress":"[========\u003e                                          ] 6.684 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":7077235,"total":39081844},"progress":"[=========\u003e                                         ] 7.077 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":7470451,"total":39081844},"progress":"[=========\u003e                                         ]  7.47 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":7863667,"total":39081844},"progress":"[==========\u003e                                        ] 7.864 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":8256883,"total":39081844},"progress":"[==========\u003e                                        ] 8.257 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":8650099,"total":39081844},"progress":"[===========\u003e                                       ]  8.65 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":9043315,"total":39081844},"progress":"[===========\u003e                                       ] 9.043 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":9436531,"total":39081844},"progress":"[============\u003e                                      ] 9.437 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":9829747,"total":39081844},"progress":"[============\u003e                                      ]  9.83 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":10222963,"total":39081844},"progress":"[=============\u003e                                     ] 10.22 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":10616179,"total":39081844},"progress":"[=============\u003e                                     ] 10.62 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":11009395,"total":39081844},"progress":"[==============\u003e                                    ] 11.01 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":11402611,"total":39081844},"progress":"[==============\u003e                                    ]  11.4 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":11795827,"total":39081844},"progress":"[===============\u003e                                   ]  11.8 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":12189043,"total":39081844},"progress":"[===============\u003e                                   ] 12.19 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":12582259,"total":39081844},"progress":"[================\u003e                                  ] 12.58 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":12975475,"total":39081844},"progress":"[================\u003e                                  ] 12.98 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":13368691,"total":39081844},"progress":"[=================\u003e                                 ] 13.37 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":13761907,"total":39081844},"progress":"[=================\u003e                                 ] 13.76 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":14155123,"total":39081844},"progress":"[==================\u003e                                ] 14.16 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":14548339,"total":39081844},"progress":"[==================\u003e                                ] 14.55 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":14941555,"total":39081844},"progress":"[===================\u003e                               ] 14.94 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":15334771,"total":39081844},"progress":"[===================\u003e                               ] 15.33 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":15727987,"total":39081844},"progress":"[====================\u003e                              ] 15.73 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":16121203,"total":39081844},"progress":"[====================\u003e                              ] 16.12 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":16514419,"total":39081844},"progress":"[=====================\u003e                             ] 16.51 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":16907635,"total":39081844},"progress":"[=====================\u003e                             ] 16.91 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":17300851,"total":39081844},"progress":"[======================\u003e                            ]  17.3 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":17694067,"total":39081844},"progress":"[======================\u003e                            ] 17.69 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":18087283,"total":39081844},"progress":"[=======================\u003e                           ] 18.09 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":18480499,"total":39081844},"progress":"[=======================\u003e                           ] 18.48 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":18873715,"total":39081844},"progress":"[========================\u003e                          ] 18.87 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":19266931,"total":39081844},"progress":"[========================\u003e                          ] 19.27 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":19660147,"total":39081844},"progress":"[=========================\u003e                         ] 19.66 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":20053363,"total":39081844},"progress":"[=========================\u003e                         ] 20.05 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":20446579,"total":39081844},"progress":"[==========================\u003e                        ] 20.45 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":20839795,"total":39081844},"progress":"[==========================\u003e                        ] 20.84 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":21233011,"total":39081844},"progress":"[===========================\u003e                       ] 21.23 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":21626227,"total":39081844},"progress":"[===========================\u003e                       ] 21.63 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":22019443,"total":39081844},"progress":"[============================\u003e                      ] 22.02 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":22412659,"total":39081844},"progress":"[============================\u003e                      ] 22.41 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":22805875,"total":39081844},"progress":"[=============================\u003e                     ] 22.81 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":23199091,"total":39081844},"progress":"[=============================\u003e                     ]  23.2 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":23592307,"total":39081844},"progress":"[==============================\u003e                    ] 23.59 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":23985523,"total":39081844},"progress":"[==============================\u003e                    ] 23.99 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":24378739,"total":39081844},"progress":"[===============================\u003e                   ] 24.38 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":24771955,"total":39081844},"progress":"[===============================\u003e                   ] 24.77 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":25165171,"total":39081844},"progress":"[================================\u003e                  ] 25.17 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":25558387,"total":39081844},"progress":"[================================\u003e                  ] 25.56 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":25951603,"total":39081844},"progress":"[=================================\u003e                 ] 25.95 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":26344819,"total":39081844},"progress":"[=================================\u003e                 ] 26.34 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":26738035,"total":39081844},"progress":"[==================================\u003e                ] 26.74 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":27131251,"total":39081844},"progress":"[==================================\u003e                ] 27.13 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":27524467,"total":39081844},"progress":"[===================================\u003e               ] 27.52 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":27917683,"total":39081844},"progress":"[===================================\u003e               ] 27.92 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":28310899,"total":39081844},"progress":"[====================================\u003e              ] 28.31 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":28704115,"total":39081844},"progress":"[====================================\u003e              ]  28.7 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":29097331,"total":39081844},"progress":"[=====================================\u003e             ]  29.1 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":29490547,"total":39081844},"progress":"[=====================================\u003e             ] 29.49 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":29883763,"total":39081844},"progress":"[======================================\u003e            ] 29.88 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":30276979,"total":39081844},"progress":"[======================================\u003e            ] 30.28 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":30670195,"total":39081844},"progress":"[=======================================\u003e           ] 30.67 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":31063411,"total":39081844},"progress":"[=======================================\u003e           ] 31.06 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":31456627,"total":39081844},"progress":"[========================================\u003e          ] 31.46 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":31849843,"total":39081844},"progress":"[========================================\u003e          ] 31.85 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":32243059,"total":39081844},"progress":"[=========================================\u003e         ] 32.24 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":32636275,"total":39081844},"progress":"[=========================================\u003e         ] 32.64 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":33029491,"total":39081844},"progress":"[==========================================\u003e        ] 33.03 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":33422707,"total":39081844},"progress":"[==========================================\u003e        ] 33.42 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":33815923,"total":39081844},"progress":"[===========================================\u003e       ] 33.82 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":34209139,"total":39081844},"progress":"[===========================================\u003e       ] 34.21 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":34602355,"total":39081844},"progress":"[============================================\u003e      ]  34.6 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":34995571,"total":39081844},"progress":"[============================================\u003e      ]    35 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":35388787,"total":39081844},"progress":"[=============================================\u003e     ] 35.39 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":35782003,"total":39081844},"progress":"[=============================================\u003e     ] 35.78 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":36175219,"total":39081844},"progress":"[==============================================\u003e    ] 36.18 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":36568435,"total":39081844},"progress":"[==============================================\u003e    ] 36.57 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":36961651,"total":39081844},"progress":"[===============================================\u003e   ] 36.96 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":37354867,"total":39081844},"progress":"[===============================================\u003e   ] 37.35 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":37748083,"total":39081844},"progress":"[================================================\u003e  ] 37.75 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":38141299,"total":39081844},"progress":"[================================================\u003e  ] 38.14 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":38534515,"total":39081844},"progress":"[=================================================\u003e ] 38.53 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Downloading","progressDetail":{"current":38927731,"total":39081844},"progress":"[=================================================\u003e ] 38.93 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Download complete","progressDetail":{},"id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":393216,"total":39081844},"progress":"[\u003e                                                  ] 393.2 kB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":786432,"total":39081844},"progress":"[=\u003e                                                 ] 786.4 kB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":1179648,"total":39081844},"progress":"[=\u003e                                                 ]  1.18 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":1572864,"total":39081844},"progress":"[==\u003e                                                ] 1.573 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":1966080,"total":39081844},"progress":"[==\u003e                                                ] 1.966 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":2359296,"total":39081844},"progress":"[===\u003e                                               ] 2.359 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":2752512,"total":39081844},"progress":"[===\u003e                                               ] 2.753 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":3145728,"total":39081844},"progress":"[====\u003e                                              ] 3.146 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":3538944,"total":39081844},"progress":"[====\u003e                                              ] 3.539 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":3932160,"total":39081844},"progress":"[=====\u003e                                             ] 3.932 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":4325376,"total":39081844},"progress":"[=====\u003e                                             ] 4.325 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":4718592,"total":39081844},"progress":"[======\u003e                                            ] 4.719 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":5111808,"total":39081844},"progress":"[======\u003e                                            ] 5.112 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":5505024,"total":39081844},"progress":"[=======\u003e                                           ] 5.505 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":5898240,"total":39081844},"progress":"[=======\u003e                                           ] 5.898 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":6291456,"total":39081844},"progress":"[========\u003e                                          ] 6.291 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":6684672,"total":39081844},"progress":"[========\u003e                                          ] 6.685 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":7077888,"total":39081844},"progress":"[=========\u003e                                         ] 7.078 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":7471104,"total":39081844},"progress":"[=========\u003e                                         ] 7.471 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":7864320,"total":39081844},"progress":"[==========\u003e                                        ] 7.864 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":8257536,"total":39081844},"progress":"[==========\u003e                                        ] 8.258 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":8650752,"total":39081844},"progress":"[===========\u003e                                       ] 8.651 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":9043968,"total":39081844},"progress":"[===========\u003e                                       ] 9.044 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":9437184,"total":39081844},"progress":"[============\u003e                                      ] 9.437 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":9830400,"total":39081844},"progress":"[============\u003e                                      ]  9.83 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":10223616,"total":39081844},"progress":"[=============\u003e                                     ] 10.22 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":10616832,"total":39081844},"progress":"[=============\u003e                                     ] 10.62 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":11010048,"total":39081844},"progress":"[==============\u003e                                    ] 11.01 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":11403264,"total":39081844},"progress":"[==============\u003e                                    ]  11.4 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":11796480,"total":39081844},"progress":"[===============\u003e                                   ]  11.8 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":12189696,"total":39081844},"progress":"[===============\u003e                                   ] 12.19 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":12582912,"total":39081844},"progress":"[================\u003e                                  ] 12.58 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":12976128,"total":39081844},"progress":"[================\u003e                                  ] 12.98 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":13369344,"total":39081844},"progress":"[=================\u003e                                 ] 13.37 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":13762560,"total":39081844},"progress":"[=================\u003e                                 ] 13.76 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":14155776,"total":39081844},"progress":"[==================\u003e                                ] 14.16 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":14548992,"total":39081844},"progress":"[==================\u003e                                ] 14.55 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":14942208,"total":39081844},"progress":"[===================\u003e                               ] 14.94 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":15335424,"total":39081844},"progress":"[===================\u003e                               ] 15.34 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":15728640,"total":39081844},"progress":"[====================\u003e                              ] 15.73 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":16121856,"total":39081844},"progress":"[====================\u003e                              ] 16.12 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":16515072,"total":39081844},"progress":"[=====================\u003e                             ] 16.52 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":16908288,"total":39081844},"progress":"[=====================\u003e                             ] 16.91 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":17301504,"total":39081844},"progress":"[======================\u003e                            ]  17.3 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":17694720,"total":39081844},"progress":"[======================\u003e                            ] 17.69 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":18087936,"total":39081844},"progress":"[=======================\u003e                           ] 18.09 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":18481152,"total":39081844},"progress":"[=======================\u003e                           ] 18.48 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":18874368,"total":39081844},"progress":"[========================\u003e                          ] 18.87 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":19267584,"total":39081844},"progress":"[========================\u003e                          ] 19.27 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":19660800,"total":39081844},"progress":"[=========================\u003e                         ] 19.66 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":20054016,"total":39081844},"progress":"[=========================\u003e                         ] 20.05 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":20447232,"total":39081844},"progress":"[==========================\u003e                        ] 20.45 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":20840448,"total":39081844},"progress":"[==========================\u003e                        ] 20.84 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":21233664,"total":39081844},"progress":"[===========================\u003e                       ] 21.23 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":21626880,"total":39081844},"progress":"[===========================\u003e                       ] 21.63 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":22020096,"total":39081844},"progress":"[============================\u003e                      ] 22.02 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":22413312,"total":39081844},"progress":"[============================\u003e                      ] 22.41 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":22806528,"total":39081844},"progress":"[=============================\u003e                     ] 22.81 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":23199744,"total":39081844},"progress":"[=============================\u003e                     ]  23.2 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":23592960,"total":39081844},"progress":"[==============================\u003e                    ] 23.59 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":23986176,"total":39081844},"progress":"[==============================\u003e                    ] 23.99 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":24379392,"total":39081844},"progress":"[===============================\u003e                   ] 24.38 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":24772608,"total":39081844},"progress":"[===============================\u003e                   ] 24.77 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":25165824,"total":39081844},"progress":"[================================\u003e                  ] 25.17 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":25559040,"total":39081844},"progress":"[================================\u003e                  ] 25.56 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":25952256,"total":39081844},"progress":"[=================================\u003e                 ] 25.95 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":26345472,"total":39081844},"progress":"[=================================\u003e                 ] 26.35 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":26738688,"total":39081844},"progress":"[==================================\u003e                ] 26.74 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":27131904,"total":39081844},"progress":"[==================================\u003e                ] 27.13 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":27525120,"total":39081844},"progress":"[===================================\u003e               ] 27.53 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":27918336,"total":39081844},"progress":"[===================================\u003e               ] 27.92 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":28311552,"total":39081844},"progress":"[====================================\u003e              ] 28.31 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":28704768,"total":39081844},"progress":"[====================================\u003e              ]  28.7 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":29097984,"total":39081844},"progress":"[=====================================\u003e             ]  29.1 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":29491200,"total":39081844},"progress":"[=====================================\u003e             ] 29.49 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":29884416,"total":39081844},"progress":"[======================================\u003e            ] 29.88 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":30277632,"total":39081844},"progress":"[======================================\u003e            ] 30.28 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":30670848,"total":39081844},"progress":"[=======================================\u003e           ] 30.67 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":31064064,"total":39081844},"progress":"[=======================================\u003e           ] 31.06 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":31457280,"total":39081844},"progress":"[========================================\u003e          ] 31.46 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":31850496,"total":39081844},"progress":"[========================================\u003e          ] 31.85 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":32243712,"total":39081844},"progress":"[=========================================\u003e         ] 32.24 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":32636928,"total":39081844},"progress":"[=========================================\u003e         ] 32.64 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":33030144,"total":39081844},"progress":"[==========================================\u003e        ] 33.03 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":33423360,"total":39081844},"progress":"[==========================================\u003e        ] 33.42 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":33816576,"total":39081844},"progress":"[===========================================\u003e       ] 33.82 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":34209792,"total":39081844},"progress":"[===========================================\u003e       ] 34.21 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":34603008,"total":39081844},"progress":"[============================================\u003e      ]  34.6 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":34996224,"total":39081844},"progress":"[============================================\u003e      ]    35 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":35389440,"total":39081844},"progress":"[=============================================\u003e     ] 35.39 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":35782656,"total":39081844},"progress":"[=============================================\u003e     ] 35.78 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":36175872,"total":39081844},"progress":"[==============================================\u003e    ] 36.18 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":36569088,"total":39081844},"progress":"[==============================================\u003e    ] 36.57 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":36962304,"total":39081844},"progress":"[===============================================\u003e   ] 36.96 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":37355520,"total":39081844},"progress":"[===============================================\u003e   ] 37.36 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":37748736,"total":39081844},"progress":"[================================================\u003e  ] 37.75 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":38141952,"total":39081844},"progress":"[================================================\u003e  ] 38.14 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":38535168,"total":39081844},"progress":"[=================================================\u003e ] 38.54 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":38928384,"total":39081844},"progress":"[=================================================\u003e ] 38.93 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":39081844,"total":39081844},"progress":"[==================================================\u003e] 39.08 MB/39.08 MB","id":"36cef014d5d4"}
+{"status":"Pull complete","progressDetail":{},"id":"36cef014d5d4"}
+{"status":"Extracting","progressDetail":{"current":32768,"total":57935},"progress":"[============================\u003e                      ] 32.77 kB/57.94 kB","id":"0d99ad4de1d2"}
+{"status":"Extracting","progressDetail":{"current":57935,"total":57935},"progress":"[==================================================\u003e] 57.94 kB/57.94 kB","id":"0d99ad4de1d2"}
+{"status":"Extracting","progressDetail":{"current":57935,"total":57935},"progress":"[==================================================\u003e] 57.94 kB/57.94 kB","id":"0d99ad4de1d2"}
+{"status":"Pull complete","progressDetail":{},"id":"0d99ad4de1d2"}
+{"status":"Extracting","progressDetail":{"current":419,"total":419},"progress":"[==================================================\u003e]    419 B/419 B","id":"3e32dbf1ab94"}
+{"status":"Extracting","progressDetail":{"current":419,"total":419},"progress":"[==================================================\u003e]    419 B/419 B","id":"3e32dbf1ab94"}
+{"status":"Pull complete","progressDetail":{},"id":"3e32dbf1ab94"}
+{"status":"Extracting","progressDetail":{"current":682,"total":682},"progress":"[==================================================\u003e]    682 B/682 B","id":"44710c456ffc"}
+{"status":"Extracting","progressDetail":{"current":682,"total":682},"progress":"[==================================================\u003e]    682 B/682 B","id":"44710c456ffc"}
+{"status":"Pull complete","progressDetail":{},"id":"44710c456ffc"}
+{"status":"Extracting","progressDetail":{"current":162,"total":162},"progress":"[==================================================\u003e]    162 B/162 B","id":"56e70ac3b314"}
+{"status":"Extracting","progressDetail":{"current":162,"total":162},"progress":"[==================================================\u003e]    162 B/162 B","id":"56e70ac3b314"}
+{"status":"Pull complete","progressDetail":{},"id":"56e70ac3b314"}
+{"status":"Digest: sha256:992069aee4016783df6345315302fa59681aae51a8eeb2f889dea59290f21787"}
+{"status":"Status: Downloaded newer image for ubuntu:12.04"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/linux_124/images.json
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/linux_124/images.json b/libcloud/test/container/fixtures/docker/linux_124/images.json
new file mode 100644
index 0000000..ac04cf3
--- /dev/null
+++ b/libcloud/test/container/fixtures/docker/linux_124/images.json
@@ -0,0 +1,50 @@
+[
+  {
+    "Id": "cf55d61f5307b7a18a45980971d6cfd40b737dd661879c4a6b3f2aecc3bc37b0",
+    "ParentId": "3e408cde1b7f6276b9ead7b8111d80a367f9223dfbbd4102ea89a5fc42947960",
+    "RepoTags": [
+      "mongo:latest"
+    ],
+    "RepoDigests": [],
+    "Created": 1449618009,
+    "Size": 0,
+    "VirtualSize": 316957672,
+    "Labels": null
+  },
+  {
+    "Id": "05c5761707b3970a9bf17c00886176add79ac087b4d6a500ac87985bf8ec07b1",
+    "ParentId": "be7965ce1bef5d2e3b27efb3f4fe2253683bc7144d2ebae614e9e7155066c833",
+    "RepoTags": [
+      "stackstorm/hubot:latest"
+    ],
+    "RepoDigests": [],
+    "Created": 1449466772,
+    "Size": 0,
+    "VirtualSize": 550102318,
+    "Labels": {}
+  },
+  {
+    "Id": "448afeda0388b18c6f3be18c7aaece29e0f8dbdfab30364e678c382bab1037c5",
+    "ParentId": "67edbf589f9af9b2c6f87e8481ec0299c50bfce5f9b98b95316c7235494c7bea",
+    "RepoTags": [
+      "rabbitmq:latest"
+    ],
+    "RepoDigests": [],
+    "Created": 1449312753,
+    "Size": 0,
+    "VirtualSize": 304310861,
+    "Labels": null
+  },
+  {
+    "Id": "9da5438fedb2e9a1e11a3361c4a53e0801ed1f8f4c014d83a5a514f0c60892bf",
+    "ParentId": "64ccc5e9d20c638849eadddab4f23204c3fcdd62d497cdbd0ecf44d863b086c8",
+    "RepoTags": [
+      "mongo:2.4.14"
+    ],
+    "RepoDigests": [],
+    "Created": 1449299455,
+    "Size": 0,
+    "VirtualSize": 344445131,
+    "Labels": null
+  }
+]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/linux_124/logs.txt
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/linux_124/logs.txt b/libcloud/test/container/fixtures/docker/linux_124/logs.txt
new file mode 100644
index 0000000..12c3a44
--- /dev/null
+++ b/libcloud/test/container/fixtures/docker/linux_124/logs.txt
@@ -0,0 +1 @@
+/entrypoint.sh: line 19: exec: None: not found

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/linux_124/search.json
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/linux_124/search.json b/libcloud/test/container/fixtures/docker/linux_124/search.json
new file mode 100644
index 0000000..dd9454c
--- /dev/null
+++ b/libcloud/test/container/fixtures/docker/linux_124/search.json
@@ -0,0 +1,202 @@
+[
+  {
+    "star_count": 1502,
+    "is_official": true,
+    "name": "mysql",
+    "is_trusted": false,
+    "is_automated": false,
+    "description": "MySQL is a widely used, open-source relational database management system (RDBMS)."
+  },
+  {
+    "star_count": 80,
+    "is_official": false,
+    "name": "mysql/mysql-server",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "Optimized MySQL Server Docker images. Created, maintained and supported by the MySQL team at Oracle"
+  },
+  {
+    "star_count": 31,
+    "is_official": false,
+    "name": "centurylink/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "Image containing mysql. Optimized to be linked to another image/container."
+  },
+  {
+    "star_count": 6,
+    "is_official": false,
+    "name": "appcontainers/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "CentOS/Ubuntu/Debian based customizible MySQL 5.5 Container - 284MB/283MB/245MB - Updated 12/14/2015"
+  },
+  {
+    "star_count": 2,
+    "is_official": false,
+    "name": "alterway/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "Docker Mysql"
+  },
+  {
+    "star_count": 0,
+    "is_official": false,
+    "name": "tozd/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "MySQL (MariaDB fork) Docker image."
+  },
+  {
+    "star_count": 0,
+    "is_official": false,
+    "name": "wenzizone/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "mysql"
+  },
+  {
+    "star_count": 0,
+    "is_official": false,
+    "name": "dockerizedrupal/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "docker-mysql"
+  },
+  {
+    "star_count": 2,
+    "is_official": false,
+    "name": "azukiapp/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "Docker image to run MySQL by Azuki - http://azk.io"
+  },
+  {
+    "star_count": 1,
+    "is_official": false,
+    "name": "phpmentors/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "MySQL server image"
+  },
+  {
+    "star_count": 0,
+    "is_official": false,
+    "name": "lancehudson/docker-mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "MySQL is a widely used, open-source relational database management system (RDBMS)."
+  },
+  {
+    "star_count": 1,
+    "is_official": false,
+    "name": "bahmni/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "Mysql container for bahmni.  Contains the openmrs database"
+  },
+  {
+    "star_count": 2,
+    "is_official": false,
+    "name": "yfix/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "Yfix docker built mysql"
+  },
+  {
+    "star_count": 23,
+    "is_official": false,
+    "name": "sameersbn/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": ""
+  },
+  {
+    "star_count": 0,
+    "is_official": false,
+    "name": "nanobox/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "MySQL service for nanobox.io"
+  },
+  {
+    "star_count": 0,
+    "is_official": false,
+    "name": "withinboredom/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "A MySQL container using s6 and Consul -- built on tatum/mysql"
+  },
+  {
+    "star_count": 4,
+    "is_official": false,
+    "name": "marvambass/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "MySQL Server based on Ubuntu 14.04"
+  },
+  {
+    "star_count": 14,
+    "is_official": false,
+    "name": "google/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "MySQL server for Google Compute Engine"
+  },
+  {
+    "star_count": 1,
+    "is_official": false,
+    "name": "frodenas/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "A Docker Image for MySQL"
+  },
+  {
+    "star_count": 0,
+    "is_official": false,
+    "name": "ahmet2mir/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "This is a Debian based image with MySQL server installed listening on port 3306. "
+  },
+  {
+    "star_count": 25,
+    "is_official": false,
+    "name": "wnameless/mysql-phpmyadmin",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "MySQL + phpMyAdmin\nhttps://index.docker.io/u/wnameless/mysql-phpmyadmin/"
+  },
+  {
+    "star_count": 0,
+    "is_official": false,
+    "name": "drupaldocker/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "MySQL for Drupal"
+  },
+  {
+    "star_count": 0,
+    "is_official": false,
+    "name": "tetraweb/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": ""
+  },
+  {
+    "star_count": 1,
+    "is_official": false,
+    "name": "boomtownroi/mysql-dev",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "A mysql box with consul integration for development. Based on tatum box"
+  },
+  {
+    "star_count": 5,
+    "is_official": false,
+    "name": "ioggstream/mysql",
+    "is_trusted": true,
+    "is_automated": true,
+    "description": "MySQL Image with Master-Slave replication"
+  }
+]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/linux_124/version.json
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/linux_124/version.json b/libcloud/test/container/fixtures/docker/linux_124/version.json
new file mode 100644
index 0000000..3b51d72
--- /dev/null
+++ b/libcloud/test/container/fixtures/docker/linux_124/version.json
@@ -0,0 +1,10 @@
+{
+  "Version": "1.9.1",
+  "ApiVersion": "1.21",
+  "GitCommit": "a34a1d5",
+  "GoVersion": "go1.4.3",
+  "Os": "linux",
+  "Arch": "amd64",
+  "KernelVersion": "3.13.0-46-generic",
+  "BuildTime": "Fri Nov 20 17:56:04 UTC 2015"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/d59e52c3/libcloud/test/container/fixtures/docker/mac_124/create_image.json
----------------------------------------------------------------------
diff --git a/libcloud/test/container/fixtures/docker/mac_124/create_image.json b/libcloud/test/container/fixtures/docker/mac_124/create_image.json
deleted file mode 100644
index 4509f55..0000000
--- a/libcloud/test/container/fixtures/docker/mac_124/create_image.json
+++ /dev/null
@@ -1 +0,0 @@
-{"status":"Download complete","progressDetail":{},"id":"cf55d61f5307b7a18a45980971d6cfd40b737dd661879c4a6b3f2aecc3bc37b0"}
\ No newline at end of file


Mime
View raw message