# 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. --- - hosts: all become: true tasks: - name: Configure /etc/hosts for buildset_registry to workaround docker not understanding ipv6 addresses lineinfile: path: /etc/hosts state: present regex: "^{{ buildset_registry.host }}\tzuul-jobs.buildset-registry$" line: "{{ buildset_registry.host }}\tzuul-jobs.buildset-registry" insertafter: EOF when: - buildset_registry is defined - buildset_registry.host | ipaddr - hosts: primary tasks: - name: Override images when: buildset_registry is defined vars: work_dir: "{{ zuul.project.src_dir }}" block: - name: Set buildset_registry alias variable when using ip set_fact: buildset_registry_alias: zuul-jobs.buildset-registry when: - buildset_registry.host | ipaddr - name: Set buildset_registry alias variable when using name set_fact: buildset_registry_alias: "{{ buildset_registry.host }}" when: - not ( buildset_registry.host | ipaddr ) - name: Print zuul debug: var: zuul - name: Override proposed images from artifacts shell: > set -ex; find {{ override_paths | join(" ") }} -type f -exec sed -Ei "s#['\"]?(docker|quay)\.io/(openstackhelm|loci|airshipit)/({{ repo }}):({{ tag }})['\"]?\$#{{ buildset_registry_alias }}:{{ buildset_registry.port }}/{{ repo_org }}/{{ repo }}:\4#g" {} + loop: "{{ zuul.artifacts | default([]) }}" args: chdir: "{{ work_dir }}" loop_control: loop_var: zj_zuul_artifact when: "'metadata' in zj_zuul_artifact and zj_zuul_artifact.metadata.type | default('') == 'container_image'" vars: tag: "{{ zj_zuul_artifact.metadata.tag }}" repo_org: "{{ zj_zuul_artifact.metadata.repository | dirname }}" repo: "{{ zj_zuul_artifact.metadata.repository | basename }}" override_paths: - ../openstack-helm/values_overrides - ../openstack-helm/*/values* - ../openstack-helm/tools/deployment/ - name: Diff shell: | set -ex cd "{{ work_dir }}/../openstack-helm" git diff - name: "creating directory for run artifacts" file: path: "/tmp/artifacts" state: directory # NOTE: After switching to Ansible 2.11 then xtrace stopped working # for shell tasks in included roles. So instead of using # osh-run-script-* roles we directly run the scripts in the # playbook. - name: "Run script {{ item }}" shell: | set -xe env {{ item }} args: chdir: "{{ zuul.project.src_dir }}/{{ gate_scripts_relative_path }}" executable: /bin/bash environment: CEPH_OSD_DATA_DEVICE: "{{ ceph_osd_data_device }}" POD_NETWORK_CIDR: "{{ kubeadm.pod_network_cidr }}" zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}" OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args | default('') }}" OSH_HELM_REPO: "{{ osh_helm_repo | default('../openstack-helm') }}" DOWNLOAD_OVERRIDES: "{{ download_overrides | default('') }}" OSH_PATH: "{{ zuul_osh_relative_path | default('../openstack-helm/') }}" OSH_VALUES_OVERRIDES_PATH: "{{ osh_values_overrides_path }}" OPENSTACK_RELEASE: "{{ osh_params.openstack_release | default('') }}" CONTAINER_DISTRO_NAME: "{{ osh_params.container_distro_name | default('') }}" CONTAINER_DISTRO_VERSION: "{{ osh_params.container_distro_version | default('') }}" FEATURES: "{{ osh_params.feature_gates | default('') | regex_replace(',', ' ') }} {{ osh_params.openstack_release | default('') }} {{ osh_params.container_distro_name | default('') }}_{{ osh_params.container_distro_version | default('') }} {{ osh_params.container_distro_name | default('') }}" RUN_HELM_TESTS: "{{ run_helm_tests | default('yes') }}" loop: "{{ gate_scripts }}" - name: "Downloads artifacts to executor" synchronize: src: "/tmp/artifacts" dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}" mode: pull ignore_errors: True ...