stable only/ci: pin CI to dnsmasq 2.85/pin proliantutils/scciclient

A temporary path forward to increase CI stability, by pinning
to what appears to be a "good working version" of upstream dnsmasq
which does not crash fon us.

Also explicitly pins proliantutils back to prevent newer proliantutils
pulling in lextudio-pysnmp instead of pysnmp. Same for scciclient.

Sets maximum microversion to 1.80.

This commit merges I3295c92fd7b7871ad351b94f4c6cf0f554279db0
and Ibe3274d7fabfd4f06af8aba1af0957fa36e8d217.

Furthermore: explictly set IPA to download a yoga IPA build, and
disable the grenade job.

Change-Id: Ibe3274d7fabfd4f06af8aba1af0957fa36e8d217
(cherry picked from commit b1acc1307d3570a467e0679d8d30d119e15900b8)
(cherry picked from commit 57fd23a55f2285a7d29cb111cd7529d0ebe13166)
This commit is contained in:
Julia Kreger 2024-02-29 14:54:40 -08:00
parent c08ed0bcdc
commit 8159c3cf94
4 changed files with 34 additions and 11 deletions

View File

@ -46,7 +46,7 @@ GITBRANCH["virtualbmc"]=${VIRTUALBMC_BRANCH:-master}
GITDIR["virtualbmc"]=$DEST/virtualbmc
GITREPO["virtualpdu"]=${VIRTUALPDU_REPO:-${GIT_BASE}/openstack/virtualpdu.git}
GITBRANCH["virtualpdu"]=${VIRTUALPDU_BRANCH:-master}
GITBRANCH["virtualpdu"]=${VIRTUALPDU_BRANCH:-1.0.0}
GITDIR["virtualpdu"]=$DEST/virtualpdu
GITREPO["sushy"]=${SUSHY_REPO:-${GIT_BASE}/openstack/sushy.git}
@ -313,7 +313,7 @@ IRONIC_DEPLOY_ISO=${IRONIC_DEPLOY_ISO:-$TOP_DIR/files/ir-deploy-$IRONIC_DEPLOY_D
IRONIC_EFIBOOT=${IRONIC_EFIBOOT:-$TOP_DIR/files/ir-deploy-$IRONIC_DEPLOY_DRIVER.efiboot}
# NOTE(jroll) this needs to be updated when stable branches are cut
IPA_DOWNLOAD_BRANCH=${IPA_DOWNLOAD_BRANCH:-master}
IPA_DOWNLOAD_BRANCH=${IPA_DOWNLOAD_BRANCH:-stable/yoga}
IPA_DOWNLOAD_BRANCH=$(echo $IPA_DOWNLOAD_BRANCH | tr / -)
# OS for using with DIB images
@ -579,7 +579,7 @@ IRONIC_DEPLOY_FAST_TRACK=${IRONIC_DEPLOY_FAST_TRACK:-False}
TEMPEST_BAREMETAL_MIN_MICROVERSION=${TEMPEST_BAREMETAL_MIN_MICROVERSION:-}
# Define baremetal max_microversion in tempest config. No default value means that it is picked from tempest.
TEMPEST_BAREMETAL_MAX_MICROVERSION=${TEMPEST_BAREMETAL_MAX_MICROVERSION:-}
TEMPEST_BAREMETAL_MAX_MICROVERSION=${TEMPEST_BAREMETAL_MAX_MICROVERSION:-"1.80"}
# TODO(TheJulia): This PHYSICAL_NETWORK needs to be refactored in
# our devstack plugin. It is used by the neutron-legacy integration,
@ -1000,7 +1000,7 @@ function install_virtualpdu {
git_clone_by_name "virtualpdu"
setup_dev_lib "virtualpdu"
else
pip_install "virtualpdu"
pip_install "virtualpdu==1.0.0"
fi
local cmd
@ -3294,6 +3294,18 @@ function setup_vxlan_network {
sudo ovs-vsctl set interface phy-brbm-infra options:peer=phy-infra-brbm
}
function downgrade_dnsmasq {
# NOTE(TheJulia): The intent here is to use dnsmasq version
# which does not crash on segfaults or sigabort when configuration
# is updated. See https://bugs.launchpad.net/ironic/+bug/2026757
sudo dpkg -r dnsmasq-base
git clone http://thekelleys.org.uk/git/dnsmasq.git -b v2.85 --depth 1
pushd dnsmasq
sed -i 's|^PREFIX.*|PREFIX = /usr|' Makefile
sudo make install
popd
}
# Restore xtrace + pipefail
$_XTRACE_IRONIC
$_PIPEFAIL_IRONIC

View File

@ -21,6 +21,7 @@ if is_service_enabled ir-api ir-cond; then
install_ironic
install_ironicclient
cleanup_ironic_config_files
downgrade_dnsmasq
elif [[ "$2" == "post-config" ]]; then
# stack/post-config - Called after the layer 1 and 2 services have been

View File

@ -4,9 +4,12 @@
# python projects they should package as optional dependencies for Ironic.
# These are available on pypi
proliantutils>=2.13.0
# NOTE(TheJulia): Proliantutils 2.16.0 and scciclient 0.13.0 moves
# to pysnmp-lextudio however that breaks on imports and with testing
# due to collission with pysnmp.
proliantutils>=2.13.0,<2.16.0
pysnmp>=4.3.0,<5.0.0
python-scciclient>=0.8.0,<0.13.0
python-scciclient>=0.8.2,<0.13.0
python-dracclient>=5.1.0,<9.0.0
python-xclarityclient>=0.1.6

View File

@ -19,8 +19,10 @@
# commented out 2023-05-19
- ironic-tempest-functional-rbac-scope-enforced:
voting: false
- ironic-grenade
- ironic-standalone
- ironic-grenade:
voting: false
- ironic-standalone:
voting: false
- ironic-standalone-redfish
- ironic-tempest-partition-bios-redfish-pxe
- ironic-tempest-partition-uefi-redfish-vmedia
@ -61,14 +63,19 @@
voting: false
gate:
jobs:
- ironic-tox-unit-with-driver-libs
# NOTE(TheJulia): Return this to voting once
# https://review.opendev.org/c/openstack/ironic/+/910528
# or similar change to the branch has merged
#- ironic-tox-unit-with-driver-libs
- ironic-tempest-functional-python3
# NOTE(JayF): This job is failing and is being fixed in master. It
# should be re-enabled in stable when it's re-enabled on master.
# commented out 2023-05-19
#- ironic-tempest-functional-rbac-scope-enforced
- ironic-grenade
- ironic-standalone
# - ironic-grenade
# NOTE(TheJulia): Disabling because of weird networking failures
# on standalone job, also redfish handles the bulk of the need.
# - ironic-standalone
- ironic-standalone-redfish
- ironic-tempest-partition-bios-redfish-pxe
- ironic-tempest-partition-uefi-redfish-vmedia