From 4617d0835ac262e87d0a863b6428d15dc1b3c0fa Mon Sep 17 00:00:00 2001 From: Clark Boylan <clark.boylan@gmail.com> Date: Fri, 21 Apr 2023 13:15:58 -0700 Subject: [PATCH] Use full image url in container buildx path The container roles assume a full image url path and do not work with shorted names like the docker roles do. The buildx path used the shorted path when it should use the full path. Fix this. Change-Id: Icdeee0ebb1c0d280968f425f8560cc5208ebd18d --- roles/build-container-image/tasks/buildx.yaml | 14 +++++--------- .../container/test-build-container-image-pre.yaml | 8 ++++---- .../container/test-build-container-image.yaml | 8 ++++---- 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/roles/build-container-image/tasks/buildx.yaml b/roles/build-container-image/tasks/buildx.yaml index 9c90de89b..17769e52b 100644 --- a/roles/build-container-image/tasks/buildx.yaml +++ b/roles/build-container-image/tasks/buildx.yaml @@ -4,10 +4,6 @@ fail: msg: "{{ zj_image.repository }} must be a full container image url including registry location" -- name: Parse out repo path from full "url" - set_fact: - _repopath: "{{ (zj_image.repository | split('/', 1)).1 }}" - - name: Set container filename arg set_fact: containerfile: "{{ zj_image.container_filename | default(container_filename) | default('') }}" @@ -33,9 +29,9 @@ --build-arg "ZUUL_SIBLINGS={{ zj_image.siblings | join(' ') }}" {% endif -%} {% for tag in zj_image.tags | default(['latest']) -%} - --tag {{ temp_registry.host }}:{{ temp_registry.port }}/{{ _repopath }}:{{ tag }} + --tag {{ temp_registry.host }}:{{ temp_registry.port }}/{{ zj_image.repository }}:{{ tag }} {% if buildset_registry | default(false) -%} - --tag {{ buildset_registry_alias }}:{{ buildset_registry.port }}/{{ _repopath }}:{{ tag }} + --tag {{ buildset_registry_alias }}:{{ buildset_registry.port }}/{{ zj_image.repository }}:{{ tag }} {% endif -%} {% endfor -%} {% for label in zj_image.labels | default([]) -%} @@ -53,7 +49,7 @@ - name: Pull images from temporary registry command: >- - docker pull {{ temp_registry.host }}:{{ temp_registry.port }}/{{ _repopath }}:{{ zj_image_tag }} + docker pull {{ temp_registry.host }}:{{ temp_registry.port }}/{{ zj_image.repository }}:{{ zj_image_tag }} loop: "{{ zj_image.tags | default(['latest']) }}" loop_control: loop_var: zj_image_tag @@ -61,7 +57,7 @@ - name: Locally tag for changes so push works later command: >- docker tag - {{ temp_registry.host }}:{{ temp_registry.port }}/{{ _repopath }}:{{ zj_image_tag }} + {{ temp_registry.host }}:{{ temp_registry.port }}/{{ zj_image.repository }}:{{ zj_image_tag }} {{ zj_image.repository }}:change_{{ zuul.change }}_{{ zj_image_tag }} loop: "{{ zj_image.tags | default(['latest']) }}" loop_control: @@ -71,7 +67,7 @@ - name: Locally tag for changes so push works later command: >- docker tag - {{ temp_registry.host }}:{{ temp_registry.port }}/{{ _repopath }}:{{ zj_image_tag }} + {{ temp_registry.host }}:{{ temp_registry.port }}/{{ zj_image.repository }}:{{ zj_image_tag }} {{ zj_image.repository }}:{{ zj_image_tag }} loop: "{{ zj_image.tags | default(['latest']) }}" loop_control: diff --git a/test-playbooks/container/test-build-container-image-pre.yaml b/test-playbooks/container/test-build-container-image-pre.yaml index 49b154ecb..6a4894ea5 100644 --- a/test-playbooks/container/test-build-container-image-pre.yaml +++ b/test-playbooks/container/test-build-container-image-pre.yaml @@ -3,13 +3,13 @@ - name: Set docker_registry cacheable facts set_fact: cacheable: true - docker_registry: "127.0.0.1:5200" + docker_registry: "localhost" docker_credentials: username: zuul password: testpassword repository: testrepo container_registry_credentials: - 127.0.0.1:5200: + localhost: username: zuul password: testpassword repository: testrepo @@ -37,7 +37,7 @@ dest: /etc/containers/registries.conf content: | [registries.insecure] - registries = ['127.0.0.1:5200'] + registries = ['localhost'] mode: 0644 when: container_command == 'podman' @@ -46,7 +46,7 @@ vars: registry: host: "127.0.0.1" - port: 5200 + port: 80 username: zuul password: testpassword container_command: docker diff --git a/test-playbooks/container/test-build-container-image.yaml b/test-playbooks/container/test-build-container-image.yaml index 9f5fcf576..b0170c978 100644 --- a/test-playbooks/container/test-build-container-image.yaml +++ b/test-playbooks/container/test-build-container-image.yaml @@ -13,15 +13,15 @@ tags: "{{ zuul.tag is defined | ternary([zuul.get('tag', '').split('.')[0], '.'.join(zuul.get('tag', '').split('.')[:2]), zuul.get('tag', '')], ['latest']) }}" _multiarch_container_images: - context: test-playbooks/container/docker - registry: 127.0.0.1:5200 - repository: 127.0.0.1:5200/testrepo + registry: localhost + repository: localhost/testrepo # This is what the Zuul repo uses to tag its releases: tags: "{{ zuul.tag is defined | ternary([zuul.get('tag', '').split('.')[0], '.'.join(zuul.get('tag', '').split('.')[:2]), zuul.get('tag', '')], ['latest']) }}" arch: ['linux/amd64', 'linux/arm64'] _normal_container_images: - context: test-playbooks/container/docker - registry: 127.0.0.1:5200 - repository: 127.0.0.1:5200/testrepo + registry: localhost + repository: localhost/testrepo # This is what the Zuul repo uses to tag its releases: tags: "{{ zuul.tag is defined | ternary([zuul.get('tag', '').split('.')[0], '.'.join(zuul.get('tag', '').split('.')[:2]), zuul.get('tag', '')], ['latest']) }}" tasks: