---
### Set up local facts from system repositories
- name: Create facts directory for repository custom facts
file:
state: directory
recurse: yes
path: /etc/ansible/facts.d
- name: Install base repository facts
copy:
remote_src: yes
src: "/etc/yum.repos.d/{{ base_repo_from_runner.file }}"
dest: "/etc/ansible/facts.d/{{ base_repo_from_runner.file}}.fact"
when: base_repo_command is not defined and base_repo_from_runner is defined
- name: Install additional repositories facts
copy:
remote_src: yes
src: "/etc/yum.repos.d/{{ item.file }}"
dest: "/etc/ansible/facts.d/{{ item.file}}.fact"
with_items: "{{ repos_from_runner }}"
when: repo_commands is not defined and repos_from_runner is defined
- name: Setup repository facts
setup:
filter: ansible_local
### Base repository
- name: Set base installation repository from system base metalink repository
set_fact:
base_repo_command: "url --metalink={{ ansible_local[base_repo_from_runner.file][base_repo_from_runner.repo]['metalink'] }}"
when: ansible_local[base_repo_from_runner.file][base_repo_from_runner.repo]['metalink'] is defined
- name: Set base installation repository from system base mirrorlist repository
set_fact:
base_repo_command: "url --mirrorlist={{ ansible_local[base_repo_from_runner.file][base_repo_from_runner.repo]['mirrorlist'] }}"
when: ansible_local[base_repo_from_runner.file][base_repo_from_runner.repo]['mirrorlist'] is defined
- name: Set base installation repository from system base url repository
set_fact:
base_repo_command: "url --url={{ ansible_local[base_repo_from_runner.file][base_repo_from_runner.repo]['baseurl'] }}"
when: ansible_local[base_repo_from_runner.file][base_repo_from_runner.repo]['baseurl'] is defined
### Additional repositories
- name: Look for system metalink repositories
set_fact:
repos_metalink: "{{ repos_metalink | default([]) + [ 'repo --name=' + item.repo + ' --metalink=' + ansible_local[item.file][item.repo]['metalink'] ] }}"
#ignore_errors: true
with_items: "{{ repos_from_runner }}"
when: repo_commands is not defined and ansible_local[item.file][item.repo]['metalink'] is defined
- name: Look for system mirrorlist repositories
set_fact:
repos_mirrorlist: "{{ repos_mirrorlist | default([]) + [ 'repo --name=' + item.repo + ' --mirrorlist=' + ansible_local[item.file][item.repo]['mirrorlist'] ] }}"
#ignore_errors: true
with_items: "{{ repos_from_runner }}"
when: repo_commands is not defined and ansible_local[item.file][item.repo]['mirrorlist'] is defined
- name: Look for system baseurl repositories
set_fact:
repos_baseurl: "{{ repos_baseurl | default([]) + [ 'repo --name=' + item.repo + ' --baseurl=' + ansible_local[item.file][item.repo]['baseurl'] ] }}"
#ignore_errors: true
with_items: "{{ repos_from_runner }}"
when: repo_commands is not defined and ansible_local[item.file][item.repo]['baseurl'] is defined
- name: Set additional metalink installation repositories from system
set_fact:
repo_commands: "{{ repo_commands | default([]) + [ item ] }}"
with_items: "{{ repos_metalink }}"
when: repos_metalink is defined
- name: Set additional mirrorlist installation repositories from system
set_fact:
repo_commands: "{{ repo_commands | default([]) + [ item ] }}"
with_items: "{{ repos_mirrorlist }}"
when: repos_mirrorlist is defined
- name: Set additional baseurl installation repositories from system
set_fact:
repo_commands: "{{ repo_commands | default([]) + [ item ] }}"
with_items: "{{ repos_baseurl }}"
when: repos_baseurl is defined