# name and tags devmode: true overcloud_as_undercloud: true release: wallaby distro_ver: centos9 distro_deps_repo_name: deps dlrn_hash_tag: >- {% if registry_distro is defined and registry_distro | default('') | length > 0 and job.provider_dlrn_hash_distro is defined -%} {{ job.provider_dlrn_hash_distro[registry_distro] }} {%- else -%} {{ job.provider_dlrn_hash_tag_branch[release]|default('current-tripleo') }} {%- endif -%} dlrn_hash_tag_newest: current validate_on: rdo # This file is used by both check and component jobs # Use content provider for check, use quay.rdo for component mixed_os_registry_host_8: >- {% if registry_distro_lower is defined and registry_distro_lower | default('') | length > 0 and job.registry_ip_address_distro is defined -%} {{ job.registry_ip_address_distro[registry_distro_lower] }} {%- else -%} quay.rdoproject.org {%- endif -%} # tripleowallaby for check and tripleowallabycentos8 for component mixed_os_docker_registry_namespace_8: >- {% if job.consumer_job | default(false) | bool -%} tripleowallaby {%- else -%} tripleowallabycentos8 {%- endif -%} # job.build_container_images is defined in zuul as a # direct var. adding build_container_images as tqe # var so that we can turn this on/off per release w/o # changing zuul and breaking jobs via inheritance. docker_registry_host: >- {% if job is defined and job.build_container_images is defined and job.build_container_images|default(false)|bool or build_container_images|default(false)|bool -%} 127.0.0.1:5001 {%- elif job.consumer_job | default(false) | bool -%} {%- if registry_distro is defined and registry_distro | default('') | length > 0 -%} {{ job.registry_ip_address_distro[registry_distro] }}:5001 {%- else -%} {{ job.registry_ip_address_branch[release] }}:5001 {%- endif -%} {%- else -%} {{ job.alt_container_registry|default('quay.io') }} {%- endif -%} docker_registry_namespace: tripleowallabycentos9 docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" docker_openshift_tag: v3.11.0 promote_source: current-tripleo # images overcloud_image: >- {% if whole_disk_images|bool -%} overcloud-hardened-uefi-full {%- else -%} overcloud-full {%- endif -%} overcloud_image_type: >- {% if whole_disk_images|bool -%} qcow2 {%- else -%} tar {%- endif -%} images: - name: "{{ overcloud_image }}" url: "{{ overcloud_image_url }}" type: "{{ overcloud_image_type }}" - name: ipa_images url: "{{ ipa_image_url }}" type: tar dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/{{ overcloud_image }}.{{ overcloud_image_type }}" ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar" # NOTE(dviroel): centos9-opstools repo is needed for building # collectd containers, otherwise keep the current value. enable_cs9_opstools_repo: >- {% if job is defined and job.build_container_images is defined and job.build_container_images|default(false)|bool or build_container_images|default(false)|bool -%} {{ true|bool }} {%- else -%} {{ enable_opstools_repo|default(false)|bool }} {%- endif -%} # repo setup repo_cmd_before: | sudo rm -rf /etc/yum.repos.d/delorean*; sudo rm -rf /etc/yum.repos.d/*.rpmsave; sudo rm -rf /etc/yum.repos.d/epel*; sudo dnf clean all; sudo dnf config-manager --disable "*" || true; # In https://review.opendev.org/c/765834 a release specific gating-repo is created. # The release specifc gating repo is copied to gating.repo for consistency across ci # The original file is backed up for logging purposes. Upgrade jobs will run with # two releases. sudo cp -f /etc/yum.repos.d/gating-repo-{{ release }}.repo /etc/yum.repos.d/gating.repo || true; sudo sed -i -e "s/gating-repo-{{ release }}/gating-repo/" /etc/yum.repos.d/gating.repo || true; sudo mv /etc/yum.repos.d/gating-repo-{{ release }}.repo /etc/yum.repos.d/gating-repo-{{ release }}.repo_previous || true; sudo dnf config-manager --enable gating-repo || true; # Enable distro specific gating repo, it exists in mixed-os jobs sudo dnf config-manager --enable gating-repo-{{ ansible_distribution_major_version }} || true; if [ -e /etc/ci/mirror_info.sh ]; then source /etc/ci/mirror_info.sh else # Otherwise, fallback to official mirrors provided by CentOS. export NODEPOOL_CENTOS_MIRROR={{ ansible_env['NODEPOOL_CENTOS_MIRROR']|default('http://mirror.stream.centos.org', true) }} export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org fi {% if dlrn_hash_path_newest is defined and dlrn_hash_path_newest %} export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_path_newest }}" {% elif dlrn_hash_tag_newest is match("^[a-zA-Z0-9]{32}$") %} export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_tag_newest[:2] }}/{{ dlrn_hash_tag_newest[2:4] }}/{{ dlrn_hash_tag_newest }}" {% else %} export DLRN_PATH_TAG_NEWEST="{{ dlrn_hash_tag_newest }}" {% endif %} {% if dlrn_hash_path is defined and dlrn_hash_path %} export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_path }}" {% elif dlrn_hash_tag is match("^[a-zA-Z0-9]{32}$") %} export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_tag[:2] }}/{{ dlrn_hash_tag[2:4] }}/{{ dlrn_hash_tag }}" {% else %} export DLRN_PATH_TAG="{{ dlrn_hash_tag }}" {% endif %} rdo_dlrn=`curl --silent https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG_NEWEST}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | grep "component/tripleo" | cut -d= -f2` if [[ -z "$rdo_dlrn" ]]; then echo "Failed to parse dlrn hash" exit 1 fi export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} # Save environment variables, to be used afterwards echo "export NODEPOOL_CENTOS_MIRROR=${NODEPOOL_CENTOS_MIRROR}" >> {{ repo_setup_env_filepath }} echo "export NODEPOOL_RDO_PROXY=${NODEPOOL_RDO_PROXY}" >> {{ repo_setup_env_filepath }} echo "export RDO_DLRN_REPO=${RDO_DLRN_REPO}" >> {{ repo_setup_env_filepath }} echo "export DLRN_PATH_TAG=${DLRN_PATH_TAG}" >> {{ repo_setup_env_filepath }} repos: # RDO repos - type: file filename: delorean.repo down_url: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG}/delorean.repo" # name of delorean-tripleo-component-current? naming is hard - type: generic reponame: delorean-current filename: delorean-current.repo baseurl: $RDO_DLRN_REPO priority: 10 includepkgs: - ansible-role-container-registry - ansible-role-tripleo* - ansible-tripleo-ipsec - instack - instack-undercloud - openstack-tripleo-* - os-apply-config - os-collect-config - os-net-config - os-refresh-config - puppet-oslo - puppet-cinder - puppet-heat - puppet-neutron - puppet-nova - puppet-glance - puppet-horizon - puppet-ironic - puppet-keystone - puppet-openstacklib - puppet-placement - puppet-swift - puppet-tripleo - python*-tripleo* - tripleo-ansible - ansible-config_template - tripleo-operator-ansible - type: file filename: delorean-wallaby-deps.repo down_url: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/delorean-deps.repo" # CentOS related repos - type: generic reponame: quickstart-centos-base filename: quickstart-centos-base.repo baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/BaseOS/x86_64/os - type: generic reponame: quickstart-centos-appstreams filename: quickstart-centos-appstreams.repo baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/AppStream/x86_64/os/ exclude: - python3-sqlalchemy-1.4.37-3.el9.x86_64 - ansible-core-2.14.* # TODO(marios) unpin https://bugs.launchpad.net/tripleo /+bug/1996482 # centos9 the equivalent to powertools is CRB - type: generic reponame: quickstart-centos-crb filename: quickstart-centos-crb.repo baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/CRB/x86_64/os/ - type: generic reponame: quickstart-centos-highavailability filename: quickstart-centos-highavailability.repo baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/HighAvailability/x86_64/os/ # Extras will be available once c9 get's released as this contains release rpms for SIG. # - type: generic # reponame: quickstart-centos-extras # filename: quickstart-centos-extras.repo # baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ repo_cmd_after: | # Replace trunk.rdoproject.org to nodepool proxy sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean.repo sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-wallaby-deps.repo # Replace mirror.stream.centos.org to nodepool proxy sudo sed -i -e "s|http://mirror.stream.centos.org|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-wallaby-deps.repo # note potential name change - FIX ME sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-current.repo sudo sed -i -e "s|priority=1|priority=20|g" /etc/yum.repos.d/delorean.repo {% if not enable_cs9_opstools_repo|default(false)|bool %}sudo dnf config-manager --save --setopt centos9-opstools.enabled=0; {%endif %} # sudo dnf config-manager --disable rdo-qemu-ev; sudo rpm -e epel-release || true; sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* || true; sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo; # Disable delorean repo if a similar component repo exists {% if job is defined and job.component is defined %} if [ -f "/etc/yum.repos.d/{{ job.component }}-component.repo" ] && sudo cat /etc/yum.repos.d/{{ job.component }}-component.repo | grep 'enabled=1'; then dnf config-manager --disable delorean-component-{{ job.component }}; fi {% endif %} sudo rm -rf /etc/yum.repos.d/*.rpmsave; # Save Compose-ID info sudo curl -s -o /etc/yum.repos.d/COMPOSE_ID ${NODEPOOL_CENTOS_MIRROR}/9-stream/COMPOSE_ID sudo dnf repolist; sudo dnf module list; sudo dnf clean metadata {% if repo_setup_run_update|default(true)|bool %} # FIXME(chandan): Exclude kernel updates due to # https://bugs.launchpad.net/tripleo/+bug/1987632 sudo dnf update --exclude=kernel* -y {% endif %} undercloud_rpm_dependencies: >- python3-tripleoclient tripleo-operator-ansible