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.

Change-Id: Ibe3274d7fabfd4f06af8aba1af0957fa36e8d217
(cherry picked from commit b1acc1307d)
This commit is contained in:
Julia Kreger 2024-02-29 14:54:40 -08:00
parent e38735cb95
commit 55330d3729
4 changed files with 38 additions and 10 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}
@ -583,7 +583,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,
@ -998,7 +998,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
@ -3334,6 +3334,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.14.0
# NOTE(TheJulia): Proliantutils 2.16.0 moves to pysnmp-lextudio
# however that breaks on imports and with testing due to collission
# with pysnmp.
proliantutils>=2.14.0,<2.16.0
pysnmp>=4.3.0,<5.0.0
python-scciclient>=0.12.2
python-scciclient>=0.12.2,<0.13.0
python-dracclient>=5.1.0,<9.0.0
python-xclarityclient>=0.1.6

View File

@ -19,7 +19,8 @@
- ironic-tempest-functional-rbac-scope-enforced:
voting: false
- ironic-grenade
- ironic-standalone
- ironic-standalone:
voting: false
- ironic-standalone-redfish
- ironic-tempest-bios-redfish-pxe
- ironic-tempest-uefi-redfish-vmedia
@ -35,7 +36,11 @@
- ironic-tempest-bios-ipmi-direct-tinyipa
- ironic-tempest-bfv
- ironic-tempest-ipa-partition-uefi-pxe-grub2
- metalsmith-integration-glance-centos8-legacy
# NOTE(TheJulia): Moving to non-voting due to jobs failing
# with parted bug issues, likely rooted in ipa versioning
# changes.
- metalsmith-integration-glance-centos8-legacy:
voting: false
# Non-voting jobs
- ironic-tox-bandit:
voting: false
@ -63,14 +68,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
# 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-bios-redfish-pxe
- ironic-tempest-uefi-redfish-vmedia
@ -82,7 +92,9 @@
- ironic-tempest-bios-ipmi-direct-tinyipa
- ironic-tempest-bfv
- ironic-tempest-ipa-partition-uefi-pxe-grub2
- metalsmith-integration-glance-centos8-legacy
# NOTE(TheJulia): IPA broken in this build scenario, apparent
# tinycore linux bug.
# - metalsmith-integration-glance-centos8-legacy
experimental:
jobs:
# TODO(dtantsur): these jobs are useful but currently hopelessly