From 9993fb40deedf22f5bee281189687a515ba4efb8 Mon Sep 17 00:00:00 2001 From: Ricardo Marques Date: Mon, 9 Mar 2020 22:24:20 +0000 Subject: [PATCH] cephadm: Avoid `inspect` call by using ceph label Signed-off-by: Ricardo Marques --- src/cephadm/cephadm | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/cephadm/cephadm b/src/cephadm/cephadm index 8bc0b110262..a25e8bdcd48 100755 --- a/src/cephadm/cephadm +++ b/src/cephadm/cephadm @@ -766,17 +766,13 @@ def get_last_local_ceph_image(): :return: The most recent local ceph image (already pulled) """ out, _, _ = call_throws( - [container_path, 'images', '--format', '{{ .ID }} {{.Repository}} {{.Tag}}']) + [container_path, 'images', + '--filter', 'label=ceph=True', + '--format', '{{.Repository}} {{.Tag}}']) out_lines = out.splitlines() - for out_line in out_lines: - id, repository, tag = out_line.split() - out, _, _ = call_throws([container_path, 'inspect', str(id)]) - images_details = json.loads(out) - for image_details in images_details: - image_labels = image_details['Labels'] - git_repo = image_labels.get('GIT_REPO', "") - if git_repo.endswith("/ceph-container.git"): - return '{}:{}'.format(repository, tag) + if len(out_lines) > 0: + repository, tag = out_lines[0].split() + return '{}:{}'.format(repository, tag) return None def write_tmp(s, uid, gid): -- 2.39.5