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 <andrii.ostapenko@att.com>
This commit is contained in:
Andrii Ostapenko 2020-07-11 16:48:11 -05:00
parent 06ad7cc7f6
commit 0ff44fc155
No known key found for this signature in database
GPG Key ID: F3E83668DBB223B3
3 changed files with 47 additions and 0 deletions

View File

@ -13,6 +13,10 @@
--- ---
- hosts: primary - hosts: primary
tasks: tasks:
- name: Override images
include_role:
name: override-images
when: docker_images is defined
- name: "creating directory for run artifacts" - name: "creating directory for run artifacts"
file: file:
path: "/tmp/artifacts" path: "/tmp/artifacts"

View File

@ -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 }}"
...

View File

@ -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
...