ansible/roles/koji_builder/tasks/main.yml

253 lines
6.4 KiB
YAML
Raw Normal View History

#
# This is a base koji_builder role.
#
- name: set root passwd
user: name=root password={{ builder_rootpw }} state=present
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: add mock user as 425
2014-01-25 19:14:03 +00:00
user: name=mock uid=425 state=present home=/var/lib/mock createhome=yes system=yes
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: make mock homedir perms
file: state=directory path=/var/lib/mock mode=2775 owner=root group=mock
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: add mock ssh dir
file: state=directory path=/var/lib/mock/.ssh mode=700 owner=mock group=mock
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: add mock ssh keys
copy: src=mock_auth_keys dest=/var/lib/mock/.ssh/authorized_keys mode=640 owner=mock group=mock
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: add kojibuilder
user: name=kojibuilder groups=mock
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: add mockbuilder
user: name=mockbuilder groups=mock
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: mockbuilder .ssh dir
file: state=directory path=/home/mockbuilder/.ssh mode=700 owner=mockbuilder group=mockbuilder
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: mockbuilder ssh key
copy: src=ftbfs_auth_keys dest=/home/mockbuilder/.ssh/authorized_keys mode=644 owner=mockbuilder group=mockbuilder
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: make a bunch of dirs
file: state=directory path={{ item }}
with_items:
- /pub
- /mnt/fedora_koji
- /pub/fedora
- /pub/epel
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
2014-06-04 01:16:20 +00:00
- name: make a bunch of dirs
file: state=directory path={{ item }} owner=apache group=apache
with_items:
- /mnt/koji/packages
- /mnt/koji/repos
- /mnt/koji/work
- /mnt/koji/scratch
when: env == 'staging'
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
2014-06-04 01:16:20 +00:00
- name: add pkgs
yum: state=present pkg={{ item }}
with_items:
- yum-utils
- koji-builder
- strace
- mock
- kernel-firmware
- ntp
- ntpdate
- rsyslog
- audit
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
2014-04-07 18:20:37 +00:00
- name: add oz/imagefctory pkgs on x86 and arm only.
yum: state=present pkg={{ item }}
2014-04-07 18:20:37 +00:00
with_items:
- oz
- imagefactory
- imagefactory-plugins-TinMan
2014-08-20 18:36:46 +00:00
- imagefactory-plugins-Docker
- imagefactory-plugins-vSphere
- imagefactory-plugins-ovfcommon
- imagefactory-plugins
- imagefactory-plugins-OVA
- imagefactory-plugins-EC2
- imagefactory-plugins-RHEVM
- python-psphere
- VMDKstream
- pykickstart
2014-04-07 18:20:37 +00:00
when: ansible_architecture != 'ppc64'
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: /etc/kojid/kojid.conf
copy: src=kojid.conf dest=/etc/kojid/kojid.conf
2014-06-04 01:03:23 +00:00
when: not inventory_hostname.startswith(('arm01','arm03','koji01.stg','buildvm-01.stg'))
notify:
- restart kojid
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: arm /etc/kojid/kojid.conf
copy: src=arm-kojid.conf dest=/etc/kojid/kojid.conf
when: inventory_hostname.startswith(('arm01','arm03'))
notify:
- restart kojid
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
2014-06-04 01:03:23 +00:00
- name: staging /etc/kojid/kojid.conf
copy: src=stg-kojid.conf dest=/etc/kojid/kojid.conf
when: inventory_hostname.startswith(('koji01.stg','buildvm-01.stg'))
notify:
- restart kojid
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
2014-06-04 01:03:23 +00:00
- name: /etc/koji/koji.conf
copy: src=koji.conf dest=/etc/koji.conf
when: not inventory_hostname.startswith(('arm01','arm03'))
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: /etc/koji/koji.conf
copy: src=arm-koji.conf dest=/etc/koji.conf
when: inventory_hostname.startswith(('arm01','arm03'))
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
# setup for oz/imagefactory
- name: make .psphere dir
file: state=directory path=/root/.psphere mode=775 owner=root group=root
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: make .psphere/templates dir
file: state=directory path=/root/.psphere/templates mode=775 owner=root group=root
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: copy over /root/.psphere/config.yaml
copy: src={{ private }}/files/koji/config.yaml dest=/root/.psphere/config.yaml
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
# done oz/imagefactory
- name: copy over koji ca cert
copy: src="{{ private }}/files/koji/buildercerts/fedora-ca.cert" dest=/etc/kojid/cacert.pem
- name: copy over /etc/security/limits.conf
copy: src=limits.conf dest=/etc/security/limits.conf
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: copy over builder cert to /etc/kojid/kojibuilder.pem
copy: src="{{ private }}/files/koji/buildercerts/{{ inventory_hostname }}.pem" dest=/etc/kojid/kojibuilder.pem mode=600
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
# idmapd and make sure it's set to run
- name: idmapd.conf
copy: src=idmapd.conf dest=/etc/idmapd.conf
tags:
- configs
2014-11-11 21:23:00 +00:00
- koji_builder
- name: make a mnt/koji link
file: state=link src=/mnt/fedora_koji/koji dest=/mnt/koji
2014-06-03 19:50:03 +00:00
when: inventory_hostname.startswith('build') and datacenter == 'phx2'
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
# mock configs for pungify job
- name: put extra special mock configs in
copy: src=builders/{{ item }} dest="/etc/mock/{{ item }}" mode=644
with_items:
- fedora-branched-pungi-armhfp.cfg
- fedora-branched-pungi-i386.cfg
- fedora-branched-pungi-x86_64.cfg
- fedora-rawhide-pungi-i386.cfg
- fedora-rawhide-pungi-x86_64.cfg
- fedora-rawhide-pungi-armhfp.cfg
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: mock site-defaults.cfg
copy: src=builders/site-defaults.cfg dest=/etc/mock/site-defaults.cfg mode=0644 owner=root group=mock
when: not inventory_hostname.startswith('bkernel')
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: ntp steptickers
copy: src="{{ files }}/common/step-tickers" dest=/etc/ntp/step-tickers
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: ntp.conf
copy: src="{{ files }}/common/ntp.conf" dest=/etc/ntp.conf
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
#
# We want more loop devices on builders to allow more image creates
#
- name: check for max_loop with grub2
command: cat /etc/grub2.cfg
register: max_loop
always_run: yes
changed_when: '1 != 1'
when: ansible_distribution_major_version != '6' and ansible_architecture == 'x86_64'
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: check for max_loop with grub1
2014-02-06 17:04:04 +00:00
command: cat /etc/grub.conf
register: max_loop
always_run: yes
changed_when: '1 != 1'
when: ansible_distribution == 'RedHat' and ansible_architecture == 'x86_64' and ansible_distribution_major_version == '6'
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
- name: set kernel params for more loops
action: command /sbin/grubby --update-kernel=ALL --args=max_loop=64
2014-02-06 17:18:07 +00:00
when: max_loop is defined and max_loop.stdout.find("max_loop=64") == -1
2014-11-11 21:23:00 +00:00
tags:
- koji_builder
#
# x86_64 builders run pungify, that needs hfs module in order to make
# The efi/mac images. This module is only needed on rhel.
#
- name: special pkgs for the x86_64 builders
yum: state=present pkg={{ item }}
with_items:
- kmod-hfsplus
2014-03-07 17:42:40 +00:00
when: is_rhel is defined and ansible_architecture == 'x86_64'
2014-11-11 21:23:00 +00:00
tags:
- koji_builder