public inbox for kdevops@lists.linux.dev
 help / color / mirror / Atom feed
From: Jeff Layton <jlayton@kernel.org>
To: Scott Mayhew <smayhew@redhat.com>, kdevops@lists.linux.dev
Subject: Re: [PATCH v2 00/10] add initial support for testing nfs with krb5
Date: Mon, 11 Mar 2024 08:57:58 -0400	[thread overview]
Message-ID: <b9aea1c94cea4d5b960fcbfaec221f7f0e331ad7.camel@kernel.org> (raw)
In-Reply-To: <20240309233603.1306533-1-smayhew@redhat.com>

On Sat, 2024-03-09 at 18:35 -0500, Scott Mayhew wrote:
> These patches add support for running fstests on NFS with krb5.  There
> are numerous other fixes and cleanups, but the bulk of the work is in
> patch 10.
> 
> There are a handful of new Kconfig options (KDEVOPS_SETUP_KRB5,
> KRB5_REALM, KRB5_ADMIN_PW, and FSTESTS_NFS_AUTH_FLAVOR) as well as some
> new Makefile targets ("kdc" and "krb5", both of which get executed
> automatically).  During "make bringup", a KDC is spun up automatically,
> and all the necessary package dependencies are installed, keys are
> generated, and the keytabs are updated on the NFS client and server VMs.
> 
> Right now you can only use krb5 with the fstests workflow, but it should
> be straightforward to add it to the other NFS-related workflows.
> 
> -Scott
> 
> Changes since v1:
> 
> - Added a pipefs-directory config in nfs.conf to fix a debian issue.
> - Moved update_etc_hosts target to run as an early bringup dependency.
> - Cleaned up the top level Makefile and bringup.Makefile by moving some
>   directives into lower level makefiles for nfsd, ktls, siw, and krb5.
> - Added a kdevops_nfsd_enable variable and use that instead of checking
>   if nfsd_threads is defined in several places.
> - Cleaned up the hosts file by making sure "nfsd" and "nfsd:vars"
>   stanzas do not get created if nfsd isn't enabled.
> - Cleaned up the hosts file by making sure "krb5", "krb5:vars", "kdc",
>   and "kdc:vars" stanzas do not get created if krb5 isn't enabled.
> - Cleaned up Kconfig.bringup.goals by moving some directives into lower
>   level kconfigs for nfsd and krb5.
> - Added a kdevops_krb5_enable variable and use that instead of checking
>   if krb5_realm is defined in several places.
> - Folded the kdc.Makefile into the krb5.Makefile (there's no reason for
>   them to have two separate makefiles).
> - Added some default vars settings for the KDC.
> - Got rid of some unnecessary tasks in the krb5 role that check to see
>   if a principal existed before creating it, and also before adding it
>   to the keytab (in reality these checks were just triggering errors that
>   needed to be ignored).
> - Forced the restart rpc.gssd task in the krb5 role to only run on the
>   nfsd server (because rpc.gssd isn't installed on the clients yet at
>   the point when the krb5 role is executed).
> - Made the krb5 target to run automatically as a late bringup dependency.
> 
> Scott Mayhew (10):
>   nfsd: make sure the appropriate fsprogs package is installed
>   update_etc_hosts: fix up hostnames on debian guestfs hosts
>   nfsd: use EXTRA_VAR_INPUTS for export options
>   devconfig: set /etc/hostname earlier
>   nfsd: add a pipefs-directory config to nfs.conf
>   bringup: move the update_etc_hosts task to run early
>   bringup: clean up the nfs-related make targets
>   gen_hosts/gen_nodes: clean up nfsd-related stuff
>   kconfigs: clean up Kconfig.bringup.goals
>   fstests/nfs: add krb5 support
> 
>  Makefile                                      |  10 +-
>  kconfigs/Kconfig.bringup.goals                |  13 +-
>  kconfigs/Kconfig.krb5                         |  25 ++++
>  kconfigs/Kconfig.nfsd                         |  16 +++
>  playbooks/kdc.yml                             |   4 +
>  playbooks/krb5.yml                            |   4 +
>  playbooks/roles/devconfig/tasks/main.yml      |  21 ++--
>  .../fstests/tasks/install-deps/suse/main.yml  |  10 ++
>  playbooks/roles/fstests/tasks/main.yml        |  41 ++++++
>  .../roles/fstests/templates/nfs/nfsmount.conf |   2 +
>  playbooks/roles/gen_hosts/defaults/main.yml   |   3 +
>  .../roles/gen_hosts/templates/fstests.j2      |  19 ++-
>  playbooks/roles/gen_hosts/templates/gitr.j2   |   4 +-
>  playbooks/roles/gen_hosts/templates/hosts.j2  |   6 +-
>  playbooks/roles/gen_nodes/defaults/main.yml   |   2 +
>  playbooks/roles/gen_nodes/tasks/main.yml      |  25 +++-
>  .../kdc/tasks/install-deps/debian/main.yml    |  11 ++
>  .../roles/kdc/tasks/install-deps/main.yml     |  12 ++
>  .../kdc/tasks/install-deps/redhat/main.yml    |  16 +++
>  .../kdc/tasks/install-deps/suse/main.yml      |  10 ++
>  playbooks/roles/kdc/tasks/main.yml            | 119 ++++++++++++++++++
>  playbooks/roles/kdc/templates/kadm5.acl.j2    |   1 +
>  playbooks/roles/kdc/templates/kdc.conf.j2     |  15 +++
>  playbooks/roles/kdc/templates/krb5.conf.j2    |  29 +++++
>  playbooks/roles/kdc/vars/Debian.yml           |   7 ++
>  playbooks/roles/kdc/vars/RedHat.yml           |   7 ++
>  playbooks/roles/kdc/vars/Suse.yml             |   7 ++
>  playbooks/roles/kdc/vars/default.yml          |   7 ++
>  playbooks/roles/kdc/vars/main.yml             |   1 +
>  .../krb5/tasks/install-deps/debian/main.yml   |   9 ++
>  .../roles/krb5/tasks/install-deps/main.yml    |  12 ++
>  .../krb5/tasks/install-deps/redhat/main.yml   |  15 +++
>  .../krb5/tasks/install-deps/suse/main.yml     |  16 +++
>  playbooks/roles/krb5/tasks/main.yml           |  52 ++++++++
>  playbooks/roles/krb5/templates/krb5.conf.j2   |  31 +++++
>  .../nfsd/tasks/install-deps/debian/main.yml   |  33 ++++-
>  .../nfsd/tasks/install-deps/redhat/main.yml   |  31 +++--
>  .../nfsd/tasks/install-deps/suse/main.yml     |  32 ++++-
>  playbooks/roles/nfsd/templates/nfs.conf.j2    |   3 +
>  playbooks/roles/nfsd/vars/Debian.yml          |  13 ++
>  playbooks/roles/nfsd/vars/RedHat.yml          |  14 +++
>  playbooks/roles/nfsd/vars/Suse.yml            |  12 ++
>  .../roles/update_etc_hosts/tasks/main.yml     |  26 +++-
>  playbooks/update_etc_hosts.yml                |   1 +
>  scripts/bringup.Makefile                      |  19 +--
>  scripts/krb5.Makefile                         |  22 ++++
>  scripts/ktls.Makefile                         |   7 ++
>  scripts/nfsd.Makefile                         |  17 ++-
>  scripts/siw.Makefile                          |   6 +
>  scripts/update_etc_hosts.Makefile             |   7 ++
>  workflows/fstests/nfs/Kconfig                 |  29 +++++
>  workflows/fstests/nfs/Makefile                |   4 +
>  52 files changed, 778 insertions(+), 80 deletions(-)
>  create mode 100644 kconfigs/Kconfig.krb5
>  create mode 100644 playbooks/kdc.yml
>  create mode 100644 playbooks/krb5.yml
>  create mode 100644 playbooks/roles/fstests/templates/nfs/nfsmount.conf
>  create mode 100644 playbooks/roles/kdc/tasks/install-deps/debian/main.yml
>  create mode 100644 playbooks/roles/kdc/tasks/install-deps/main.yml
>  create mode 100644 playbooks/roles/kdc/tasks/install-deps/redhat/main.yml
>  create mode 100644 playbooks/roles/kdc/tasks/install-deps/suse/main.yml
>  create mode 100644 playbooks/roles/kdc/tasks/main.yml
>  create mode 100644 playbooks/roles/kdc/templates/kadm5.acl.j2
>  create mode 100644 playbooks/roles/kdc/templates/kdc.conf.j2
>  create mode 100644 playbooks/roles/kdc/templates/krb5.conf.j2
>  create mode 100644 playbooks/roles/kdc/vars/Debian.yml
>  create mode 100644 playbooks/roles/kdc/vars/RedHat.yml
>  create mode 100644 playbooks/roles/kdc/vars/Suse.yml
>  create mode 100644 playbooks/roles/kdc/vars/default.yml
>  create mode 100644 playbooks/roles/kdc/vars/main.yml
>  create mode 100644 playbooks/roles/krb5/tasks/install-deps/debian/main.yml
>  create mode 100644 playbooks/roles/krb5/tasks/install-deps/main.yml
>  create mode 100644 playbooks/roles/krb5/tasks/install-deps/redhat/main.yml
>  create mode 100644 playbooks/roles/krb5/tasks/install-deps/suse/main.yml
>  create mode 100644 playbooks/roles/krb5/tasks/main.yml
>  create mode 100644 playbooks/roles/krb5/templates/krb5.conf.j2
>  create mode 100644 playbooks/roles/nfsd/vars/Debian.yml
>  create mode 100644 playbooks/roles/nfsd/vars/RedHat.yml
>  create mode 100644 playbooks/roles/nfsd/vars/Suse.yml
>  create mode 100644 scripts/krb5.Makefile
>  create mode 100644 scripts/update_etc_hosts.Makefile
> 

