From 9f1cba8637c11a9bf19b5a8f5d4d98d9ed4ac546 Mon Sep 17 00:00:00 2001 From: Toni Saario Date: Tue, 5 Nov 2024 12:11:54 +0200 Subject: [PATCH] Coin: Limit avahi-daemon interfaces Avahi-daemon often hogs 100% of CPU on the VMs. This particularly causes issue on 2 core(thread) VMs where tests compete for CPU with avahi. Limiting avahi to test service related interfaces eliminates the abnormal CPU usage. Avahi should be only needed for tests to see the docker test services. Pick-to: 6.8 6.5 5.15 Task-number: QTQAINFRA-6697 Change-Id: I30d75f2118501cd69d98aeea8c62722a0fb238c5 Reviewed-by: Dimitrios Apostolou --- .../common/linux/limit-avahi-interfaces.sh | 11 +++++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ .../03-limit-avahi-interfaces.sh | 8 ++++++++ 19 files changed, 155 insertions(+) create mode 100755 coin/provisioning/common/linux/limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-Debian-11.6-aarch64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-RHEL-8.10-x86_64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-RHEL-9.0-x86_64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-RHEL-9.2-x86_64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/03-limit-avahi-interfaces.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/03-limit-avahi-interfaces.sh diff --git a/coin/provisioning/common/linux/limit-avahi-interfaces.sh b/coin/provisioning/common/linux/limit-avahi-interfaces.sh new file mode 100755 index 00000000..12eabe8e --- /dev/null +++ b/coin/provisioning/common/linux/limit-avahi-interfaces.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# Deny avahi access to the VM network. +# Avahi is only needed for local test services on the VM. + +interface=$(ip -br a | grep 10.215 | awk '{print $1}') +sudo sed -i "s/#deny-interfaces=eth1/deny-interfaces=${interface}/g" /etc/avahi/avahi-daemon.conf diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/03-limit-avahi-interfaces.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/03-limit-avahi-interfaces.sh new file mode 100755 index 00000000..0dd09067 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/03-limit-avahi-interfaces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/limit-avahi-interfaces.sh"