public inbox for kdevops@lists.linux.dev
 help / color / mirror / Atom feed
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.


  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