From 6618d2c9aaa76264c18e648eca78e8fa20027c59 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 3 Apr 2026 10:01:14 -0500 Subject: [PATCH 1/8] fix: ci/cfengine-build-host-setup.cf --installed not supported on centos-7 Ticket: ENT-13763 Changelog: none --- ci/cfengine-build-host-setup.cf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/cfengine-build-host-setup.cf b/ci/cfengine-build-host-setup.cf index 1739e3a13..970eec6a9 100644 --- a/ci/cfengine-build-host-setup.cf +++ b/ci/cfengine-build-host-setup.cf @@ -217,7 +217,7 @@ bundle agent cfengine_build_host_setup redhat_8|centos_8:: "have_fakeroot" expression => returnszero("command -v fakeroot >/dev/null", "useshell"); (redhat|centos):: - "epel_release_ok" expression => returnszero("yum info --installed epel-release", "useshell"); + "epel_release_ok" expression => returnszero("yum info installed epel-release", "useshell"); (redhat_8|centos_8).have_perl:: "have_data_dumper" expression => returnszero("cpan -l | grep Data::Dumper", "useshell"); "have_data_dumper_names" expression => returnszero("cpan -l | grep Data::Dumper::Names", "useshell"); From ca5048b8ab2e3ee3b388d6ae15e7d1c61c59e544 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 3 Apr 2026 10:24:23 -0500 Subject: [PATCH 2/8] fix: Added LC_ALL=C to /etc/environment in ci/cfengine-build-host-setup.cf to workaround new jenkins access strategy for build hosts Ticket: ENT-13763 Changelog: none --- ci/cfengine-build-host-setup.cf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ci/cfengine-build-host-setup.cf b/ci/cfengine-build-host-setup.cf index 970eec6a9..11ccd06f9 100644 --- a/ci/cfengine-build-host-setup.cf +++ b/ci/cfengine-build-host-setup.cf @@ -288,6 +288,11 @@ bundle agent cfengine_build_host_setup "have_$(suse_users_and_groups)_user" expression => returnszero("grep '^$(suse_users_and_groups):' /etc/passwd >/dev/null", "useshell"); files: + redhat:: + "/etc/environment" + edit_line => contains_literal_string("LC_ALL=C"), + comment => "It seems that centos-7 at least needs LC_ALL=C now, maybe due to different way we access: ProxyJump ssh commands from jenkins instead of java ssh client. 2026-04-03"; + linux:: "/home/jenkins/.ssh/known_hosts" create => "true", From 59198d3ab65333275c43d9e6695aeaa1212ec131 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 3 Apr 2026 10:44:43 -0500 Subject: [PATCH 3/8] fix: ci/cfengine-build-host-setup.cf migrating from jenkins_builds user to jenkins user for container builds Ticket: ENT-13763 Changelog: none --- ci/cfengine-build-host-setup.cf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/cfengine-build-host-setup.cf b/ci/cfengine-build-host-setup.cf index 11ccd06f9..b0f7bc547 100644 --- a/ci/cfengine-build-host-setup.cf +++ b/ci/cfengine-build-host-setup.cf @@ -363,7 +363,7 @@ findtime = 600", %sudo ALL=NOPASSWD: /usr/bin/podman %sudo ALL=NOPASSWD: /usr/sbin/lvs %sudo ALL=NOPASSWD: /usr/bin/journalctl -jenkins_builds ALL=NOPASSWD: /usr/bin/podman +jenkins ALL=NOPASSWD: /usr/bin/podman ", create => "true", perms => mog("400", "root", "root"); From 616a19c141cc3093ee36dbbb888b84a9f35620ce Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 3 Apr 2026 11:11:46 -0500 Subject: [PATCH 4/8] fix: ci/cfengine-build-host-setup.cf debian >= 12 pipeline hosts need python-is-python3 for buildscripts/build-scripts/get_labels_expr.py Ticket: ENT-13763 Changelog: none --- ci/cfengine-build-host-setup.cf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ci/cfengine-build-host-setup.cf b/ci/cfengine-build-host-setup.cf index b0f7bc547..17d4acfbb 100644 --- a/ci/cfengine-build-host-setup.cf +++ b/ci/cfengine-build-host-setup.cf @@ -17,6 +17,10 @@ bundle agent cfengine_build_host_setup debian.(!debian_13.!debian_12.!ubuntu_22.!ubuntu_24.!ubuntu_25):: "python" comment => "debian>=12 and ubuntu>=22 only has python3"; + debian.(!debian_9.!debian_10.!debian_11.!ubuntu_20.!ubuntu_18.!ubuntu_16):: + "python3"; + "python-is-python3" comment => "pipeline hosts need plain old python for buildscripts/build-scripts/get_labels_expr.py"; + debian_13|ubuntu_25:: "ntpsec"; From 53267bad1e787024cd7a94174f86e12975c78f8d Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 3 Apr 2026 11:29:30 -0500 Subject: [PATCH 5/8] revertme: debug build host setup script on centos-7 in particular --- ci/setup-cfengine-build-host.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/ci/setup-cfengine-build-host.sh b/ci/setup-cfengine-build-host.sh index 683afe241..e107d23d9 100755 --- a/ci/setup-cfengine-build-host.sh +++ b/ci/setup-cfengine-build-host.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash shopt -s expand_aliases +set -ex thisdir="$(dirname "$0")" # install needed packages and software for a build host From 51d8b7a1f74c32ba45aa4d2a4602b50a34e56d27 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 3 Apr 2026 11:40:37 -0500 Subject: [PATCH 6/8] revertme: debug cf-remote installs --- ci/setup-cfengine-build-host.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci/setup-cfengine-build-host.sh b/ci/setup-cfengine-build-host.sh index e107d23d9..c3063ac27 100755 --- a/ci/setup-cfengine-build-host.sh +++ b/ci/setup-cfengine-build-host.sh @@ -1,6 +1,8 @@ #!/usr/bin/env bash shopt -s expand_aliases set -ex +# debug cf-remote troubles +export CFBACKTRACE=1 thisdir="$(dirname "$0")" # install needed packages and software for a build host From dc86ffef67518453be69d24da4582201c744bf6a Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 3 Apr 2026 13:11:17 -0500 Subject: [PATCH 7/8] revertme: really debug cf-remote --- ci/setup-cfengine-build-host.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/setup-cfengine-build-host.sh b/ci/setup-cfengine-build-host.sh index c3063ac27..9afbf4d6e 100755 --- a/ci/setup-cfengine-build-host.sh +++ b/ci/setup-cfengine-build-host.sh @@ -200,7 +200,7 @@ if ! /var/cfengine/bin/cf-agent -V 2>/dev/null; then else _VERSION="" fi - cf-remote --log-level info $_VERSION install --clients localhost || true + cf-remote --log-level debug $_VERSION install --clients localhost || true fi if [ ! -x /var/cfengine/bin/cf-agent ]; then From 80b18b0244a3ed69525147b7221756e41db3f778 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 3 Apr 2026 17:08:03 -0500 Subject: [PATCH 8/8] fix: ci/cfengine-build-host-setup.cf now installs groovy if a containers_host This is really needed for pipeline hosts to check on flakes but this will do for now. Ticket: ENT-13763 Changelog: none --- ci/cfengine-build-host-setup.cf | 3 +++ ci/linux-install-groovy.sh | 13 +++++++++++++ 2 files changed, 16 insertions(+) create mode 100755 ci/linux-install-groovy.sh diff --git a/ci/cfengine-build-host-setup.cf b/ci/cfengine-build-host-setup.cf index 17d4acfbb..fa4532378 100644 --- a/ci/cfengine-build-host-setup.cf +++ b/ci/cfengine-build-host-setup.cf @@ -214,6 +214,7 @@ bundle agent cfengine_build_host_setup "have_tmp_mount" expression => returnszero("mount | grep '/tmp'", "useshell"); "have_coredumpctl" expression => returnszero("command -v coredumpctl", "useshell"); "missing_java" expression => not(fileexists("/usr/bin/java")); + "missing_groovy" expression => not(fileexists("/usr/bin/groovy")); (redhat|centos).!(redhat_6|centos_6|redhat_7|centos_7):: "yum_conf_ok" expression => returnszero("grep best=False /etc/yum.conf >/dev/null", "useshell"); redhat_6|centos_6|redhat_7|centos_7:: @@ -250,6 +251,8 @@ bundle agent cfengine_build_host_setup "sysctl kernel.core_pattern='|/lib/systemd/systemd-coredump %p %u %g %s %t %e'" -> { "ENT-12669" } comment => "Ensure that core_pattern is proper for systemd-coredump if coredumpctl is present.", contain => in_shell; + containers_host.missing_groovy:: + "sh $(this.promise_dirname)/linux-install-groovy.sh" contain => in_shell; missing_java:: "sh $(this.promise_dirname)/linux-install-jdk21.sh" contain => in_shell; (redhat_7|centos_7|redhat_8|centos_8|redhat_9|redhat_10).(!have_development_tools).(yum_dnf_conf_ok):: diff --git a/ci/linux-install-groovy.sh b/ci/linux-install-groovy.sh new file mode 100755 index 000000000..40b9f263e --- /dev/null +++ b/ci/linux-install-groovy.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +groovy_version=5.0.3 +groovy_zip="apache-groovy-binary-$groovy_version.zip" +cd /opt +rm -rf apache-groovy-binary*zip +wget https://groovy.jfrog.io/artifactory/dist-release-local/groovy-zips/"$groovy_zip" +echo "9d711dcb1dea94df9119558365beb6ac2909a22e30b58ae31de8bcb0dcf33698" "$groovy_zip" > "$groovy_zip".sha256 +sha256sum -c "$groovy_zip".sha256 +unzip -o "$groovy_zip" +ln -sf /opt/groovy-"$groovy_version"/bin/groovy /usr/bin/ +echo "export JAVA_HOME=/usr" >> /etc/profile +source /etc/profile +groovy -v