From 360e21124c2369174d7b38fbb8edf581e85f52e0 Mon Sep 17 00:00:00 2001 From: Jay Faulkner Date: Tue, 19 Nov 2024 10:37:21 -0800 Subject: [PATCH] Use specific fix-commit from dnsmasq I have requested a new release from dnsmasq here: https://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2024q4/017828.html but until they perform one, we should at least checkout and build a version of dnsmasq with this fix, instead of downgrading to one that is slightly less broken. Related-Bug: 2026757 Change-Id: I8abac5fa729035341c90d7881cb35aff751da101 --- devstack/lib/ironic | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/devstack/lib/ironic b/devstack/lib/ironic index 913da68650..0f35887d1b 100644 --- a/devstack/lib/ironic +++ b/devstack/lib/ironic @@ -3563,20 +3563,24 @@ function setup_vxlan_network { } 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 - if dnsmasq --version | grep -q "Dnsmasq version 2.85"; then + # NOTE(JayF): This checks out the unreleased dnsmasq commit which + # includes the fix for the crash issue described in + # https://bugs.launchpad.net/ironic/+bug/2026757 + # This patch has yet to be included in a release. + if dnsmasq --version | grep -q "Dnsmasq version 2.90deb2-8-gf006be7"; then # NOTE(JayF) Keep Ironic devstack plugin idempotent by skipping # downgrade if we already have the desired version. echo "Dnsmasq already downgraded, continuing..." else echo "Downgrading dnsmasq..." sudo dpkg -r dnsmasq-base - git clone http://thekelleys.org.uk/git/dnsmasq.git -b v2.85 --depth 1 + # NOTE(JayF) Cannot shallow clone; need to checkout a commit that + # is not part of a named tag + git clone http://thekelleys.org.uk/git/dnsmasq.git pushd dnsmasq - sed -i 's|^PREFIX.*|PREFIX = /usr|' Makefile - sudo make install + # https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commitdiff;h=f006be7842104a9f86fbf419326b7aad08ade61d + git checkout f006be7842104a9f86fbf419326b7aad08ade61d + sudo make PREFIX=/usr install popd fi }