Files
fedora-infra_ansible/roles/taskotron/imagefactory/tasks/main.yml
2017-01-17 20:14:26 +00:00

68 lines
3.1 KiB
YAML

---
- name: ensure packages required for imagefactory are installed (dnf)
dnf: name={{ item }} state=present enablerepo={{ extra_enablerepos }}
with_items:
- imagefactory
- imagefactory-plugins
- imagefactory-plugins-TinMan
- name: copy imagefactory.conf config file
copy: src=imagefactory.conf dest=/etc/imagefactory/imagefactory.conf owner=root group=root mode=0644
- name: copy oz.cfg config file
copy: src=oz.cfg dest=/etc/oz/oz.cfg owner=root group=root mode=0644
- name: hotfix imagefactory's REST api to allow file download
copy: src=hotfix_imgfac_RESTv2.py dest=/usr/lib/python2.7/site-packages/imgfac/rest/RESTv2.py owner=root group=root mode=0644
- name: enable imagefactory
service: name=imagefactoryd state=started enabled=yes
- name: create directory for git clone
file: path=/var/lib/fedoraqa state=directory owner=root group=root mode=1755
- name: Check out our imagefactory tools
git:
repo: https://bitbucket.org/fedoraqa/base_images
dest: '/var/lib/fedoraqa/base_images'
update: yes
version: 'master'
register: git_result
changed_when: "git_result.after|default('after') != git_result.before|default('before')"
- name: create directory for configuration
file: path=/etc/taskotron_base_images state=directory owner=root group=root mode=0755
- name: Generate configuration
template: src=config_server.ini.j2 dest=/etc/taskotron_base_images/config_server.ini owner=root group=root mode=0644
- name: Create cronjob to build new F24 images
cron:
name: "Build new f24 taskotron_cloud images in ImageFactory"
special_time: daily
job: '/var/lib/fedoraqa/base_images/trigger_build/trigger_build.py build --config /etc/taskotron_base_images/config_server.ini --release 24 --arch x86_64 --flavor="taskotron_cloud" --disksize="30G" > /dev/null'
- name: Create cronjob to build new F25 images
cron:
name: "Build new f25 taskotron_cloud images in ImageFactory"
special_time: daily
job: '/var/lib/fedoraqa/base_images/trigger_build/trigger_build.py build --config /etc/taskotron_base_images/config_server.ini --release 25 --arch x86_64 --flavor="taskotron_cloud" --disksize="30G" > /dev/null'
- name: Create cronjob to build new rawhide images
cron:
name: "Build new rawhide taskotron_cloud images in ImageFactory"
special_time: daily
job: '/var/lib/fedoraqa/base_images/trigger_build/trigger_build.py build --config /etc/taskotron_base_images/config_server.ini --release rawhide --arch x86_64 --flavor="taskotron_cloud" --disksize="30G" > /dev/null'
- name: Create cronjob to report failed builds
cron:
name: "Report failed build in ImageFactory"
special_time: daily
job: '/var/lib/fedoraqa/base_images/report_failures/report_failures.py email --config /etc/taskotron_base_images/config_server.ini > /dev/null'
- name: Create cronjob to prune old builds in ImageFactory
cron:
name: "Prune old builds in ImageFactory"
special_time: daily
job: '/var/lib/fedoraqa/base_images/prune_images/prune_images.py imgfac-old --config /etc/taskotron_base_images/config_server.ini --keep 3 > /dev/null'