From b40d3dfe6571111086948c1917aba668e320c00e Mon Sep 17 00:00:00 2001 From: Fabien Boucher Date: Jan 27 2021 09:49:36 +0000 Subject: repo-install-rpm: also force installation of packages from dependents repos artifact --- diff --git a/roles/repo-install-rpm/tasks/install_repo_packages.yaml b/roles/repo-install-rpm/tasks/install_repo_packages.yaml new file mode 100644 index 0000000..81bd34a --- /dev/null +++ b/roles/repo-install-rpm/tasks/install_repo_packages.yaml @@ -0,0 +1,33 @@ +--- +- set_fact: + repo_path: "/repos/{{ repo_name }}" + +- debug: + msg: "Called with repo_name: {{ repo_name }} and repo_path: {{ repo_path }}" + +- name: Create {{ repo_path }} directory + file: + path: "{{ repo_path }}" + state: directory + become: yes + +- name: Get changes generated packages on {{ repo_name }} + shell: dnf -q --repo {{ repo_name }} repoquery --location | egrep -v ".src.rpm$" + register: repoquery + +- name: Download packages locally + get_url: + url: "{{ item }}" + dest: "{{ repo_path }}" + become: true + loop: "{{ repoquery.stdout_lines }}" + +- name: Install changes generated packages + shell: dnf install -y {{ repo_path }}/*.rpm + failed_when: false + become: true + +# If the same NVR was already installed then we need to force reinstall +- name: Force reinstall generated packages + shell: dnf reinstall -y {{ repo_path }}/*.rpm + become: true diff --git a/roles/repo-install-rpm/tasks/main.yaml b/roles/repo-install-rpm/tasks/main.yaml index 6a37886..7c71b97 100644 --- a/roles/repo-install-rpm/tasks/main.yaml +++ b/roles/repo-install-rpm/tasks/main.yaml @@ -6,32 +6,19 @@ state: latest become: yes -- name: Create /built directory - file: - path: "/built" - state: directory - become: yes - -- name: Get changes generated packages - shell: dnf -q --repo zuul-built repoquery --location | egrep -v ".src.rpm$" - register: repoquery - -- name: Download packages locally - get_url: - url: "{{ item }}" - dest: "/built" - become: true - loop: "{{ repoquery.stdout_lines }}" - -- name: Install changes generated packages - shell: dnf install -y /built/*.rpm - failed_when: false - become: true +- name: Install artifacts from dependent repository + include_tasks: install_repo_packages.yaml + vars: + - repo_name: "{{ item.project | regex_replace('/', '_') }}-{{ item.change }}-{{ item.patchset }}" + loop: "{{ zuul.artifacts|default([]) }}" + when: + - item.name == 'repo' + - item.change != zuul.change -# If the same NVR was already installed then we need to force reinstall -- name: Force reinstall generated packages - shell: dnf reinstall -y /built/*.rpm - become: true +- name: Install artifacts from zuul-built + include_tasks: install_repo_packages.yaml + vars: + - repo_name: zuul-built - name: Display installed packages from the command line shell: dnf list --installed | grep "@commandline"