Centos 9 master release file

With this patch, We are adding Centos 9 release file for master
branch. Periodic release file was added in [1]

Also, Add the bool transformation on the whole_disk_images conditional.
- On ansible the string "false" is true. The variable needs to be
transform to bool to ensure that the "false" is false and not true.
Same was done for C8 release files in [2] but was missed in c9.

[1] https://review.opendev.org/c/openstack/tripleo-quickstart/+/806910
[2] https://review.opendev.org/c/openstack/tripleo-quickstart/+/814893

Change-Id: Ibe6340017e8c8e1b5e90f783726bc364171a8ff9
This commit is contained in:
Sandeep Yadav 2021-10-29 15:33:41 +05:30 committed by Chandan Kumar (raukadah)
parent 05c0694d31
commit 391c75af31
2 changed files with 211 additions and 2 deletions

View File

@ -0,0 +1,209 @@
# name and tags
devmode: true
overcloud_as_undercloud: true
release: master
distro_ver: centos9
distro_deps_repo_name: deps
dlrn_hash_tag: "{{ job.provider_dlrn_hash_tag_branch[release]|default('current-tripleo') }}"
dlrn_hash_tag_newest: current
validate_on: rdo
# 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 -%}
{{ job.registry_ip_address_branch[release] }}:5001
{%- else -%}
{{ job.alt_container_registry|default('quay.io') }}
{%- endif -%}
docker_registry_namespace: tripleomastercentos9
docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}"
docker_openshift_tag: v3.11.0
promote_source: current-tripleo
# images
whole_disk_images: true
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"
# 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;
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={{ lookup('env','NODEPOOL_CENTOS_MIRROR')|default('http://mirror.centos.org/centos', 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}
repos:
# RDO repos
- type: file
filename: delorean.repo
down_url: "https://trunk.rdoproject.org/{{ 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-master-deps.repo
down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo"
# CentOS related repos
- type: generic
reponame: quickstart-centos-base
filename: quickstart-centos-base.repo
baseurl: https://composes.stream.centos.org/production/latest-CentOS-Stream/compose/BaseOS/x86_64/os
- type: generic
reponame: quickstart-centos-appstreams
filename: quickstart-centos-appstreams.repo
baseurl: https://composes.stream.centos.org/production/latest-CentOS-Stream/compose/AppStream/x86_64/os/
# centos9 the equivalent to powertools is CRB
- type: generic
reponame: quickstart-centos-crb
filename: quickstart-centos-crb.repo
baseurl: https://composes.stream.centos.org/production/latest-CentOS-Stream/compose/CRB/x86_64/os/
- type: generic
reponame: quickstart-centos-highavailability
filename: quickstart-centos-highavailability.repo
baseurl: https://composes.stream.centos.org/production/latest-CentOS-Stream/compose/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-master-deps.repo
sudo sed -i -e "s|http://mirror.centos.org/centos|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-master-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_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;
sudo dnf repolist;
sudo dnf module list;
sudo dnf clean metadata
{% if repo_setup_run_update|default(true)|bool %}
sudo dnf update -y
{% endif %}
undercloud_rpm_dependencies: >-
python3-tripleoclient
tripleo-operator-ansible
# baseos settings
baseos_undercloud_image_url: https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-20211020.0.x86_64.qcow2
baseos_image: centos
baseos_image_type: qcow2
baseos_md5sum: "a42ef58319a546d038ea716dc693dda6 CentOS-Stream-GenericCloud-9-20211020.0.x86_64.qcow2"

View File

@ -15,13 +15,13 @@ validate_on: rdo
# images
whole_disk_images: true
overcloud_image: >-
{% if whole_disk_images -%}
{% if whole_disk_images|bool -%}
overcloud-hardened-uefi-full
{%- else -%}
overcloud-full
{%- endif -%}
overcloud_image_type: >-
{% if whole_disk_images -%}
{% if whole_disk_images|bool -%}
qcow2
{%- else -%}
tar