---
- name: put rhel repos on rhel systems
  copy: src="{{ files }}/common/rhel{{ ansible_distribution_major_version }}.repo" dest="/etc/yum.repos.d/rhel{{ ansible_distribution_major_version }}.repo"
  when: ansible_distribution == 'RedHat' and not inventory_hostname.startswith('ppc9')
  tags:
  - config
  - packages
  - yumrepos

- name: put rhel repos on rhel systems (power9)
  copy: src="{{ files }}/common/rhel{{ ansible_distribution_major_version }}-power9.repo" dest="/etc/yum.repos.d/rhel{{ ansible_distribution_major_version }}.repo"
  when: ansible_distribution == 'RedHat' and inventory_hostname.startswith('ppc9')
  tags:
  - config
  - packages
  - yumrepos

- name: put rhel rhev for power repos on rhel power systems
  copy: src="{{ files }}/common/rhel7-power-rhev.repo" dest="/etc/yum.repos.d/rhel7-power-rhev.repo"
  when: ansible_distribution == 'RedHat' and ansible_distribution_major_version == 7 and ansible_architecture =='ppc64le' and not inventory_hostname.startswith('ppc9')
  tags:
  - config
  - packages
  - yumrepos

- name: put openshift 3.4 repo on os- systems
  copy: src="{{ files }}/openshift/openshift.repo" dest="/etc/yum.repos.d/openshift.repo"
  when: ansible_distribution == 'RedHat' and ansible_distribution_major_version == 7 and inventory_hostname.startswith('os-')
  tags:
  - config
  - packages
  - yumrepos

- name: put epel repos on el systems
  copy: src="{{ files }}/common/epel{{ ansible_distribution_major_version }}.repo" dest="/etc/yum.repos.d/epel{{ ansible_distribution_major_version }}.repo"
  when: ((ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS') and use_default_epel)
  tags:
  - config
  - packages
  - yumrepos

- name: put fedora repos on primary architecture systems
  template: src="{{ files }}/common/{{ item }}" dest="/etc/yum.repos.d/{{ item }}"
  with_items:
  - fedora.repo
  - fedora-updates.repo
  - fedora-updates-testing.repo
  when: ansible_distribution == 'Fedora' and (ansible_architecture == 'aarch64' or ansible_architecture == 'x86_64' or ansible_architecture == 'i386' or ansible_architecture == 'armv7l') and not inventory_hostname.startswith('arm03') and not inventory_hostname.startswith('wiki01.stg')
  tags:
  - config
  - packages
  - yumrepos

- name: put fedora modular repos on primary architecture systems
  template: src="{{ files }}/common/{{ item }}" dest="/etc/yum.repos.d/{{ item }}"
  with_items:
  - fedora-modular.repo
  - fedora-updates-modular.repo
  - fedora-updates-testing-modular.repo
  when: ansible_distribution == 'Fedora' and ansible_distribution_major_version >= 29 and (ansible_architecture == 'aarch64' or ansible_architecture == 'x86_64' or ansible_architecture == 'i386' or ansible_architecture == 'armv7l') and not inventory_hostname.startswith('arm03') and not inventory_hostname.startswith('wiki01.stg')
  tags:
  - config
  - packages
  - yumrepos

- name: put fedora repos on secondary architecture systems
  template: src="{{ files }}/common/{{ item }}-secondary" dest="/etc/yum.repos.d/{{ item }}"
  with_items:
  - fedora.repo
  - fedora-updates.repo
  - fedora-updates-testing.repo
  when: ansible_distribution == 'Fedora' and (ansible_architecture == 'ppc64' or ansible_architecture == 'ppc64le' or ansible_architecture == 's390x')
  tags:
  - config
  - packages
  - yumrepos

- name: put fedora repos on secondary architecture systems
  template: src="{{ files }}/common/{{ item }}-secondary" dest="/etc/yum.repos.d/{{ item }}"
  with_items:
  - fedora-modular.repo
  - fedora-updates-modular.repo
  - fedora-updates-testing-modular.repo
  when: ansible_distribution == 'Fedora' and ansible_distribution_major_version >= 29 and (ansible_architecture == 'ppc64le' or ansible_architecture == 's390x')
  tags:
  - config
  - packages
  - yumrepos

- name: add aarch64 server rpms repo
  copy: src="{{ files }}/common/rhel-7-aarch64-server-rpms.repo" dest="/etc/yum.repos.d/rhel-7-aarch64-server-rpms.repo"
  when: (ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS') and inventory_hostname.startswith('aarch64-c') and ansible_distribution_major_version == 7
  tags:
  - config
  - packages
  - yumrepos

- name: add aarch64 server rpms repo
  copy: src="{{ files }}/common/rhel-8-aarch64-server-rpms.repo" dest="/etc/yum.repos.d/rhel-8-aarch64-server-rpms.repo"
  when: (ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS') and inventory_hostname.startswith('aarch64-c') and ansible_distribution_major_version == 8
  tags:
  - config
  - packages
  - yumrepos

- name: add infrastructure tags repo - RHEL
  copy: src="{{ files }}/common/rhel-infra-tags.repo" dest="/etc/yum.repos.d/infra-tags.repo"
  when: (ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS')
  tags:
  - config
  - packages
  - yumrepos

- name: add infrastructure STAGING tags repo - RHEL
  copy: src="{{ files }}/common/rhel-infra-tags-stg.repo" dest="/etc/yum.repos.d/infra-tags-stg.repo"
  when: (ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS') and env in ['staging', 'pagure-staging']
  tags:
  - config
  - packages
  - yumrepos

- name: add infrastructure tags repo - Fedora
  copy: src="{{ files }}/common/fedora-infra-tags.repo" dest="/etc/yum.repos.d/infra-tags.repo"
  when: ansible_distribution == 'Fedora' and inventory_hostname not in groups['maintainer-test']
  tags:
  - config
  - packages
  - yumrepos

- name: add infrastructure STAGING tags repo - Fedora
  copy: src="{{ files }}/common/fedora-infra-tags-stg.repo" dest="/etc/yum.repos.d/infra-tags-stg.repo"
  when: ansible_distribution == 'Fedora' and env in ['staging', 'pagure-staging']
  tags:
  - config
  - packages
  - yumrepos

- name: Make sure older infrastructure tags repos no longer exist
  file: path="/etc/yum.repos.d/{{item}}" state=absent
  with_items:
  - fedora-infra-tags.repo
  - fedora-infra-tags-stg.repo
  - rhel-infra-tags.repo
  - rhel-infra-tags-stg.repo
  - infrastructure.repo
  - infrastructure-testing.repo
  tags:
  - config
  - packages
  - yumrepos
