summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/setup_rpm_repo/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/setup_rpm_repo/tasks/main.yml')
-rw-r--r--test/integration/targets/setup_rpm_repo/tasks/main.yml100
1 files changed, 100 insertions, 0 deletions
diff --git a/test/integration/targets/setup_rpm_repo/tasks/main.yml b/test/integration/targets/setup_rpm_repo/tasks/main.yml
new file mode 100644
index 0000000..be20078
--- /dev/null
+++ b/test/integration/targets/setup_rpm_repo/tasks/main.yml
@@ -0,0 +1,100 @@
+- block:
+ - name: Install epel repo which is missing on rhel-7 and is needed for rpmfluff
+ include_role:
+ name: setup_epel
+ when:
+ - ansible_distribution in ['RedHat', 'CentOS']
+ - ansible_distribution_major_version is version('7', '==')
+
+ - name: Include distribution specific variables
+ include_vars: "{{ lookup('first_found', params) }}"
+ vars:
+ params:
+ files:
+ - "{{ ansible_facts.distribution }}-{{ ansible_facts.distribution_version }}.yml"
+ - "{{ ansible_facts.os_family }}-{{ ansible_facts.distribution_major_version }}.yml"
+ - "{{ ansible_facts.distribution }}.yml"
+ - "{{ ansible_facts.os_family }}.yml"
+ - default.yml
+ paths:
+ - "{{ role_path }}/vars"
+
+ - name: Install rpmfluff and deps
+ action: "{{ ansible_facts.pkg_mgr }}"
+ args:
+ name: "{{ rpm_repo_packages }}"
+
+ - name: Install rpmfluff via pip
+ pip:
+ name: rpmfluff
+ when: ansible_facts.os_family == 'RedHat' and ansible_distribution_major_version is version('9', '==')
+
+ - set_fact:
+ repos:
+ - "fake-{{ ansible_architecture }}"
+ - "fake-i686"
+ - "fake-ppc64"
+ changed_when: yes
+ notify: remove repos
+
+ - name: Create RPMs and put them into a repo
+ create_repo:
+ arch: "{{ ansible_architecture }}"
+ tempdir: "{{ remote_tmp_dir }}"
+ register: repo
+
+ - set_fact:
+ repodir: "{{ repo.repo_dir }}"
+
+ - name: Install the repo
+ yum_repository:
+ name: "fake-{{ ansible_architecture }}"
+ description: "fake-{{ ansible_architecture }}"
+ baseurl: "file://{{ repodir }}"
+ gpgcheck: no
+ when: install_repos | bool
+
+ - name: Copy comps.xml file
+ copy:
+ src: comps.xml
+ dest: "{{ repodir }}"
+ register: repodir_comps
+
+ - name: Register comps.xml on repo
+ command: createrepo -g {{ repodir_comps.dest | quote }} {{ repodir | quote }}
+
+ - name: Create RPMs and put them into a repo (i686)
+ create_repo:
+ arch: i686
+ tempdir: "{{ remote_tmp_dir }}"
+ register: repo_i686
+
+ - set_fact:
+ repodir_i686: "{{ repo_i686.repo_dir }}"
+
+ - name: Install the repo (i686)
+ yum_repository:
+ name: "fake-i686"
+ description: "fake-i686"
+ baseurl: "file://{{ repodir_i686 }}"
+ gpgcheck: no
+ when: install_repos | bool
+
+ - name: Create RPMs and put them into a repo (ppc64)
+ create_repo:
+ arch: ppc64
+ tempdir: "{{ remote_tmp_dir }}"
+ register: repo_ppc64
+
+ - set_fact:
+ repodir_ppc64: "{{ repo_ppc64.repo_dir }}"
+
+ - name: Install the repo (ppc64)
+ yum_repository:
+ name: "fake-ppc64"
+ description: "fake-ppc64"
+ baseurl: "file://{{ repodir_ppc64 }}"
+ gpgcheck: no
+ when: install_repos | bool
+
+ when: ansible_distribution in ['RedHat', 'CentOS', 'ScientificLinux', 'Fedora']