public inbox for kdevops@lists.linux.dev
 help / color / mirror / Atom feed
From: Luis Chamberlain <mcgrof@kernel.org>
To: Chuck Lever <cel@kernel.org>, Daniel Gomez <da.gomez@kruces.com>,
	kdevops@lists.linux.dev
Cc: Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 0/2] declared hosts support
Date: Fri, 29 Aug 2025 03:31:00 -0700	[thread overview]
Message-ID: <20250829103102.1270204-1-mcgrof@kernel.org> (raw)

It should be easy for us to add bare metal support because well, the
biggest pain is bring up. If bringup and ssh is already configured,
then all we have to do is just skip a bunch of things. So the question
to ask, is how do we generate the hosts file? The easiest interface
I could think of is to allow you to specify it at make menuconfig time
or defconfig time with a DECLARE_HOSTS= specifier with either a space
or comma separated lists of hosts.

I tested this with a new workflow I am testing, minio WARP testing, but I
also tested this simply with a random host I can ssh to with just:

  make defconfig-xfs_reflink_4k DECLARE_HOSTS=foo ; make AV=2
  make uname

And that works. For my other workflow I am testing I got full test
restults and mkfs'd a drive. And so each workflow needs a bit of love
for further DECLARE_HOSTS support. Things like the data partition, and
so on. I suspect we can just specify some of these in the command line
as CLI variables.

But this goes with just basic raw support. Maybe we only enable
workflows for KDEVOPS_USE_DECLARED_HOSTS if we declare the workflow
as supporting it (maybe select SUPPORTS_DECLARED_HOSTS)?

Luis Chamberlain (2):
  gen_hosts: refactor monolithic hosts.j2 template into per-workflow
    templates
  declared_hosts: add support for pre-existing infrastructure

 Makefile                                      |   7 +
 kconfigs/Kconfig.bringup                      |   7 +
 kconfigs/Kconfig.declared_hosts               |  65 +++++
 playbooks/roles/devconfig/tasks/main.yml      |  60 ++++
 playbooks/roles/gen_hosts/tasks/main.yml      |  40 ++-
 playbooks/roles/gen_hosts/templates/hosts.j2  | 264 +++---------------
 .../roles/gen_hosts/templates/workflows/ai.j2 |  99 +++++++
 .../gen_hosts/templates/workflows/blktests.j2 |  58 ++++
 .../gen_hosts/templates/workflows/cxl.j2      |   7 +
 .../templates/workflows/declared-hosts.j2     | 219 +++++++++++++++
 .../gen_hosts/templates/workflows/default.j2  |  62 ++++
 .../templates/workflows/fio-tests.j2          |  38 +++
 .../gen_hosts/templates/workflows/fstests.j2  |  72 +++++
 .../gen_hosts/templates/workflows/gitr.j2     |  41 +++
 .../gen_hosts/templates/workflows/ltp.j2      |  41 +++
 .../gen_hosts/templates/workflows/mmtests.j2  |  77 +++++
 .../gen_hosts/templates/workflows/nfstest.j2  |  41 +++
 .../gen_hosts/templates/workflows/pynfs.j2    |   7 +
 .../templates/workflows/reboot-limit.j2       |  33 +++
 .../templates/workflows/selftests.j2          |  53 ++++
 .../gen_hosts/templates/workflows/sysbench.j2 |  53 ++++
 playbooks/roles/gen_nodes/tasks/main.yml      |   5 +
 workflows/ai/Makefile                         |   3 +-
 workflows/blktests/Makefile                   |   3 +-
 workflows/cxl/Makefile                        |   3 +-
 workflows/fio-tests/Makefile                  |   3 +-
 workflows/fstests/Makefile                    |   3 +-
 workflows/gitr/Makefile                       |   3 +-
 workflows/linux/Makefile                      |   3 +-
 workflows/ltp/Makefile                        |   3 +-
 workflows/mmtests/Makefile                    |   3 +-
 workflows/nfstest/Makefile                    |   3 +-
 workflows/pynfs/Makefile                      |   3 +-
 workflows/selftests/Makefile                  |   3 +-
 workflows/sysbench/Makefile                   |   3 +-
 35 files changed, 1143 insertions(+), 245 deletions(-)
 create mode 100644 kconfigs/Kconfig.declared_hosts
 create mode 100644 playbooks/roles/gen_hosts/templates/workflows/ai.j2
 create mode 100644 playbooks/roles/gen_hosts/templates/workflows/blktests.j2
 create mode 100644 playbooks/roles/gen_hosts/templates/workflows/cxl.j2
 create mode 100644 playbooks/roles/gen_hosts/templates/workflows/declared-hosts.j2
 create mode 100644 playbooks/roles/gen_hosts/templates/workflows/default.j2
 create mode 100644 playbooks/roles/gen_hosts/templates/workflows/fio-tests.j2
 create mode 100644 playbooks/roles/gen_hosts/templates/workflows/fstests.j2
 create mode 100644 playbooks/roles/gen_hosts/templates/workflows/gitr.j2
 create mode 100644 playbooks/roles/gen_hosts/templates/workflows/ltp.j2
 create mode 100644 playbooks/roles/gen_hosts/templates/workflows/mmtests.j2
 create mode 100644 playbooks/roles/gen_hosts/templates/workflows/nfstest.j2
 create mode 100644 playbooks/roles/gen_hosts/templates/workflows/pynfs.j2
 create mode 100644 playbooks/roles/gen_hosts/templates/workflows/reboot-limit.j2
 create mode 100644 playbooks/roles/gen_hosts/templates/workflows/selftests.j2
 create mode 100644 playbooks/roles/gen_hosts/templates/workflows/sysbench.j2

-- 
2.50.1


             reply	other threads:[~2025-08-29 10:31 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-29 10:31 Luis Chamberlain [this message]
2025-08-29 10:31 ` [PATCH 1/2] gen_hosts: refactor monolithic hosts.j2 template into per-workflow templates Luis Chamberlain
2025-08-29 10:36   ` Luis Chamberlain
2025-08-29 10:31 ` [PATCH 2/2] declared_hosts: add support for pre-existing infrastructure Luis Chamberlain
  -- strict thread matches above, loose matches on Subject: below --
2025-08-29 10:56 [PATCH 0/2] declared hosts support Luis Chamberlain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250829103102.1270204-1-mcgrof@kernel.org \
    --to=mcgrof@kernel.org \
    --cc=cel@kernel.org \
    --cc=da.gomez@kruces.com \
    --cc=kdevops@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox