public inbox for kdevops@lists.linux.dev
 help / color / mirror / Atom feed
From: Scott Mayhew <smayhew@redhat.com>
To: cel@kernel.org
Cc: kdevops@lists.linux.dev, Chuck Lever <chuck.lever@oracle.com>
Subject: Re: [PATCH] pynfs: Enable codeready-builder in AWS
Date: Sat, 19 Oct 2024 06:38:50 -0400	[thread overview]
Message-ID: <ZxOMOhPR4aEcFGZG@aion> (raw)
In-Reply-To: <20241018214454.1882565-1-cel@kernel.org>

[-- Attachment #1: Type: text/plain, Size: 4875 bytes --]

On Fri, 18 Oct 2024, cel@kernel.org wrote:

> From: Chuck Lever <chuck.lever@oracle.com>
> 
> Running "make pynfs" against an AWS EC2 instance fails with:
> 
>   Error: No matching repo to modify: codeready-builder-for-rhel-9-x86_64-rpms.
> 
> Adjust the logic in
> playbooks/roles/pynfs/tasks/install-deps/redhat/main.yml to try
> to sketch in what we might need for running the pynfs in the
> cloud.
> 
> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
> ---
>  .../pynfs/tasks/install-deps/redhat/main.yml  | 51 ++++++++++++++-----
>  1 file changed, 38 insertions(+), 13 deletions(-)
> 
> diff --git a/playbooks/roles/pynfs/tasks/install-deps/redhat/main.yml b/playbooks/roles/pynfs/tasks/install-deps/redhat/main.yml
> index f4aee14c5430..5f377eed436f 100644
> --- a/playbooks/roles/pynfs/tasks/install-deps/redhat/main.yml
> +++ b/playbooks/roles/pynfs/tasks/install-deps/redhat/main.yml
> @@ -1,24 +1,49 @@
>  ---
> -- name: Enable the CodeReady repo
> -  become: yes
> -  command: /usr/bin/dnf config-manager --enable codeready-builder-for-rhel-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}-rpms
> +# name: Display all variables
> +# debug:
> +#   var=vars
> +
> +- name: Select the CodeReady repo to enable
> +  ansible.builtin.set_fact:
> +     nfsd_codeready_repo: "codeready-builder-for-rhel-{{ ansible_distribution_major_version }}-rhui-rpms"
>    when:
> -    - ansible_distribution == 'RedHat'
> +    - kdevops_enable_terraform
> +    - kdevops_terraform_provider == "aws"
> +    - ansible_distribution == "RedHat"

When I tested your patch I got:

---8<---
TASK [pynfs : Select the CodeReady repo to enable] *******************************************************************************************************************************************************************************************
fatal: [kdevops-pynfs-rhel-9-kotd-nfsd]: FAILED! => {}

MSG:

The conditional check 'kdevops_enable_terraform' failed. The error was: error while evaluating conditional (kdevops_enable_terraform): 'kdevops_enable_terraform' is undefined. 'kdevops_enable_terraform' is undefined

The error appears to be in '/home/buildbot/git/kdevops-pynfs-rhel-9-kotd/playbooks/roles/pynfs/tasks/install-deps/redhat/main.yml': line 6, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


- name: Select the CodeReady repo to enable
  ^ here
---8<---

So I added "kdevops_enable_terraform: False" to playbooks/roles/pynfs/defaults/main.yml.

> +
> +- name: Select the CodeReady repo to enable
> +  ansible.builtin.set_fact:
> +     nfsd_codeready_repo: "codeready-builder-for-rhel-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}-rpms"
> +  when:
> +    - not kdevops_enable_terraform
> +    - ansible_distribution == "RedHat"
> +    - not devconfig_custom_yum_repofile
> +
> +- name: Select the CodeReady repo to enable
> +  ansible.builtin.set_fact:
> +     nfsd_codeready_repo: "crb"
> +  when:
> +    - not kdevops_enable_terraform
> +    - ansible_distribution == "CentOS"
>      - not devconfig_custom_yum_repofile
>  
>  - name: Enable the CodeReady repo
> -  become: yes
> -  command: /usr/bin/dnf config-manager --enable crb
> -  when:
> -    - ansible_distribution == 'CentOS'
> -    - not devconfig_custom_yum_repofile
> +  become: true
> +  become_method: ansible.builtin.sudo
> +  ansible.builtin.command:
> +    argv:
> +      - "/usr/bin/dnf"
> +      - "config-manager"
> +      - "--enable"
> +      - "{{ nfsd_codeready_repo }}"

And then here (I thought I sent an email about this last night but I
can't find it in my sent folder):

---8<---
TASK [pynfs : Enable the CodeReady repo] *****************************************************************************************************************************************************************************************************
fatal: [kdevops-pynfs-rhel-9-kotd-nfsd]: FAILED! => {}

MSG:

The task includes an option with an undefined variable. The error was: 'nfsd_codeready_repo' is undefined. 'nfsd_codeready_repo' is undefined

The error appears to be in '/home/buildbot/git/kdevops-pynfs-rhel-9-kotd/playbooks/roles/pynfs/tasks/install-deps/redhat/main.yml': line 30, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


- name: Enable the CodeReady repo
  ^ here
---8<---

This task needs when clause:

  when:
    - not devconfig_custom_yum_repofile

-Scott
>  
>  - name: Install build dependencies for pynfs
> -  become: yes
> -  become_method: sudo
> -  yum:
> -    update_cache: yes
> +  become: true
> +  become_method: ansible.builtin.sudo
> +  ansible.builtin.yum:
> +    update_cache: true
>      name: "{{ packages }}"
> +    state: present
>    retries: 3
>    delay: 5
>    register: result
> -- 
> 2.46.1
> 
> 

[-- Attachment #2: fixup.patch --]
[-- Type: text/plain, Size: 888 bytes --]

diff --git a/playbooks/roles/pynfs/defaults/main.yml b/playbooks/roles/pynfs/defaults/main.yml
index de09583..67ecd84 100644
--- a/playbooks/roles/pynfs/defaults/main.yml
+++ b/playbooks/roles/pynfs/defaults/main.yml
@@ -5,5 +5,6 @@
 # We default to not run tests.
 kdevops_run_pynfs: False
 pynfs_pnfs_block: False
+kdevops_enable_terraform: False
 
 pynfs_data: "{{ data_path }}/pynfs"
diff --git a/playbooks/roles/pynfs/tasks/install-deps/redhat/main.yml b/playbooks/roles/pynfs/tasks/install-deps/redhat/main.yml
index 5f377ee..0211072 100644
--- a/playbooks/roles/pynfs/tasks/install-deps/redhat/main.yml
+++ b/playbooks/roles/pynfs/tasks/install-deps/redhat/main.yml
@@ -36,6 +36,8 @@
       - "config-manager"
       - "--enable"
       - "{{ nfsd_codeready_repo }}"
+  when:
+    - not devconfig_custom_yum_repofile
 
 - name: Install build dependencies for pynfs
   become: true

  parent reply	other threads:[~2024-10-19 10:38 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-18 21:44 [PATCH] pynfs: Enable codeready-builder in AWS cel
2024-10-18 22:14 ` Scott Mayhew
2024-10-19 10:38 ` Scott Mayhew [this message]
2024-10-19 18:47   ` Chuck Lever III
2024-10-19 19:17     ` Chuck Lever III
2024-11-10 16:50       ` Chuck Lever III

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=ZxOMOhPR4aEcFGZG@aion \
    --to=smayhew@redhat.com \
    --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