From 0219b3abc6ef97a8874a34d3d8a52aeb7f948dc3 Mon Sep 17 00:00:00 2001 From: Julia Kreger Date: Thu, 29 Feb 2024 14:54:40 -0800 Subject: [PATCH] stable only/ci: pin CI to dnsmasq 2.85/pin proliantutils 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. This commit merges I3295c92fd7b7871ad351b94f4c6cf0f554279db0 and Ibe3274d7fabfd4f06af8aba1af0957fa36e8d217. Furthermore, disables voting forsome older CI jobs which are not needed on older branches (grenade, benchmarking, postgres), and the standalone job itself while leaving the redfish job as we have sufficient overlapping test coverage based upon other ipmi jobs. Change-Id: Ibe3274d7fabfd4f06af8aba1af0957fa36e8d217 (cherry picked from commit 4ca1b32cb43becf91fc7f6b7c0e9d0d5b6c64a74) --- devstack/lib/ironic | 18 +++++++++++++++--- devstack/plugin.sh | 1 + driver-requirements.txt | 6 +++++- zuul.d/project.yaml | 27 ++++++++++++++++++--------- 4 files changed, 39 insertions(+), 13 deletions(-) diff --git a/devstack/lib/ironic b/devstack/lib/ironic index d266a49c13..796250b4ba 100644 --- a/devstack/lib/ironic +++ b/devstack/lib/ironic @@ -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} @@ -572,7 +572,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:1.78} +TEMPEST_BAREMETAL_MAX_MICROVERSION=${TEMPEST_BAREMETAL_MAX_MICROVERSION:-"1.78"} # TODO(TheJulia): This PHYSICAL_NETWORK needs to be refactored in # our devstack plugin. It is used by the neutron-legacy integration, @@ -987,7 +987,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 @@ -3268,6 +3268,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 diff --git a/devstack/plugin.sh b/devstack/plugin.sh index f49c63d385..1d2b822343 100644 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -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 diff --git a/driver-requirements.txt b/driver-requirements.txt index 5466323780..04657a1579 100644 --- a/driver-requirements.txt +++ b/driver-requirements.txt @@ -4,7 +4,11 @@ # python projects they should package as optional dependencies for Ironic. # These are available on pypi -proliantutils>=2.11.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.11.0,<2.16.0 pysnmp>=4.3.0,<5.0.0 python-scciclient>=0.8.0,<0.12.0 python-dracclient>=5.1.0,<8.0.0 diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 5821500697..a843ef6fe7 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -17,8 +17,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 @@ -57,20 +59,27 @@ voting: false - bifrost-integration-redfish-vmedia-uefi-centos-8: voting: false - - ironic-tempest-pxe_ipmitool-postgres: - voting: false - - bifrost-benchmark-ironic: - voting: false + # NOTE(TheJulia): Disabling because these are really not needed + # At this point in time with the age of this branch. + # - ironic-tempest-pxe_ipmitool-postgres: + # voting: false + # - bifrost-benchmark-ironic: + # 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 grenade/standalone as they are not really + # needed on this branch at this point. + # - ironic-grenade + # - ironic-standalone - ironic-standalone-redfish - ironic-tempest-partition-bios-redfish-pxe - ironic-tempest-partition-uefi-redfish-vmedia