From: Daniel Gomez <da.gomez@kernel.org>
To: Chuck Lever <cel@kernel.org>, kdevops@lists.linux.dev
Cc: Chuck Lever <chuck.lever@oracle.com>
Subject: Re: [PATCH v1 2/2] bootlinux: Fold bootlinux-local into the bootlinux role
Date: Mon, 19 May 2025 15:38:32 +0200 [thread overview]
Message-ID: <1c6ff14a-9e9d-45a1-aa92-8828092254ae@kernel.org> (raw)
In-Reply-To: <ad27463c-d20c-4096-abae-20a42b80c5e9@kernel.org>
On 19/05/2025 15.15, Chuck Lever wrote:
> On 5/19/25 5:32 AM, Daniel Gomez wrote:
>>
>>
>> On 18/05/2025 16.18, cel@kernel.org wrote:
>>> From: Chuck Lever <chuck.lever@oracle.com>
>>>
>>> Rather than running a separate play, adopt the more common mechanism
>>> for running a local action.
>>>
>>> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
>>> ---
>>> playbooks/bootlinux-local.yml | 5 -----
>>> .../roles/bootlinux-local/defaults/main.yml | 3 ---
>>> .../roles/bootlinux-local/tasks/install-deps | 1 -
>>> .../roles/bootlinux-local/tasks/main.yml | 19 ----------------
>>> playbooks/roles/bootlinux/tasks/main.yml | 22 ++++++++++++++++---
>>> workflows/linux/Makefile | 3 ---
>>> 6 files changed, 19 insertions(+), 34 deletions(-)
>>> delete mode 100644 playbooks/bootlinux-local.yml
>>> delete mode 100644 playbooks/roles/bootlinux-local/defaults/main.yml
>>> delete mode 120000 playbooks/roles/bootlinux-local/tasks/install-deps
>>> delete mode 100644 playbooks/roles/bootlinux-local/tasks/main.yml
>>>
>>> diff --git a/playbooks/bootlinux-local.yml b/playbooks/bootlinux-
>>> local.yml
>>> deleted file mode 100644
>>> index e342f0e56fb1..000000000000
>>> --- a/playbooks/bootlinux-local.yml
>>> +++ /dev/null
>>> @@ -1,5 +0,0 @@
>>> ----
>>> -- hosts: localhost
>>> - connection: local
>>> - roles:
>>> - - role: bootlinux-local
>>> diff --git a/playbooks/roles/bootlinux-local/defaults/main.yml b/
>>> playbooks/roles/bootlinux-local/defaults/main.yml
>>> deleted file mode 100644
>>> index d7c41f4c3e90..000000000000
>>> --- a/playbooks/roles/bootlinux-local/defaults/main.yml
>>> +++ /dev/null
>>> @@ -1,3 +0,0 @@
>>> -# SPDX-License-Identifier copyleft-next-0.3.1
>>> ----
>>> -bootlinux_9p: False
>>> diff --git a/playbooks/roles/bootlinux-local/tasks/install-deps b/
>>> playbooks/roles/bootlinux-local/tasks/install-deps
>>> deleted file mode 120000
>>> index 492aaaa0174a..000000000000
>>> --- a/playbooks/roles/bootlinux-local/tasks/install-deps
>>> +++ /dev/null
>>> @@ -1 +0,0 @@
>>> -../../bootlinux/tasks/install-deps/
>>> \ No newline at end of file
>>> diff --git a/playbooks/roles/bootlinux-local/tasks/main.yml b/
>>> playbooks/roles/bootlinux-local/tasks/main.yml
>>> deleted file mode 100644
>>> index 367b3af46ec6..000000000000
>>> --- a/playbooks/roles/bootlinux-local/tasks/main.yml
>>> +++ /dev/null
>>> @@ -1,19 +0,0 @@
>>> ----
>>> -- name: Import optional extra_args file
>>> - include_vars: "{{ item }}"
>>> - ignore_errors: yes
>>> - with_first_found:
>>> - - files:
>>> - - "../extra_vars.yml"
>>> - - "../extra_vars.yaml"
>>> - - "../extra_vars.json"
>>> - skip: true
>>> - tags: vars
>>> -
>>> -- name: Install dependencies to build Linux on host
>>> - tags: [ 'deps' ]
>>> - run_once: true
>>> - local_action: import_tasks install-deps/main.yml
>>> - when:
>>> - - bootlinux_9p|bool
>>> -
>>> diff --git a/playbooks/roles/bootlinux/tasks/main.yml b/playbooks/
>>> roles/bootlinux/tasks/main.yml
>>> index 9ad675b3f278..3741b16aa33c 100644
>>> --- a/playbooks/roles/bootlinux/tasks/main.yml
>>> +++ b/playbooks/roles/bootlinux/tasks/main.yml
>>> @@ -10,11 +10,23 @@
>>> skip: true
>>> tags: vars
>>> -# Distro specific
>>> -- name: Install dependencies
>>> - include_tasks:
>>> +- name: Install dependencies to build and install the Linux kernel
>>> + ansible.builtin.include_tasks:
>>> file: install-deps/main.yml
>>>
>>
>> Same comment as in the other patch. Either we are missing deps tags
>> here, at the Makefile target and at task level (and replace it with the
>> current linux tag) or just remove all of them.
>>
>>> +# Needs root on the controller
>>> +#
>>> +# Someday this should be done only once when installing kdevops
>>> +# on the Ansible control node.
>>> +- name: Install dependencies to build the Linux kernel
>>> + run_once: true
>>> + ansible.builtin.include_tasks:
>>> + file: install-deps/main.yml
>>> + apply:
>>> + delegate_to: localhost
>>> + when:
>>> + - bootlinux_9p|bool
>>> +
>>> # We do this regardless of what distro you use
>>> - name: Install b4
>>> become: yes
>>> @@ -28,6 +40,10 @@
>>> - ansible_facts['os_family']|lower != 'debian'
>>> tags: linux
>>> +# Needs root on the controller
>>> +#
>>> +# Someday this should be done only once when installing kdevops
>>> +# on the Ansible control node.
>>
>> @yawn_brendan shared this idea of running kdevops inside LXC with kvm
>> support. Otherwise, host setup may become a bit complex to do it manually.
>>
>> Thoughts?
>
> Where I'm going with this is to ultimately remove the use of "sudo" for
> all local actions. The biggest user of sudo for that purpose seems to be
> installing dependencies on the controller. That can instead be done when
> kdevops is installed.
>
I agree that would be great. But I'm not sure if that can apply to all
workflows, setups, etc. That said, we should apply where we can.
> But LXC/kvm is outside of my everyday usage, so perhaps I don't
> understand @yawn_brendan's suggestion.
We do more than installing dependencies with sudo. Like managing systemd
services (user or system), configuring system wide stuff at /etc/*, etc.
As an alternative to remove sudo, if we enable users to run kdevops
inside a container with systemd like distrobox then, kdevops users would
not be worried about what sudo does in that environment. At least, while
we work on removing sudo.
next prev parent reply other threads:[~2025-05-19 13:38 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-18 14:18 [PATCH v1 1/2] bootlinux: Modernize install-deps/main.yml cel
2025-05-18 14:18 ` [PATCH v1 2/2] bootlinux: Fold bootlinux-local into the bootlinux role cel
2025-05-19 9:32 ` Daniel Gomez
2025-05-19 13:15 ` Chuck Lever
2025-05-19 13:38 ` Daniel Gomez [this message]
2025-05-19 13:50 ` Chuck Lever
2025-05-19 9:13 ` [PATCH v1 1/2] bootlinux: Modernize install-deps/main.yml Daniel Gomez
2025-05-19 13:11 ` Chuck Lever
2025-05-19 13:51 ` Daniel Gomez
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=1c6ff14a-9e9d-45a1-aa92-8828092254ae@kernel.org \
--to=da.gomez@kernel.org \
--cc=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox