All of lore.kernel.org
 help / color / mirror / Atom feed
From: cel@kernel.org
To: <kdevops@lists.linux.dev>
Cc: Chuck Lever <chuck.lever@oracle.com>
Subject: [PATCH v2 07/12] update_ssh_config: make Include directive follow ssh config directory
Date: Wed,  5 Feb 2025 10:52:47 -0500	[thread overview]
Message-ID: <20250205155252.1317763-8-cel@kernel.org> (raw)
In-Reply-To: <20250205155252.1317763-1-cel@kernel.org>

From: Chuck Lever <chuck.lever@oracle.com>

The file containing the kdevops target node entries needs to be
placed in the same directory as the controller's .ssh/config.
Usually that's ~/.ssh/config, but there is a Kconfig setting that
can change that.

XXX: Actually, to make this work 100% correctly, "make mrproper"
should remove the ssh Include directive. That way a user can modify
the ssh config via "make menuconfig", then do a "make" to get the
updated include path added into her .ssh/config.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
 .../roles/update_ssh_config/tasks/main.yml     | 18 +++---------------
 1 file changed, 3 insertions(+), 15 deletions(-)

diff --git a/playbooks/roles/update_ssh_config/tasks/main.yml b/playbooks/roles/update_ssh_config/tasks/main.yml
index 417781936f7f..72c5f2e365f5 100644
--- a/playbooks/roles/update_ssh_config/tasks/main.yml
+++ b/playbooks/roles/update_ssh_config/tasks/main.yml
@@ -5,18 +5,7 @@
     path: "{{ sshconfig }}"
   register: ssh_config
 
-- name: Check that the kdevops Include directive is present
-  tags: deps
-  ansible.builtin.lineinfile:
-    path: "{{ sshconfig }}"
-    regexp: "Include ~/.ssh/config_kdevops_*"
-    state: absent
-  check_mode: true
-  changed_when: false
-  register: kdevops_ssh_include
-  when: ssh_config.stat.exists
-
-- name: Check that the Include directive has a kdevops_version comment
+- name: Check for a kdevops_version comment
   tags: deps
   ansible.builtin.lineinfile:
     path: "{{ sshconfig }}"
@@ -34,10 +23,9 @@
   ansible.builtin.meta: end_play
   when:
     - ssh_config.stat.exists
-    - kdevops_ssh_include.found
     - fixed_ssh_entry.found
 
-- name: Remove the stale Include directive
+- name: Remove any stale Include directives
   tags: deps
   ansible.builtin.lineinfile:
     path: "{{ sshconfig }}"
@@ -73,4 +61,4 @@
     create: true
     mode: "u=rw,g=r,o=r"
     block: |
-      Include ~/.ssh/config_kdevops_*
+      Include {{ sshdir }}/config_kdevops_*
-- 
2.48.1


  parent reply	other threads:[~2025-02-05 15:52 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-05 15:52 [PATCH v2 00/12] Replace terraform update_ssh_config module cel
2025-02-05 15:52 ` [PATCH v2 01/12] guestfs: Rename the update_ssh_config_guestfs role cel
2025-02-05 15:52 ` [PATCH v2 02/12] update_ssh_config: Use {{ sshconfig }} instead of raw path cel
2025-02-05 15:52 ` [PATCH v2 03/12] update_ssh_config: Fix ansible-lint nits cel
2025-02-05 15:52 ` [PATCH v2 04/12] update_ssh_config: Run update_ssh_config during "make deps" cel
2025-02-05 15:52 ` [PATCH v2 05/12] update_ssh_config: Add tags to steps cel
2025-02-05 15:52 ` [PATCH v2 06/12] ssh.Makefile: Generate an sshdir variable cel
2025-02-05 15:52 ` cel [this message]
2025-02-06 19:58   ` [PATCH v2 07/12] update_ssh_config: make Include directive follow ssh config directory Chuck Lever
2025-02-05 15:52 ` [PATCH v2 08/12] ssh.Makefile: Define a kdevops_ssh_config variable cel
2025-02-05 17:42   ` Luis Chamberlain
2025-02-06  2:36     ` Chuck Lever
2025-02-05 15:52 ` [PATCH v2 09/12] update_ssh_config: Add always-run ssh clean-up steps cel
2025-02-05 15:52 ` [PATCH v2 10/12] terraform: Add ssh hosts to ~/.ssh/config_kdevops_{{ sha1sum }} cel
2025-02-05 15:52 ` [PATCH v2 11/12] terraform: "make mrproper" should remove terraform/*/.terraform cel
2025-02-05 15:52 ` [PATCH v2 12/12] terraform: Remove the terrraform update_ssh_config module cel
2025-02-05 17:44 ` [PATCH v2 00/12] Replace terraform " 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=20250205155252.1317763-8-cel@kernel.org \
    --to=cel@kernel.org \
    --cc=chuck.lever@oracle.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.