From patchwork Mon Feb 3 15:55:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Daniel Gomez X-Patchwork-Id: 13957749 Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5F645209F5E for ; Mon, 3 Feb 2025 15:55:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.118.77.11 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738598140; cv=none; b=oJiTwhViZQnPpdso+a0T1eDgkLtDrRvATPXxlngizy8PerXI3zf4tv8/YFMosAIBUGQmkD3M2csFhbrTOZeOeh1sJ01NmfH/16LhVUk/NuhczEPOUs6My/12DHiKMeJBCpk4KWaOLgWvLwCeIX3d3Pz7+XTnpv5r3wh/pHkPvtY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738598140; c=relaxed/simple; bh=1+sQPA8mTo+jsTBCh/iyZEU7SMziQspMmdzASTQ69h8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID: In-Reply-To:To:CC:References; b=kd2+U2A92yB8DDQSGTUMl5dQPDSv/Ex+9LxH05TzR2CR7l1+eiNCHo14rvhEfwidiutD39P4jaIuWOLM6PePzy3FomleMofo5CrYQbwzY6JwNzqzK8wUUEkI4Y6PKuznwRbMrmRV5tNx5xbjzj/vmj7ztnGUEWGzgkOEBhnz9IE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com; spf=pass smtp.mailfrom=samsung.com; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b=UZq+GeJC; arc=none smtp.client-ip=210.118.77.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=samsung.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="UZq+GeJC" Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20250203155535euoutp01d9ecb591bf37ebea5e4f3765041d0d36~gvcrxfgRN3244132441euoutp011 for ; Mon, 3 Feb 2025 15:55:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20250203155535euoutp01d9ecb591bf37ebea5e4f3765041d0d36~gvcrxfgRN3244132441euoutp011 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1738598135; bh=3G1a1D1WsHXvV/oG390244+Fy3oQMOTbJ8zT2/ze2Os=; h=From:Date:Subject:In-Reply-To:To:CC:References:From; b=UZq+GeJCIa9vX3mLtkyaPGBz7F26LLqBOgYn8UzIhWp9balFeAZoYII8wTpGbhyJw Srjsioylt5asbnOuGsGUsNHSJV/moVt0pNzITNMRGZcrWOT+rA7oGCOQr3c95ymA/9 CpYmbLYt46K1n+WGmjV7rK8hMVdmKFeMhtLcrTg4= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20250203155535eucas1p1540570a3070dbe7d6d92d1436e1a2ee8~gvcro81Hl0406904069eucas1p1E; Mon, 3 Feb 2025 15:55:35 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id 7E.5E.20409.7F6E0A76; Mon, 3 Feb 2025 15:55:35 +0000 (GMT) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20250203155534eucas1p15ab37b4283ce9765d2dc346cb676499d~gvcq3ftYe1916519165eucas1p1K; Mon, 3 Feb 2025 15:55:34 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20250203155534eusmtrp103da2013b9fb937c525d0c744c777cb3~gvcq3FyRA1857618576eusmtrp1B; Mon, 3 Feb 2025 15:55:34 +0000 (GMT) X-AuditID: cbfec7f4-c0df970000004fb9-34-67a0e6f7bdc9 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id A6.CF.19920.6F6E0A76; Mon, 3 Feb 2025 15:55:34 +0000 (GMT) Received: from CAMSPWEXC02.scsc.local (unknown [106.1.227.4]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20250203155534eusmtip2180f5aa023f17dcd456ba1df96bcca5f~gvcqsfwZE0513305133eusmtip23; Mon, 3 Feb 2025 15:55:34 +0000 (GMT) Received: from localhost (106.110.32.87) by CAMSPWEXC02.scsc.local (106.1.227.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.1118.40; Mon, 3 Feb 2025 15:55:33 +0000 From: Daniel Gomez Date: Mon, 3 Feb 2025 16:55:18 +0100 Subject: [PATCH 1/2] ansible.cfg: autogenerate using kconfig Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-ID: <20250203-ansible_cfg3-v1-1-a9e75cd067d7@samsung.com> In-Reply-To: <20250203-ansible_cfg3-v1-0-a9e75cd067d7@samsung.com> To: Luis Chamberlain CC: , Daniel Gomez X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1738598132; l=13062; i=da.gomez@samsung.com; s=20240621; h=from:subject:message-id; bh=1+sQPA8mTo+jsTBCh/iyZEU7SMziQspMmdzASTQ69h8=; b=CT4qM7VEsFM52e9uf1dX8qTQwNRUuKjUR7xAFAovP//UI7IQcJUayqi2z/IOIUWorsLO0LPHu nb4aCBm5E7HAS6pb2vssRW2w+uHbQouUFm91SUIa7aLNAIJvSzO9rhJ X-Developer-Key: i=da.gomez@samsung.com; a=ed25519; pk=BqYk31UHkmv0WZShES6pIZcdmPPGay5LbzifAdZ2Ia4= X-ClientProxiedBy: CAMSVWEXC01.scsc.local (106.1.227.71) To CAMSPWEXC02.scsc.local (106.1.227.4) X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrNIsWRmVeSWpSXmKPExsWy7djP87rfny1IN7jfxGfxc81LZosbE54y OjB5bFrVyebxYvNMxgCmKC6blNSczLLUIn27BK6MMx2fmQo60iqm9z5kaWA8Ht7FyMkhIWAi cfjOK6YuRi4OIYEVjBI9L46xQDhfGCX+7p4H5XxmlJh28jZbFyMHWMvtfUIQ8eWMEucPrmWG cD4xSnx+spURwnnAKPFmXxcLyBI2AU2JfSc3sYPYLAIqEjeXT2IDsYUFbCTubO0Fq+EVEJQ4 OfMJC8gGZqD69bv0QcLMAvISzVtnM0OUOEocWjQPzOYUcJK4eHc3E4gtIqAhsW9CLxNEvZPE yUlX2SB+E5X4PXkX2AcSAgeYJB7OfsQEkUiVWPHoDjOErSgxY+JKFojPkiQaX6RC1J/hkJj7 aBEjRI2LxLq/t6FsYYlXx7ewQ9gyEqcn97BA2NkSZ7/vgaopkfj34RdU3Fri/9q7UHFHiZ0L 1kJDkU/ixlvBCYxqs5B8Pwvh+1lIvl/AyLyKUTy1tDg3PbXYKC+1XK84Mbe4NC9dLzk/dxMj MD2c/nf8yw7G5a8+6h1iZOJgPMQowcGsJMJ7evuCdCHelMTKqtSi/Pii0pzU4kOM0hwsSuK8 i/a3pgsJpCeWpGanphakFsFkmTg4pRqYovQ4qncHH9Tp1ryhGu98JebZs4Uf1yTEFiRlSTSY eRvvrixynVVv6P7z5Pozv+Q0tM03PljAETkpkbO3Vm1aeFn+PZ+mfKtZLas8DrzjnfzgeYn9 st7yI+L/zkVobKsNdGF7cJGNx2ZnwYspgR91qxfJvkgy/OD0o6CwZpkTd9P+VY3vli7P73rv 9W9O5yplQQ37b5uL5VhmPeGKf1JUnNQf7b8n5/z/nblRJ2w6fQMXh20wsps3o/5C/4YXLqpn T09x+y40u2CVdK3/zM/fOJYm1gmeUlwofOj1NbbLe/+HqXDsOrpLKNo4NbdQ3CAxriMxe4Gt 0/Ta2VecfN93HImvX6FmcWUDr3ni/2lKLMUZiYZazEXFiQA14ttHfgMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrNIsWRmVeSWpSXmKPExsVy+t/xe7rfni1IN+jfJG3xc81LZosbE54y OjB5bFrVyebxYvNMxgCmKD2bovzSklSFjPziElulaEMLIz1DSws9IxNLPUNj81grI1MlfTub lNSczLLUIn27BL2MMx2fmQo60iqm9z5kaWA8Ht7FyMEhIWAicXufUBcjF4eQwFJGiWWr9jF3 MXICxWUkNn65ygphC0v8udbFBlH0gVHi+o5l7BDOA0aJh3c+s4NUsQloSuw7uQnMZhFQkbi5 fBIbiC0sYCNxZ2svC4jNKyAocXLmExaQzcxA9et36YOEmQXkJZq3zmaGKHGUOLRoHpgtBGS3 9C4DszkFnCQu3t3NBGKLCGhI7JvQywTR6yRxctJVNohDRSV+T97FAmEfYJI4+t8fwk6V2H5l CVSNosSMiSuhapIkjjbPY53AKDYLyXWzEK6bheS6BYzMqxhFUkuLc9Nziw31ihNzi0vz0vWS 83M3MQJjbduxn5t3MM579VHvECMTB+MhRgkOZiUR3tPbF6QL8aYkVlalFuXHF5XmpBYfYjQF htBEZinR5HxgtOeVxBuaGZgamphZGphamhkrifO6XT6fJiSQnliSmp2aWpBaBNPHxMEp1cDE llZRENzc7sO0YErB+bfR7b8lvMSE7gbNb8/xqYq9HBz8wC9IbcZNv897udwTJ1/em7n8sPJl Ww5flpxvSoanHkfzX+wWPPvp6wuLN3+ML4eufrb9tl5+dn2x/IWmj4uf5Byfe7nqsOwt3XWm LqeNxVYeW/PLXndCgR17ES/TzWVsJZt/vvd//4sxJ6xpyYzVLZbi6ze98zKMfOxfecuUfcW/ VaUXWd17lKfJXS4RP+X5KqTnSabkuk2nws+/kcpJ0OBp7C+8/XtuV63vZW2BKYfVXlk/XFZy I7o41bVssuBKnjYbkSenVWrFoyd3e5Ur9R6OyeIUeMjmvM2Mt3HNLe8NM5LnMLzgbFtR2qjE UpyRaKjFXFScCAC9JgpAPgMAAA== X-CMS-MailID: 20250203155534eucas1p15ab37b4283ce9765d2dc346cb676499d X-Msg-Generator: CA X-RootMTR: 20250203155534eucas1p15ab37b4283ce9765d2dc346cb676499d X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20250203155534eucas1p15ab37b4283ce9765d2dc346cb676499d References: <20250203-ansible_cfg3-v1-0-a9e75cd067d7@samsung.com> Add a new ansible.cfg Makefile target, Ansible Playbook and Role to be able to configure the Ansible Configuration file (ansible.cfg) using Kconfig. This generate the ansible.cfg based on the same current settings. Add the new Ansible files (playbooks, cfg, Kconfig...) to the Ansible Wrapper maintainer entry. Move retries to [connection] ini section as per documentation [1]. [1] https://docs.ansible.com/ansible/latest/collections/ansible/builtin/ ssh_connection.html#parameter-reconnection_retries From commit 1961b177a9464423a24cd110f94682def7927331 ("ansible.cfg: bump retries to 2000"), this setting was required for OpenSUSE Tumbleweed. So, apply it only for this distro. Signed-off-by: Daniel Gomez --- .gitignore | 2 + MAINTAINERS | 4 + Makefile | 17 +++- ansible.cfg | 5 - kconfigs/Kconfig.ansible_cfg | 105 +++++++++++++++++++++ kconfigs/Kconfig.kdevops | 4 + playbooks/ansible_cfg.yml | 4 + playbooks/roles/ansible_cfg/defaults/main.yml | 9 ++ playbooks/roles/ansible_cfg/tasks/main.yml | 17 ++++ .../roles/ansible_cfg/templates/ansible.cfg.j2 | 14 +++ 10 files changed, 172 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index c34739832c6501104c9c8bce9c31e87dfd9bcfb0..0ec5d2de89a943c903c3975bf607b72a6604fbb0 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,8 @@ extra_vars.json .config .config.old +ansible.cfg + scripts/kconfig/.mconf-cfg scripts/workflows/fstests/lib/__pycache__/ scripts/workflows/blktests/lib/__pycache__/ diff --git a/MAINTAINERS b/MAINTAINERS index 045d8c96208ef8f3f1c5d74d023a5117529511cf..6df6709fb59d14ba486050d2ce961923b292ec73 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -72,6 +72,10 @@ M: Daniel Gomez L: kdevops@lists.linux.dev S: Maintained T: git https://github.com/linux-kdevops/kdevops.git +F: ansible.cfg +F: kconfigs/Kconfig.ansible_cfg +F: playbooks/ansible_cfg.yml +F: playbooks/roles/ansible_cfg F: scripts/ansible_av.py F: scripts/ansible.Makefile diff --git a/Makefile b/Makefile index 14e647dcd45190ff51dd42627f58826998f07781..fa8761bcb6bc2c612ef7bff4f904c94ca258d523 100644 --- a/Makefile +++ b/Makefile @@ -190,9 +190,17 @@ include scripts/gen-nodes.Makefile make -f scripts/build.Makefile help ;\ false) + +PHONY += ansible.cfg +ansible.cfg: + @$(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \ + --inventory localhost, \ + $(KDEVOPS_PLAYBOOKS_DIR)/ansible_cfg.yml \ + --extra-vars=@./.extra_vars_auto.yaml + PHONY += $(EXTRA_VAR_INPUTS) $(EXTRA_VAR_INPUTS_LAST) -$(KDEVOPS_EXTRA_VARS): .config $(EXTRA_VAR_INPUTS) $(EXTRA_VAR_INPUTS_LAST) +$(KDEVOPS_EXTRA_VARS): .config ansible.cfg $(EXTRA_VAR_INPUTS) $(EXTRA_VAR_INPUTS_LAST) playbooks/secret.yml: @if [[ "$(CONFIG_KDEVOPS_REG_TWOLINE_REGCODE)" == "" ]]; then \ @@ -204,7 +212,7 @@ playbooks/secret.yml: @echo "$(CONFIG_KDEVOPS_REG_TWOLINE_REGCODE_VAR): $(CONFIG_KDEVOPS_REG_TWOLINE_REGCODE)" >> $@ ifeq (y,$(CONFIG_KDEVOPS_ENABLE_DISTRO_EXTRA_ADDONS)) -$(KDEVOPS_EXTRA_ADDON_DEST): .config $(KDEVOPS_EXTRA_ADDON_SOURCE) +$(KDEVOPS_EXTRA_ADDON_DEST): .config ansible.cfg $(KDEVOPS_EXTRA_ADDON_SOURCE) $(Q)cp $(KDEVOPS_EXTRA_ADDON_SOURCE) $(KDEVOPS_EXTRA_ADDON_DEST) endif @@ -215,7 +223,7 @@ include scripts/bringup.Makefile endif DEFAULT_DEPS += $(KDEVOPS_HOSTS) -$(KDEVOPS_HOSTS): .config $(KDEVOPS_HOSTS_TEMPLATE) +$(KDEVOPS_HOSTS): .config ansible.cfg $(KDEVOPS_HOSTS_TEMPLATE) $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \ --inventory localhost, \ $(KDEVOPS_PLAYBOOKS_DIR)/gen_hosts.yml \ @@ -223,7 +231,7 @@ $(KDEVOPS_HOSTS): .config $(KDEVOPS_HOSTS_TEMPLATE) --extra-vars=@./extra_vars.yaml DEFAULT_DEPS += $(KDEVOPS_NODES) -$(KDEVOPS_NODES) $(KDEVOPS_VAGRANT): .config $(KDEVOPS_NODES_TEMPLATE) +$(KDEVOPS_NODES) $(KDEVOPS_VAGRANT): .config ansible.cfg $(KDEVOPS_NODES_TEMPLATE) $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \ --inventory localhost, \ $(KDEVOPS_PLAYBOOKS_DIR)/gen_nodes.yml \ @@ -253,6 +261,7 @@ mrproper: $(Q)rm -f $(KDEVOPS_NODES) $(Q)rm -f $(KDEVOPS_HOSTFILE) $(KDEVOPS_MRPROPER) $(Q)rm -f .config .config.old extra_vars.yaml $(KCONFIG_YAMLCFG) + $(Q)rm -f ansible.cfg $(Q)rm -f playbooks/secret.yml $(KDEVOPS_EXTRA_ADDON_DEST) $(Q)rm -rf include $(Q)rm -rf guestfs diff --git a/ansible.cfg b/ansible.cfg deleted file mode 100644 index 08350e0cf0f33e650801f4d8a2b450c77ef22a97..0000000000000000000000000000000000000000 --- a/ansible.cfg +++ /dev/null @@ -1,5 +0,0 @@ -[defaults] -display_skipped_hosts = no -retries = 2000 -deprecation_warnings=False -stdout_callback=debug diff --git a/kconfigs/Kconfig.ansible_cfg b/kconfigs/Kconfig.ansible_cfg new file mode 100644 index 0000000000000000000000000000000000000000..1b2885189dfb6a11c09a0ef4ddafa6889f4c26f2 --- /dev/null +++ b/kconfigs/Kconfig.ansible_cfg @@ -0,0 +1,105 @@ +menu "Ansible Callback Plugin Configuration" +choice + prompt "Ansible Callback Plugin" + default KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_DEBUG + +config KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_DEBUG + bool "Ansible Debug Callback Plugin" + output yaml + help + Debug: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/debug_module.html + +config KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_DENSE + bool "Ansible Dense Callback Plugin" + output yaml + help + Dense: https://docs.ansible.com/ansible/latest/collections/community/general/dense_callback.html + +endchoice + +config KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_STRING + string + output yaml + default "debug" if KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_DEBUG + default "dense" if KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_DENSE + +config KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_CHECK_MODE_MARKERS + bool "check_mode_markers" + output yaml + default n + help + Toggle to control displaying markers when running in check mode. + https://docs.ansible.com/ansible/latest/collections/community/general/dense_callback.html#parameter-check_mode_markers + +config KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_DISPLAY_FAILED_STDERR + bool "display_failed_stderr" + output yaml + default n + help + Toggle to control whether failed and unreachable tasks are displayed to STDERR (vs. STDOUT). + https://docs.ansible.com/ansible/latest/collections/community/general/dense_callback.html#parameter-display_failed_stderr + +config KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_DISPLAY_OK_HOSTS + bool "display_ok_hosts" + output yaml + default y + help + Toggle to control displaying ‘ok’ task/host results in a task. + https://docs.ansible.com/ansible/latest/collections/community/general/dense_callback.html#parameter-display_ok_hosts + +config KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_DISPLAY_SKIPPED_HOSTS + bool "display_skipped_hosts" + output yaml + default n + help + Toggle to control displaying skipped task/host results in a task. + https://docs.ansible.com/ansible/latest/collections/community/general/dense_callback.html#parameter-display_skipped_hosts + +config KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_SHOW_CUSTOM_STATS + bool "show_custom_stats" + output yaml + default n + help + This adds the custom stats set via the set_stats plugin to the play recap + https://docs.ansible.com/ansible/latest/collections/community/general/dense_callback.html#parameter-show_custom_stats + +config KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_SHOW_PER_HOST_START + bool "show_per_host_start" + output yaml + default n + help + This adds output that shows when a task is started to execute for each host + https://docs.ansible.com/ansible/latest/collections/community/general/dense_callback.html#parameter-show_per_host_start + +config KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_SHOW_TASK_PATH_ON_FAILURE + bool "show_task_path_on_failure" + output yaml + default n + help + When a task fails, display the path to the file containing the failed task and + the line number. This information is displayed automatically for every task when + running with -vv or greater verbosity. + https://docs.ansible.com/ansible/latest/collections/community/general/dense_callback.html#parameter-show_task_path_on_failure +endmenu + +config KDEVOPS_ANSIBLE_CONFIG_DEPRECATION_WARNINGS + bool "deprecation_warnings" + output yaml + default y + help + Toggle to control the showing of deprecation warnings + https://docs.ansible.com/ansible/latest/reference_appendices/config.html#deprecation-warnings + +if DISTRO_OPENSUSE + +config KDEVOPS_ANSIBLE_CONFIG_RECONNECTION_RETRIES + string "reconnection_retries" + output yaml + default 2000 + help + Number of attempts to connect. + Ansible retries connections only if it gets an SSH error with a return code of 255. + Any errors with return codes other than 255 indicate an issue with program execution. + https://docs.ansible.com/ansible/latest/collections/ansible/builtin/ssh_connection.html#parameter-reconnection_retries + +endif # DISTRO_OPENSUSE diff --git a/kconfigs/Kconfig.kdevops b/kconfigs/Kconfig.kdevops index c613ff20c193e717413d983af99bb97069988044..35e9758d789255721c522636ada49f84710e042f 100644 --- a/kconfigs/Kconfig.kdevops +++ b/kconfigs/Kconfig.kdevops @@ -195,3 +195,7 @@ endmenu menu "Kernel continous integration configuration" source "kconfigs/Kconfig.kernel-ci" endmenu + +menu "Ansible Configuration" +source "kconfigs/Kconfig.ansible_cfg" +endmenu diff --git a/playbooks/ansible_cfg.yml b/playbooks/ansible_cfg.yml new file mode 100644 index 0000000000000000000000000000000000000000..a81fd6e936bfc83967fab27f09f74e7b85337ed5 --- /dev/null +++ b/playbooks/ansible_cfg.yml @@ -0,0 +1,4 @@ +--- +- hosts: localhost + roles: + - role: ansible_cfg diff --git a/playbooks/roles/ansible_cfg/defaults/main.yml b/playbooks/roles/ansible_cfg/defaults/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..5d766a78760cede43b9e4df88e280b21e3eb8ca0 --- /dev/null +++ b/playbooks/roles/ansible_cfg/defaults/main.yml @@ -0,0 +1,9 @@ +--- +kdevops_ansible_config_callback_plugin_string: debug +kdevops_ansible_config_callback_plugin_check_mode_markers: False +kdevops_ansible_config_callback_plugin_display_failed_stderr: False +kdevops_ansible_config_callback_plugin_display_ok_hosts: True +kdevops_ansible_config_callback_plugin_display_skipped_hosts: True +kdevops_ansible_config_callback_plugin_show_custom_stats: False +kdevops_ansible_config_callback_plugin_show_per_host_start: False +kdevops_ansible_config_callback_plugin_show_task_path_on_failure: False diff --git a/playbooks/roles/ansible_cfg/tasks/main.yml b/playbooks/roles/ansible_cfg/tasks/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..7e7fee78cb4dff1030122c875388b3291c1f3f60 --- /dev/null +++ b/playbooks/roles/ansible_cfg/tasks/main.yml @@ -0,0 +1,17 @@ +--- +- name: Import optional extra_args file + ansible.builtin.include_vars: + file: "{{ item }}" + with_first_found: + - files: + - "../extra_vars.yml" + - "../extra_vars.yaml" + - "../extra_vars.json" + skip: true + failed_when: false + tags: vars + +- name: Generate kdevops ansible.cfg + template: + src: "ansible.cfg.j2" + dest: "{{ topdir_path }}/ansible.cfg" diff --git a/playbooks/roles/ansible_cfg/templates/ansible.cfg.j2 b/playbooks/roles/ansible_cfg/templates/ansible.cfg.j2 new file mode 100644 index 0000000000000000000000000000000000000000..7e35d3b853e23cc5536f5db912dfac07acd350d2 --- /dev/null +++ b/playbooks/roles/ansible_cfg/templates/ansible.cfg.j2 @@ -0,0 +1,14 @@ +[defaults] +deprecation_warnings = {{ kdevops_ansible_config_deprecation_warnings }} +stdout_callback = {{ kdevops_ansible_config_callback_plugin_string }} +check_mode_markers = {{ kdevops_ansible_config_callback_plugin_check_mode_markers }} +display_failed_stderr = {{ kdevops_ansible_config_callback_plugin_display_failed_stderr }} +display_ok_hosts = {{ kdevops_ansible_config_callback_plugin_display_ok_hosts }} +display_skipped_hosts = {{ kdevops_ansible_config_callback_plugin_display_skipped_hosts }} +show_custom_stats = {{ kdevops_ansible_config_callback_plugin_show_custom_stats }} +show_per_host_start = {{ kdevops_ansible_config_callback_plugin_show_per_host_start }} +show_task_path_on_failure = {{ kdevops_ansible_config_callback_plugin_show_task_path_on_failure }} +{% if ansible_facts['distribution'] == 'openSUSE' %} +[connection] +retries = {{ kdevops_ansible_config_reconnection_retries }} +{% endif %} From patchwork Mon Feb 3 15:55:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Gomez X-Patchwork-Id: 13957748 Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AAFBE20A5C0 for ; Mon, 3 Feb 2025 15:55:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.118.77.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738598139; cv=none; b=PFOG3H4qSMLvB3hTjuhvfJgrXUGopFMym40kYcgy6aBwJsvZsWxBd+jXGRGT//wQk97V9oN/7zCxzEfyo9DEcLfqHuQ7d86MT16EkXvOugFlpoMMYN6RVtPyzNr57E+vqowZwQUUtdqR62FxKDpiKA2l5FDuZvLxPdYdhX4LUYo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738598139; c=relaxed/simple; bh=0qZLilg6kaylQnJwEKbPbKzitxyTkX5GRxG6lU0oaig=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID: In-Reply-To:To:CC:References; b=sBmG79/apG5myfu1IsINBHygZwDn+2RQrgxr+vZm1OqLnJnF0i3l24xaQW78JC/ITyy4Gymlc5P9m1F+P672hYpd2Pa5MECpL0KU/wPL0aNZwO+5HbxK/jTfk5bjxVhUownsW7PYj7KfSjKepEDo4duhZlNkOua1ffE6m1aFHnU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com; spf=pass smtp.mailfrom=samsung.com; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b=mY66RuHr; arc=none smtp.client-ip=210.118.77.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=samsung.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="mY66RuHr" Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20250203155535euoutp02f7159632dd9ef19b25d70a241df9edfb~gvcsCz0BZ2543825438euoutp02R for ; Mon, 3 Feb 2025 15:55:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20250203155535euoutp02f7159632dd9ef19b25d70a241df9edfb~gvcsCz0BZ2543825438euoutp02R DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1738598135; bh=C0w6Ok11M5GilH2x3QeOMzVE+v8RCVmGxdpJYbPIh2U=; h=From:Date:Subject:In-Reply-To:To:CC:References:From; b=mY66RuHrP30djKPtuIFNH82l5+zFMsYNqaLGWw8dIJz3pJcekfk8m0v+s66+DWfHX 8ZWz3PjgY56HWSR3YacyFMzYCDXRWfom2fXTxY+G9TtyxFSR30ZacG2m5sk01EOaAb vIuszdDJ5XqbVWSWdDLkmbCe0bWMZ898A61cGZ/w= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20250203155535eucas1p17bd8dc5e4db89011d924f73215325c43~gvcr1xArG0400604006eucas1p1T; Mon, 3 Feb 2025 15:55:35 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id 8B.BE.20397.7F6E0A76; Mon, 3 Feb 2025 15:55:35 +0000 (GMT) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20250203155535eucas1p29f3aaba8576a1d55ad4dddb5abc92593~gvcrcF9Ru2082720827eucas1p2m; Mon, 3 Feb 2025 15:55:35 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20250203155535eusmtrp28055dae1d8fcfb5d66d0294ac1438d40~gvcrbrGvu0997709977eusmtrp2R; Mon, 3 Feb 2025 15:55:35 +0000 (GMT) X-AuditID: cbfec7f5-ed1d670000004fad-eb-67a0e6f7e71b Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id CD.EC.19654.7F6E0A76; Mon, 3 Feb 2025 15:55:35 +0000 (GMT) Received: from CAMSPWEXC02.scsc.local (unknown [106.1.227.4]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20250203155534eusmtip222dddcedf56bd535130630c58582de2d~gvcrScbxz0513305133eusmtip24; Mon, 3 Feb 2025 15:55:34 +0000 (GMT) Received: from localhost (106.110.32.87) by CAMSPWEXC02.scsc.local (106.1.227.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.1118.40; Mon, 3 Feb 2025 15:55:34 +0000 From: Daniel Gomez Date: Mon, 3 Feb 2025 16:55:19 +0100 Subject: [PATCH 2/2] ansible.cfg: change defaults to minimal Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-ID: <20250203-ansible_cfg3-v1-2-a9e75cd067d7@samsung.com> In-Reply-To: <20250203-ansible_cfg3-v1-0-a9e75cd067d7@samsung.com> To: Luis Chamberlain CC: , Daniel Gomez X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1738598132; l=2918; i=da.gomez@samsung.com; s=20240621; h=from:subject:message-id; bh=0qZLilg6kaylQnJwEKbPbKzitxyTkX5GRxG6lU0oaig=; b=J2d7AtHExz5Y+3V7I8n6TMLZRIWM/zMztMPOeWkJ/+MQKf+gKZ6QP13ULV87b47IkYyjAsF7k llpklXQ2QorCFxINfFvjRO5prajwFIEaAYezYHW3l360qoFjWJyQ0zH X-Developer-Key: i=da.gomez@samsung.com; a=ed25519; pk=BqYk31UHkmv0WZShES6pIZcdmPPGay5LbzifAdZ2Ia4= X-ClientProxiedBy: CAMSVWEXC01.scsc.local (106.1.227.71) To CAMSPWEXC02.scsc.local (106.1.227.4) X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrBIsWRmVeSWpSXmKPExsWy7djPc7rfny1IN5h2Qsri55qXzBY3Jjxl dGDy2LSqk83jxeaZjAFMUVw2Kak5mWWpRfp2CVwZF+4eYix4IVbRdfEYSwPjJJEuRg4OCQET iR/Hc7oYuTiEBFYwSkxqfM0M4XxhlJh4fgU7hPOZUWLalSlADidYR8+pjSwQieWMEl2XX7CA jBIS+MQosVUDIv6AUWL3volMIA1sApoS+05uYgepYRFQkdh3vg4kLCxgIzH//QSwEl4BQYmT M5+AjWEGKl+/Sx8kzCwgL7H97RxmiBJHia0bv4LZnAJOEhfv7gZrFRHQkNg3oZcJot5J4uSk q2wQZ4pK/J68C+xMCYH9TBLv709ngkikSqx4dIcZwlaUmDFxJQskJJIkGl+kQtSf4ZD4eP8L 1CAXif9rn0L9Lizx6vgWKFtG4v/O+VAzsyXOft/DCGGXSPz78IsFwrYG6r0LFXeUaHr4gBli F5/EjbeCExjVZiH5fhbC97OQfL+AkXkVo3hqaXFuemqxcV5quV5xYm5xaV66XnJ+7iZGYGI4 /e/41x2MK1591DvEyMTBeIhRgoNZSYT39PYF6UK8KYmVValF+fFFpTmpxYcYpTlYlMR5F+1v TRcSSE8sSc1OTS1ILYLJMnFwSjUwhdjf3Pq72CzXkmvuzwjLUwsvPTcpKUjJuMaaH/H4AaO8 wd7Mk9uablecZ/j2hIl5yobQvnOWWwyFb1cn3y1sWPDOvtDt8s15PhWFP9nFV32XubWfa7ds B8NvPssbi96WF/lO3rlVzKJ1WUPWay/Na/f7nrBt8RaPm/tSMoWX57Pn4hBhiSVLPfT2ru29 n395/dxQET+FwA+Xp1eaxa94+c5SZeU730y7nBslpUlX5mW+/19wp3WadEv4o6XL3jRbdy/q fZgRy3ghV1lsNk/NkuBdkqs7hAzt/91b6dlgPzEq0UG9+oV1RQ8L27SJ3LmzeOuu+9w+vVTU Z/fdiGmHayb2H23mP9K5WDjvmcAxJZbijERDLeai4kQA3XXc+HsDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrFIsWRmVeSWpSXmKPExsVy+t/xe7rfny1IN2jtYLX4ueYls8WNCU8Z HZg8Nq3qZPN4sXkmYwBTlJ5NUX5pSapCRn5xia1StKGFkZ6hpYWekYmlnqGxeayVkamSvp1N SmpOZllqkb5dgl7GhbuHGAteiFV0XTzG0sA4SaSLkZNDQsBEoufURpYuRi4OIYGljBLv955g hkjISGz8cpUVwhaW+HOtiw3EFhL4wCjR+E4Hwn7AKLH0G5jNJqApse/kJvYuRg4OFgEViX3n 60DCwgI2EvPfT2ACsXkFBCVOznzCAlLCDFS+fpc+SJhZQF5i+9s5zBAljhJbN35lhpjuKNHS uwzM5hRwkrh4dzfYGBEBDYl9E3qZIHqdJE5OusoGcaWoxO/Ju8BekRDYzySx8fZaRohEqsT2 K0ugihQlZkxcyQJhJ0kcbZ7HOoFRbBaS82YhnDcLyXkLGJlXMYqklhbnpucWG+kVJ+YWl+al 6yXn525iBEbatmM/t+xgXPnqo94hRiYOxkOMEhzMSiK8p7cvSBfiTUmsrEotyo8vKs1JLT7E aAoMoYnMUqLJ+cBYzyuJNzQzMDU0MbM0MLU0M1YS52W7cj5NSCA9sSQ1OzW1ILUIpo+Jg1Oq gWluMesxFcE563p7W5RPHGPSayu43fahO7J15waPjWtLWGJfXHV/fFqRcUrl4v4y66tKN6y/ snf6O0m/WLKfL/3Ovtj24m1TPi129DQT2ZJullt45neMd80D5p780gxZf/00kbioxT/D7C8x Lnw+uyrOd0LNudcdl0XZV3+Q/eUeb7FFwvR9XMBktz0fLO9ddXx7bKYIZy73gY0vxJTjjOfm PdeSz7Q44jRdoVXy1zX/v0wT3Aq53744Pqf1B9s8wb/3Ax2F0ieH/zjAoWeV5b95JUvKQs/W aZk3eD1NVuruNFIL2rM556Fx/T/r/79VRMyuTJ66f/Vp5/x3HbOmLHxz7aWDp/kaoWevMpMT uJVYijMSDbWYi4oTAfghLLw9AwAA X-CMS-MailID: 20250203155535eucas1p29f3aaba8576a1d55ad4dddb5abc92593 X-Msg-Generator: CA X-RootMTR: 20250203155535eucas1p29f3aaba8576a1d55ad4dddb5abc92593 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20250203155535eucas1p29f3aaba8576a1d55ad4dddb5abc92593 References: <20250203-ansible_cfg3-v1-0-a9e75cd067d7@samsung.com> Set default Callback plugin to Dense for a minimal stdout. Also, enable show_per_host_start to show when a task is started. And enable show_task_path_on_failure to show failed task when failure. Signed-off-by: Daniel Gomez --- kconfigs/Kconfig.ansible_cfg | 6 +++--- playbooks/roles/ansible_cfg/defaults/main.yml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/kconfigs/Kconfig.ansible_cfg b/kconfigs/Kconfig.ansible_cfg index 1b2885189dfb6a11c09a0ef4ddafa6889f4c26f2..607a9fb58f987f407f430a66ab646f7d3205f446 100644 --- a/kconfigs/Kconfig.ansible_cfg +++ b/kconfigs/Kconfig.ansible_cfg @@ -1,7 +1,7 @@ menu "Ansible Callback Plugin Configuration" choice prompt "Ansible Callback Plugin" - default KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_DEBUG + default KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_DENSE config KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_DEBUG bool "Ansible Debug Callback Plugin" @@ -66,7 +66,7 @@ config KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_SHOW_CUSTOM_STATS config KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_SHOW_PER_HOST_START bool "show_per_host_start" output yaml - default n + default y help This adds output that shows when a task is started to execute for each host https://docs.ansible.com/ansible/latest/collections/community/general/dense_callback.html#parameter-show_per_host_start @@ -74,7 +74,7 @@ config KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_SHOW_PER_HOST_START config KDEVOPS_ANSIBLE_CONFIG_CALLBACK_PLUGIN_SHOW_TASK_PATH_ON_FAILURE bool "show_task_path_on_failure" output yaml - default n + default y help When a task fails, display the path to the file containing the failed task and the line number. This information is displayed automatically for every task when diff --git a/playbooks/roles/ansible_cfg/defaults/main.yml b/playbooks/roles/ansible_cfg/defaults/main.yml index 5d766a78760cede43b9e4df88e280b21e3eb8ca0..4c772df1ea2c85334b52ec24393fe34f238d9eaf 100644 --- a/playbooks/roles/ansible_cfg/defaults/main.yml +++ b/playbooks/roles/ansible_cfg/defaults/main.yml @@ -1,9 +1,9 @@ --- -kdevops_ansible_config_callback_plugin_string: debug +kdevops_ansible_config_callback_plugin_string: dense kdevops_ansible_config_callback_plugin_check_mode_markers: False kdevops_ansible_config_callback_plugin_display_failed_stderr: False kdevops_ansible_config_callback_plugin_display_ok_hosts: True kdevops_ansible_config_callback_plugin_display_skipped_hosts: True kdevops_ansible_config_callback_plugin_show_custom_stats: False -kdevops_ansible_config_callback_plugin_show_per_host_start: False -kdevops_ansible_config_callback_plugin_show_task_path_on_failure: False +kdevops_ansible_config_callback_plugin_show_per_host_start: True +kdevops_ansible_config_callback_plugin_show_task_path_on_failure: True