From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 C4E35320F for ; Thu, 17 Apr 2025 17:21:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744910482; cv=none; b=IBAou4cZU1e69CcmRffvQKjt07xHs2rl9GwNr7p8WR4EpMpjhYdyezvmemjVIS9DFpEXjGRKjoLRD5ukKX3gZX+dDDk0iMJ/CG8qTi6J5Ndzz+eHkHnhlMsZWz4rWlIcRV7JI09sadAeeGQHOYwIP2B2iH5CwdTbCxiwf+fJJsE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744910482; c=relaxed/simple; bh=xMMe2cruSscK96N1di5W3D7YVyq0EmdhvF2OUsoFm5U=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=RyUNnt4ZaLcyp67oj4ZU8NGB+n+yyafQ02adTceuowtOyVnQwrnqS2Bi/Lz+U9tSqRhcw4dGS12uJFPnM8K9DC+FyYOB11PMI0xLRezUdo4m3hJpyG5EuwmpzNYwnQZpC4/siXEIPZVIXM61xbWBJwM/iBK7J+12NER91iguEXw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rxfj5gdH; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rxfj5gdH" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C9AE8C4CEEA; Thu, 17 Apr 2025 17:21:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744910482; bh=xMMe2cruSscK96N1di5W3D7YVyq0EmdhvF2OUsoFm5U=; h=From:To:Cc:Subject:Date:From; b=rxfj5gdHv8AYdE2H9b+ihyGfKK/qESg7dI8IZ5P/dGQeDTaOxR6XwExc508P1pFEY Cfkna6yAOCJlEmE8WV82ElhwGq8+SVVqfdNzwzBJ3AfO9kC/5WiZyUzv7NYOa8wWbu E+US6a3Z2H5GTGYtDyeJiVOeAnSGingFll3LDOK/drqfqm4PCMXgZjmLwfhO0rgE9x 5L1ahzT0/0kp2GlHqHoTpTc8grgZevDHN/bJjL+2ZvteNvq2NumOlHrTAFnbLmqIx9 c0h7XkGaxeF8O5IALB3H3z1k9FcNka6U29hk8EqLYKONTlqOhUr3rfxC5UBcg2QcWJ KKv2CNkKe8bMQ== From: cel@kernel.org To: Cc: Chuck Lever , Luis Chamberlain Subject: [PATCH 1/2] ansible: Increase default task parallelism Date: Thu, 17 Apr 2025 13:21:18 -0400 Message-ID: <20250417172119.3190398-1-cel@kernel.org> X-Mailer: git-send-email 2.49.0 Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Chuck Lever Workflows with more than 5 target nodes were serializing on roles that did not have "-f 30" specified explicitly. Reviewed-by: Luis Chamberlain Signed-off-by: Chuck Lever --- kconfigs/Kconfig.ansible_cfg | 35 +++++++++++++++++++ playbooks/roles/ansible_cfg/defaults/main.yml | 1 + .../ansible_cfg/templates/ansible.cfg.j2 | 1 + 3 files changed, 37 insertions(+) diff --git a/kconfigs/Kconfig.ansible_cfg b/kconfigs/Kconfig.ansible_cfg index 3d9b635abb72..b587596bc8d5 100644 --- a/kconfigs/Kconfig.ansible_cfg +++ b/kconfigs/Kconfig.ansible_cfg @@ -6,6 +6,10 @@ config ANSIBLE_CFG_INTERPRETER_PYTHON_SET_BY_CLI bool default $(shell, scripts/check-cli-set-var.sh ANSIBLE_CFG_INTERPRETER_PYTHON) +config ANSIBLE_CFG_FORKS_SET_BY_CLI + bool + default $(shell, scripts/check-cli-set-var.sh ANSIBLE_CFG_FORKS) + menu "Ansible Callback Plugin Configuration" choice prompt "Ansible Callback Plugin" @@ -172,6 +176,37 @@ config ANSIBLE_CFG_INTERPRETER_PYTHON_STRING endmenu +config ANSIBLE_CFG_FORKS_CUSTOM + bool "Enable a custom Ansible forks setting" + default n + help + When this setting is enabled, specify the maximum number + of concurrent Ansible tasks (forks) via Kconfig. When this + setting is disabled, kdevops chooses a default value that + can be overridden with "ANSIBLE_CFG_FORKS=NN" on the + "make" command line. + +if ANSIBLE_CFG_FORKS_CUSTOM + +config ANSIBLE_CFG_FORKS + int "forks" + output yaml + help + Set the maximum number of concurrent Ansible tasks (forks). + https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_strategies.html#setting-the-number-of-forks + +endif # ANSIBLE_CFG_FORKS_CUSTOM + +if !ANSIBLE_CFG_FORKS_CUSTOM + +config ANSIBLE_CFG_FORKS + int + output yaml + default 10 if !ANSIBLE_CFG_FORKS_SET_BY_CLI + default $(shell, ./scripts/append-makefile-vars-int.sh $(ANSIBLE_CFG_FORKS)) if ANSIBLE_CFG_FORKS_SET_BY_CLI + +endif # !ANSIBLE_CFG_FORKS_CUSTOM + if DISTRO_OPENSUSE config ANSIBLE_CFG_RECONNECTION_RETRIES diff --git a/playbooks/roles/ansible_cfg/defaults/main.yml b/playbooks/roles/ansible_cfg/defaults/main.yml index f8ec327a5a16..e01de2f4481d 100644 --- a/playbooks/roles/ansible_cfg/defaults/main.yml +++ b/playbooks/roles/ansible_cfg/defaults/main.yml @@ -9,3 +9,4 @@ ansible_cfg_callback_plugin_show_custom_stats: false ansible_cfg_callback_plugin_show_per_host_start: true ansible_cfg_callback_plugin_show_task_path_on_failure: true ansible_cfg_interpreter_python: "auto_silent" +ansible_cfg_forks: 10 diff --git a/playbooks/roles/ansible_cfg/templates/ansible.cfg.j2 b/playbooks/roles/ansible_cfg/templates/ansible.cfg.j2 index 666ee344901d..2bc916321f42 100644 --- a/playbooks/roles/ansible_cfg/templates/ansible.cfg.j2 +++ b/playbooks/roles/ansible_cfg/templates/ansible.cfg.j2 @@ -9,6 +9,7 @@ show_custom_stats = {{ ansible_cfg_callback_plugin_show_custom_stats }} show_per_host_start = {{ ansible_cfg_callback_plugin_show_per_host_start }} show_task_path_on_failure = {{ ansible_cfg_callback_plugin_show_task_path_on_failure }} interpreter_python = {{ ansible_cfg_interpreter_python_string }} +forks = {{ ansible_cfg_forks }} {% if ansible_facts['distribution'] == 'openSUSE' %} [connection] retries = {{ ansible_cfg_reconnection_retries }} -- 2.49.0