ansible/roles/copr/base/tasks/main.yml

139 lines
3.7 KiB
YAML

---
# tasklist for setting up copr
# This is the base set of files needed for copr
# again to late to do it here
# - import_tasks: "{{ tasks_path }}/cloud_setup_basic.yml"
# already included into the `base` role
#- import_tasks: "{{ tasks_path }}/postfix_basic.yml"
# To late to do it here (
#- name: setup correct hostname for copr machine
# hostname: name="{{ copr_hostbase }}.cloud.fedoraproject.org"
# # hostname: name="{{ hostbase|regex_replace('.*-$', '')}}.cloud.fedoraproject.org"
# tags:
# - config
- name: enable epel for non-fedora hosts
package: state=present pkg="epel-release"
when: ansible_distribution != 'Fedora'
- name: copy .forward file
copy: src="{{ _forward_src }}" dest="/root/.forward" owner=root group=root
tags:
- config
- name: deploy /etc/hosts file
copy: src="hosts" dest=/etc/ owner=root group=root mode=644
tags:
- config
# https://bugzilla.redhat.com/show_bug.cgi?id=1941170
- name: mask the systemd-oomd service
systemd:
name: systemd-oomd
state: stopped
enabled: no
masked: yes
when: ansible_distribution == 'Fedora'
- name: configure crond
copy: src=sysconfig.crond dest=/etc/sysconfig/crond
notify: restart crond
- name: install base copr packages
package:
name:
- acl # useful for ansible acl module
- bash-completion
- cronie-anacron
- ethtool
- node-exporter
- screen
- tmux
state: present
tags:
packages
- name: install rsyslog-logrotate
package: name=rsyslog-logrotate state=present
when: ansible_distribution == 'Fedora'
- name: configure anacrond to not send mails to root user
lineinfile: dest=/etc/anacrontab
backup=yes
state=present
line='MAILTO=copr-team@redhat.com'
regexp="^MAILTO"
notify: restart crond
- name: override the default rsyslog logrotate file
copy: src=syslog-logrotate dest=/etc/logrotate.d/rsyslog
tags:
- logrotate
when: ansible_distribution == 'Fedora'
- name: install copr-selinux
package:
state: latest
name: copr-selinux
tags:
- packages
- name: start node exporter
service: state=started enabled=yes name=node_exporter
when:
- "'pulp' not in inventory_hostname"
- name: check offloading
shell: "ethtool -k ens5 | egrep -q 'tcp-segmentation-offload: on|generic-receive-offload: on|generic-segmentation-offload: on'"
register: offloading
failed_when: offloading.rc == 2
changed_when: "1 != 1"
check_mode: no
- name: disable offloading
command: ethtool -K ens5 tso off gro off gso off
when:
- offloading.rc == 0
- ansible_distribution == 'Fedora'
- name: disable offloading (persitently)
shell: "nmcli con modify '{{ aws_ipv6_con }}' ethtool.feature-tso off ethtool.feature-gro off ethtool.feature-gso off"
when:
- offloading.rc == 0
- ansible_distribution == 'Fedora'
tags:
- config
- name: check we have the needed ipv6
shell: "nmcli con show '{{ aws_ipv6_con }}' | grep ipv6.addresses | grep {{ aws_ipv6_addr }}"
register: ipv6_config_check
failed_when: false
changed_when: ipv6_config_check.rc == 1
when:
- aws_ipv6_addr is defined
tags: ipv6_config
- name: setup ipv6 networking
shell: |
nmcli con modify '{{ aws_ipv6_con }}' ipv6.method auto ipv6.may-fail yes ipv6.never-default no ipv6.addresses '{{ aws_ipv6_addr }}'
nmcli con up '{{ aws_ipv6_con }}'
when:
- aws_ipv6_addr is defined
- ipv6_config_check.changed
tags: ipv6_config
- name: install nrpe checks
template: src=copr_nrpe.cfg
dest=/etc/nrpe.d/copr_nrpe.cfg
notify:
- restart nrpe
tags:
- nagios_client
- copr_cdn
- copr_ping
# - name: enable and run logrotate service
# service: name="logrotate" state=started