This all looks good to me.

Reviewed-by: Jeff Layton <jlayton@kernel.org>

  parent reply	other threads:[~2024-03-11 12:58 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-09 23:35 [PATCH v2 00/10] add initial support for testing nfs with krb5 Scott Mayhew
2024-03-09 23:35 ` [PATCH v2 01/10] nfsd: make sure the appropriate fsprogs package is installed Scott Mayhew
2024-03-09 23:35 ` [PATCH v2 02/10] update_etc_hosts: fix up hostnames on debian guestfs hosts Scott Mayhew
2024-03-09 23:35 ` [PATCH v2 03/10] nfsd: use EXTRA_VAR_INPUTS for export options Scott Mayhew
2024-03-09 23:35 ` [PATCH v2 04/10] devconfig: set /etc/hostname earlier Scott Mayhew
2024-03-09 23:35 ` [PATCH v2 05/10] nfsd: add a pipefs-directory config to nfs.conf Scott Mayhew
2024-03-09 23:35 ` [PATCH v2 06/10] bringup: move the update_etc_hosts task to run early Scott Mayhew
2024-03-09 23:36 ` [PATCH v2 07/10] bringup: clean up the nfs-related make targets Scott Mayhew
2024-03-09 23:36 ` [PATCH v2 08/10] gen_hosts/gen_nodes: clean up nfsd-related stuff Scott Mayhew
2024-03-09 23:36 ` [PATCH v2 09/10] kconfigs: clean up Kconfig.bringup.goals Scott Mayhew
2024-03-09 23:36 ` [PATCH v2 10/10] fstests/nfs: add krb5 support Scott Mayhew
2024-03-11 12:57 ` Jeff Layton [this message]
2024-03-11 22:05 ` [PATCH v2 00/10] add initial support for testing nfs with krb5 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=b9aea1c94cea4d5b960fcbfaec221f7f0e331ad7.camel@kernel.org \
    --to=jlayton@kernel.org \
    --cc=kdevops@lists.linux.dev \
    --cc=smayhew@redhat.com \
    /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