From 0ff44fc155b0fd18f2a76c757ead27c6b51cf35d Mon Sep 17 00:00:00 2001 From: Andrii Ostapenko Date: Sat, 11 Jul 2020 16:48:11 -0500 Subject: [PATCH] Support images overrides Adds ability to override images in osh and osh-i repositories if docker_images dict is provided with tags following zuul-jobs upload-docker-image naming convention. This allows to inherit osh job from osh-images project providing required vars. Change-Id: I5e7acb0dd0edd6838b6f7ddb5111db0fa34912d4 Signed-off-by: Andrii Ostapenko --- playbooks/osh-infra-gate-runner.yaml | 4 ++++ roles/override-images/defaults/main.yaml | 15 +++++++++++++ roles/override-images/tasks/main.yaml | 28 ++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 roles/override-images/defaults/main.yaml create mode 100644 roles/override-images/tasks/main.yaml diff --git a/playbooks/osh-infra-gate-runner.yaml b/playbooks/osh-infra-gate-runner.yaml index ea84904b6..a60c8dd64 100644 --- a/playbooks/osh-infra-gate-runner.yaml +++ b/playbooks/osh-infra-gate-runner.yaml @@ -13,6 +13,10 @@ --- - hosts: primary tasks: + - name: Override images + include_role: + name: override-images + when: docker_images is defined - name: "creating directory for run artifacts" file: path: "/tmp/artifacts" diff --git a/roles/override-images/defaults/main.yaml b/roles/override-images/defaults/main.yaml new file mode 100644 index 000000000..72d4fdbd4 --- /dev/null +++ b/roles/override-images/defaults/main.yaml @@ -0,0 +1,15 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +--- +work_dir: "{{ zuul.project.src_dir }}" +... diff --git a/roles/override-images/tasks/main.yaml b/roles/override-images/tasks/main.yaml new file mode 100644 index 000000000..52a8ec9e6 --- /dev/null +++ b/roles/override-images/tasks/main.yaml @@ -0,0 +1,28 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +--- +- name: Create test images overrides + shell: > + find {{ work_dir }}/../openstack-helm*/*/values* -type f -exec sed -i + 's#\({{ item.repository }}\):\({{ item.tags[0] }}\)#\1:{{ prefix }}_\2#g' {} + + loop: "{{ docker_images }}" + vars: + prefix: "{{ zuul.change | default(false) | ternary('change_' + zuul.change, 'periodic') }}" + +- name: Diff + shell: | + for dir in openstack-helm openstack-helm-infra; do + echo "${dir} diff" + cd {{ work_dir }}/../${dir}/; git diff; + done +...