Reference distro for release files in centosci
The release files in tripleo-quickstart/tree/master/config/release/centosci had a flat dir structure and did not allow for releases of the same name on different distros. The review adds the same structure as tripleo-ci and changes the quickstart scripts to use that path. Depends-On: https://review.rdoproject.org/r/c/rdo-infra/ci-config/+/39181 Signed-off-by: Amol Kahat <amolkahat@gmail.com> Change-Id: I6aedafc218ed676b41ac8dc9bf332b3338775521
This commit is contained in:
parent
ed9821857d
commit
d68ddc37a9
@ -5,6 +5,7 @@
|
||||
set -eux
|
||||
|
||||
: ${OPT_ADDITIONAL_PARAMETERS:=""}
|
||||
: ${DISTRO_PATH:=""}
|
||||
|
||||
# CONFIG and JOB_TYPE are not used here, but kept for
|
||||
# consistency with other jobs to make JJB cleaner.
|
||||
@ -38,5 +39,5 @@ bash quickstart.sh \
|
||||
--no-clone \
|
||||
--bootstrap \
|
||||
-e virthost_user=$VIRTHOST_USER \
|
||||
--release ${CI_ENV:+$CI_ENV/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
--release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
$VIRTHOST
|
||||
|
@ -10,6 +10,8 @@ BUILD_SYS=$2
|
||||
CONFIG=$3
|
||||
JOB_TYPE=$4
|
||||
|
||||
: ${DISTRO_PATH:=""}
|
||||
|
||||
# CI_ENV is set on the slave running the jobs
|
||||
# REL_TYPE can be specific release type like 'testing'
|
||||
|
||||
@ -36,7 +38,7 @@ bash quickstart.sh \
|
||||
-e deploy_timeout=75 \
|
||||
--config $WORKSPACE/config/general_config/$CONFIG.yml \
|
||||
--tags all \
|
||||
--release ${CI_ENV:+$CI_ENV/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
--release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
--playbook scale_nodes.yml \
|
||||
$VIRTHOST
|
||||
|
||||
@ -50,6 +52,6 @@ bash quickstart.sh \
|
||||
--retain-inventory \
|
||||
--config $WORKSPACE/config/general_config/$CONFIG.yml \
|
||||
--tags all \
|
||||
--release ${CI_ENV:+$CI_ENV/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
--release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
--playbook scale_nodes_verify.yml \
|
||||
$VIRTHOST
|
||||
|
@ -11,6 +11,7 @@
|
||||
set -eux
|
||||
|
||||
: ${OPT_ADDITIONAL_PARAMETERS:=""}
|
||||
: ${DISTRO_PATH:=""}
|
||||
|
||||
RELEASE=$1
|
||||
HW_ENV_DIR=$2
|
||||
@ -32,6 +33,6 @@ bash quickstart.sh \
|
||||
--extra-vars undercloud_instackenv_template=$WORKSPACE/$HW_ENV_DIR/instackenv.json \
|
||||
--extra-vars network_environment_file=$WORKSPACE/$HW_ENV_DIR/network_configs/$NETWORK_ISOLATION/${NETWORK_ISOLATION}.yml \
|
||||
--extra-vars nic_configs_dir=$WORKSPACE/$HW_ENV_DIR/network_configs/$NETWORK_ISOLATION/nic_configs/ \
|
||||
--release ${CI_ENV:+$CI_ENV/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
--release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
$OPT_ADDITIONAL_PARAMETERS \
|
||||
$VIRTHOST
|
||||
|
@ -8,6 +8,7 @@ set -eux
|
||||
: ${OPT_ADDITIONAL_PARAMETERS:=""}
|
||||
: ${WORKSPACE:=$HOME/.quickstart}
|
||||
: ${VIRTHOST:=127.0.0.1}
|
||||
: ${DISTRO_PATH:=""}
|
||||
|
||||
RELEASE=${1:-master-tripleo-ci}
|
||||
# unused variable in script, kept for consistency
|
||||
@ -70,7 +71,7 @@ case "$JOB_TYPE" in
|
||||
--playbook build-test-packages.yml \
|
||||
--tags all \
|
||||
--teardown all \
|
||||
--release ${CI_ENV:+$CI_ENV/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
--release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
$OPT_ADDITIONAL_PARAMETERS \
|
||||
$VIRTHOST
|
||||
# skip provisioning and run the gate using the previously built RPMs
|
||||
@ -83,7 +84,7 @@ case "$JOB_TYPE" in
|
||||
--skip-tags provision \
|
||||
--tags all \
|
||||
--teardown none \
|
||||
--release ${CI_ENV:+$CI_ENV/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
--release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
$OPT_ADDITIONAL_PARAMETERS \
|
||||
$VIRTHOST
|
||||
;;
|
||||
@ -97,7 +98,7 @@ case "$JOB_TYPE" in
|
||||
--playbook build-test-packages.yml \
|
||||
--tags all \
|
||||
--teardown all \
|
||||
--release ${CI_ENV:+$CI_ENV/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
--release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
$OPT_ADDITIONAL_PARAMETERS \
|
||||
$VIRTHOST
|
||||
|
||||
@ -111,7 +112,7 @@ case "$JOB_TYPE" in
|
||||
--tags all \
|
||||
--teardown none \
|
||||
--playbook quickstart-extras-standalone.yml \
|
||||
--release ${CI_ENV:+$CI_ENV/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
--release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
$OPT_ADDITIONAL_PARAMETERS \
|
||||
$VIRTHOST
|
||||
;;
|
||||
@ -124,7 +125,7 @@ case "$JOB_TYPE" in
|
||||
--playbook build-test-packages.yml \
|
||||
--tags all \
|
||||
--teardown all \
|
||||
--release ${CI_ENV:+$CI_ENV/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
--release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
$OPT_ADDITIONAL_PARAMETERS \
|
||||
$VIRTHOST
|
||||
|
||||
@ -149,7 +150,7 @@ case "$JOB_TYPE" in
|
||||
--config $WORKSPACE/config/general_config/$CONFIG.yml \
|
||||
--working-dir $WORKSPACE/ \
|
||||
--no-clone \
|
||||
--release ${CI_ENV:+$CI_ENV/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
--release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
$OPT_ADDITIONAL_PARAMETERS \
|
||||
$VIRTHOST
|
||||
esac
|
||||
|
@ -10,6 +10,8 @@ BUILD_SYS=$2
|
||||
CONFIG=$3
|
||||
JOB_TYPE=$4
|
||||
|
||||
: ${DISTRO_PATH:=""}
|
||||
|
||||
# These are set here to make it possible to locally reproduce the promote
|
||||
# image building job in the same way as the other jobs.
|
||||
PUBLISH=${PUBLISH:-"false"}
|
||||
@ -45,5 +47,5 @@ bash quickstart.sh \
|
||||
--extra-vars artib_image_stage_location="$REL_TYPE" \
|
||||
--bootstrap \
|
||||
--no-clone \
|
||||
--release ${CI_ENV:+$CI_ENV/}$RELEASE \
|
||||
--release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE \
|
||||
$VIRTHOST
|
||||
|
@ -2,6 +2,7 @@
|
||||
# functionality for quickstart and quickstart-extras
|
||||
|
||||
: ${OPT_ADDITIONAL_PARAMETERS:=""}
|
||||
: ${DISTRO_PATH:=""}
|
||||
|
||||
# preparation steps to run with the gated changes
|
||||
if [ "$JOB_TYPE" = "gate" ] || \
|
||||
@ -18,7 +19,7 @@ if [ "$JOB_TYPE" = "gate" ] || \
|
||||
--no-clone \
|
||||
--bootstrap \
|
||||
--playbook gate-quickstart.yml \
|
||||
--release ${CI_ENV:+$CI_ENV/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
--release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
$OPT_ADDITIONAL_PARAMETERS \
|
||||
$VIRTHOST
|
||||
fi
|
||||
|
@ -13,6 +13,8 @@ HW_ENV_DIR=$6
|
||||
NETWORK_ISOLATION=$7
|
||||
CONFIG=$8
|
||||
|
||||
: ${DISTRO_PATH:=""}
|
||||
|
||||
# (trown) This is so that we ensure separate ssh sockets for
|
||||
# concurrent jobs. Without this, two jobs running in parallel
|
||||
# would try to use the same undercloud-stack socket.
|
||||
@ -38,5 +40,5 @@ bash quickstart.sh \
|
||||
--extra-vars undercloud_instackenv_template=$WORKSPACE/$HW_ENV_DIR/instackenv.json \
|
||||
--extra-vars network_environment_file=$WORKSPACE/$HW_ENV_DIR/network_configs/$NETWORK_ISOLATION/$NETWORK_ISOLATION.yml \
|
||||
--extra-vars nic_configs_dir=$WORKSPACE/$HW_ENV_DIR/network_configs/$NETWORK_ISOLATION/nic_configs/ \
|
||||
--release ${CI_ENV:+$CI_ENV/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
--release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
$VIRTHOST
|
||||
|
@ -13,6 +13,7 @@ MAJOR_UPGRADE=$6
|
||||
PACEMAKER=$7
|
||||
TARGET_VERSION=$8
|
||||
|
||||
: ${DISTRO_PATH:=""}
|
||||
|
||||
if [ "$JOB_TYPE" = "gate" ] || [ "$JOB_TYPE" = "periodic" ]; then
|
||||
unset REL_TYPE
|
||||
@ -42,5 +43,5 @@ bash quickstart.sh \
|
||||
--tags all \
|
||||
--teardown all \
|
||||
--playbook upgrade.yml \
|
||||
--release ${CI_ENV:+$CI_ENV/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
--release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \
|
||||
$VIRTHOST
|
||||
|
173
config/release/centosci/CentOS-9/master-current-tripleo.yml
Normal file
173
config/release/centosci/CentOS-9/master-current-tripleo.yml
Normal file
@ -0,0 +1,173 @@
|
||||
release: master
|
||||
distro_ver: centos9
|
||||
dlrn_hash_tag: current-tripleo
|
||||
docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}"
|
||||
dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}"
|
||||
overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/overcloud-full.tar"
|
||||
ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/ironic-python-agent.tar"
|
||||
|
||||
docker_registry_host: trunk.registry.rdoproject.org
|
||||
docker_registry_namespace: tripleomastercentos9
|
||||
|
||||
overcloud_as_undercloud: true
|
||||
update_images: true
|
||||
images:
|
||||
- name: overcloud-full
|
||||
url: "{{ overcloud_image_url }}"
|
||||
type: tar
|
||||
- name: ipa_images
|
||||
url: "{{ ipa_image_url }}"
|
||||
type: tar
|
||||
|
||||
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={{ 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:
|
||||
- type: file
|
||||
filename: delorean.repo
|
||||
down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_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-deps.repo
|
||||
down_url: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo
|
||||
|
||||
- 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:
|
||||
- libvirt*
|
||||
- python*libvirt*
|
||||
- qemu*
|
||||
|
||||
- type: generic
|
||||
reponame: quickstart-centos-crb
|
||||
filename: quickstart-centos-crb.repo
|
||||
baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/PowerTools/x86_64/os/
|
||||
|
||||
- type: generic
|
||||
reponame: quickstart-centos-highavailability
|
||||
filename: quickstart-centos-highavailability.repo
|
||||
baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/HighAvailability/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
|
||||
# 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;
|
||||
sudo dnf repolist;
|
||||
{% 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"
|
Loading…
x
Reference in New Issue
Block a user