aboutsummaryrefslogtreecommitdiff
path: root/kolla
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-05-30 14:39:01 +0000
committerGerrit Code Review <review@openstack.org>2018-05-30 14:39:01 +0000
commitba57c8b8b3cbe50102ed41de51f0e5b638cb0d24 (patch)
tree70badb13639607b962024aeca426d565ac78a933 /kolla
parenta126aca2982b9b0078fb10f0765855fd7b81a888 (diff)
parent4c91f67662171989f1297113db9cc131a3e05dc6 (diff)
downloadkolla-ba57c8b8b3cbe50102ed41de51f0e5b638cb0d24.tar.gz
kolla-ba57c8b8b3cbe50102ed41de51f0e5b638cb0d24.zip
Merge "Fix image push for python3"
Diffstat (limited to 'kolla')
-rwxr-xr-xkolla/image/build.py11
-rw-r--r--kolla/tests/test_build.py5
2 files changed, 8 insertions, 8 deletions
diff --git a/kolla/image/build.py b/kolla/image/build.py
index a4a365072..62877bc66 100755
--- a/kolla/image/build.py
+++ b/kolla/image/build.py
@@ -341,7 +341,7 @@ class PushTask(DockerTask):
self.success = False
def push_image(self, image):
- kwargs = dict(stream=True)
+ kwargs = dict(stream=True, decode=True)
# Since docker 3.0.0, the argument of 'insecure_registry' is removed.
# To be compatible, set 'insecure_registry=True' for old releases.
@@ -350,12 +350,11 @@ class PushTask(DockerTask):
kwargs['insecure_registry'] = True
for response in self.dc.push(image.canonical_name, **kwargs):
- stream = json.loads(response)
- if 'stream' in stream:
- self.logger.info(stream['stream'])
- elif 'errorDetail' in stream:
+ if 'stream' in response:
+ self.logger.info(response['stream'])
+ elif 'errorDetail' in response:
image.status = STATUS_ERROR
- self.logger.error(stream['errorDetail']['message'])
+ self.logger.error(response['errorDetail']['message'])
class BuildTask(DockerTask):
diff --git a/kolla/tests/test_build.py b/kolla/tests/test_build.py
index 9c3dc8abd..d5c7e77dc 100644
--- a/kolla/tests/test_build.py
+++ b/kolla/tests/test_build.py
@@ -65,7 +65,8 @@ class TasksTest(base.TestCase):
pusher = build.PushTask(self.conf, self.image)
pusher.run()
mock_client().push.assert_called_once_with(
- self.image.canonical_name, stream=True, insecure_registry=True)
+ self.image.canonical_name, decode=True,
+ stream=True, insecure_registry=True)
@mock.patch('docker.version', '3.0.0')
@mock.patch.dict(os.environ, clear=True)
@@ -75,7 +76,7 @@ class TasksTest(base.TestCase):
pusher = build.PushTask(self.conf, self.image)
pusher.run()
mock_client().push.assert_called_once_with(
- self.image.canonical_name, stream=True)
+ self.image.canonical_name, decode=True, stream=True)
@mock.patch.dict(os.environ, clear=True)
@mock.patch('docker.APIClient')