Replace awk with ansible regex_search on build-test-packages

Some jobs[1] are not working with current awk command to get
a substring from rdopkg output. This patch replaces with ansible
regex_search instead.

[1] https://logserver.rdoproject.org/46/46046/26/check/periodic-tripleo-ci-build-containers-ubi-9-quay-push-wallaby/1cc4376/job-output.txt

Change-Id: I5efc6adf0c8039f6a618b3ae1e1e8184304465d1
This commit is contained in:
Douglas Viroel 2023-05-17 15:29:26 -03:00
parent a21d6b35ab
commit 3425856d80
2 changed files with 19 additions and 16 deletions

View File

@ -68,7 +68,7 @@
- block:
- name: Map project name to DLRN project name
register: project_name_mapped
register: project_name_mapped_output
shell:
chdir: '{{ build_repo_dir }}/DLRN'
cmd: |
@ -80,26 +80,29 @@
-i {{ rdoinfo_repo_name }}/{{ rdoinfo_repo_name.split('info')[0] }}-full.yml | \
awk '/^name/{print $2}; {print "findpkg: " $0 > "/dev/stderr"}'
changed_when: false
failed_when: project_name_mapped.rc != 0 or not project_name_mapped.stdout
failed_when: project_name_mapped_output.rc != 0 or not project_name_mapped_output.stdout
- set_fact:
project_name_mapped: "{{ project_name_mapped_output.stdout | regex_search('name:(.+)', '\\1') | first | trim }}"
rescue:
- debug:
msg: |
WARNING: Got {{ project_name_mapped.rc }} result code trying to build {{ artg_change.project }}
WARNING: Got {{ project_name_mapped_output.rc }} result code trying to build {{ artg_change.project }}
--- STDERR ---
{{ project_name_mapped.stderr }}
{{ project_name_mapped_output.stderr }}
--- STDOUT ---
{{ project_name_mapped.stdout }}
{{ project_name_mapped_output.stdout }}
- when: project_name_mapped is success
- when: project_name_mapped is defined
block:
- name: Append project name to package list
set_fact:
artg_rdo_packages: '{{ artg_rdo_packages }} + {{ [ project_name_mapped.stdout ] }}'
artg_rdo_packages: '{{ artg_rdo_packages }} + {{ [ project_name_mapped ] }}'
- name: Check if project {{ project_name_mapped.stdout }} source already exist
- name: Check if project {{ project_name_mapped }} source already exist
stat:
path: '{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped.stdout }}/.git'
path: '{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped }}/.git'
register: repo_status
- name: Create data directory if doesn't exist yet
@ -110,7 +113,7 @@
- name: Copy from ready directories if configured
command: >
cp -raf {{ artg_repos_dir | dirname }}/{{ artg_change.project }}
{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped.stdout }}
{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped }}
ignore_errors: true
register: copy_dir
when: artg_repos_dir is defined
@ -118,7 +121,7 @@
- name: Clone the gated change
git:
repo: '{{ artg_change.host }}/{{ artg_change.project }}'
dest: '{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped.stdout }}'
dest: '{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped }}'
refspec: '{{ artg_change.refspec }}'
version: 'FETCH_HEAD'
when:
@ -128,7 +131,7 @@
- name: Cleanup and checkout the relevant branch
vars:
git_path: '{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped.stdout }}'
git_path: '{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped }}'
git_branch: '{{ artg_change.branch }}'
shell: |
set -eu
@ -140,13 +143,13 @@
- name: Ensure distgit repo is absent, DLRN takes care of cloning based on config
file:
path: "{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped.stdout }}_distro"
path: "{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped }}_distro"
state: absent
- name: Clone the distgit change
git:
repo: '{{ artg_change.distgit.host }}/{{ artg_change.distgit.project }}'
dest: '{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped.stdout }}_distro'
dest: '{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped }}_distro'
refspec: '{{ artg_change.distgit.refspec }}'
version: 'FETCH_HEAD'
accept_hostkey: true
@ -162,7 +165,7 @@
- name: Print info about building
debug:
msg: "Building change for {{ project_name_mapped.stdout|default('unknown') }}"
msg: "Building change for {{ project_name_mapped|default('unknown') }}"
- name: Run DLRN
shell: >

View File

@ -3,7 +3,7 @@ set +e
cd {{ build_repo_dir }}/DLRN
source {{ build_repo_dir }}/dlrn-venv/bin/activate;
{% if artg_build_one|bool %}
export PKG={{ project_name_mapped.stdout }}
export PKG={{ project_name_mapped }}
{% else %}
export PKG="{{ artg_rdo_packages|join(' --package-name ') }}"
{% endif %}