adding taskotron-client role

This commit is contained in:
Tim Flink 2014-07-03 11:37:02 +00:00
parent 94902fd02d
commit 2be9e18a1b
5 changed files with 183 additions and 1 deletions

View file

@ -1,2 +1,3 @@
---
lvm_size: 20000
slave_user: buildslave

View file

@ -62,5 +62,6 @@
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
roles:
# - { role: taskotron/taskotron-client, tags: ['taskotronclient'] }
# - { role: taskotron/buildslave, tags: ['buildslave'] }
- { role: taskotron/taskotron-client, tags: ['taskotronclient'] }

View file

@ -0,0 +1,66 @@
## A Taskotron configuration file representing available YUM repositories inside
## Fedora infrastructure.
## This file is in a ConfigParser syntax, very similar to INI syntax known from
## Windows.
[DEFAULT]
# URLs to yum repos
# Please note: 'download.fedoraproject.org' is a redirect that points you to a
# random mirror every time. For faster and more reliable operation, pick a close
# mirror from http://mirrors.fedoraproject.org and use it in 'baseurl'.
baseurl = http://download.fedoraproject.org/pub/fedora/linux
goldurl = %(baseurl)s/releases/%(path)s/Everything/%(arch)s/os
updatesurl = %(baseurl)s/updates/%(path)s/%(arch)s
rawhideurl = %(baseurl)s/%(path)s/%(arch)s/os
# list of supported architectures
arches = i386, x86_64
# a direct parent of this repo, essential for operations (dependencies)
parent =
# koji tag defaults to section name
tag = %(__name__)s
# true for "top" repos corresponding to currently supported Fedora releases
supported = no
# Rawhide
[rawhide]
path = development/rawhide
url = %(rawhideurl)s
tag = f21
# Fedora 20
[f20]
url = %(goldurl)s
path = 20
supported = yes
[f20-updates]
url = %(updatesurl)s
path = 20
parent = f20
[f20-updates-testing]
url = %(updatesurl)s
path = testing/20
parent = f20-updates
# Fedora 19
[f19]
url = %(goldurl)s
path = 19
supported = yes
[f19-updates]
url = %(updatesurl)s
path = 19
parent = f19
[f19-updates-testing]
url = %(updatesurl)s
path = testing/19
parent = f19-updates

View file

@ -0,0 +1,25 @@
- name: ensure packages required for libtaskotron are installed
action: yum name={{ item }} state=latest
with_items:
- PyYAML
- libtaskotron
- name: ensure packages required for taskotron tasks are installed
action: yum name={{ item }} state=latest
with_items:
- python-solv
- python-librepo
- rpmlint
- name: generate taskotron.yaml config file
template: src=taskotron.yaml.j2 dest=/etc/taskotron/taskotron.yaml owner=root group=root mode=0644
- name: upload yumrepoinfo config
copy: src=yumrepoinfo.conf dest=/etc/taskotron/yumrepoinfo.conf owner=root group=root mode=0644
# disabled for now until interaction with hosts role is figured out
#- name: update /etc/hosts so that koji downloads work
# template: src=hosts.j2 dest=/etc/hosts owner=root group=root mode=0644
- name: create /var/log/taskotron for task logfiles
file: path=/var/log/taskotron state=directory owner={{ slave_user }} group={{ slave_user }} mode=1755

View file

@ -0,0 +1,89 @@
## Main configuration file for Taskotron
## The file is in YAML syntax, read more about it at:
## http://en.wikipedia.org/wiki/Yaml
## FIXME: add a link to Taskotron docs
## ==== GENERAL section ====
## There are two major config profiles in Taskotron - development and
## production.
## /Development/ profile is used for developing libtaskotron, developing checks
## based on libtaskotron and local execution of these checks.
## /Production/ profile is used for deploying Taskotron as a service on a
## server, periodically executing the checks and reporting results to relevant
## result consumers.
## *The default profile is /development/*. If you want to switch to the
## /production/ profile, uncomment the following line.
## You can also switch a profile temporarily by using TASKOTRON_PROFILE=name
## environment variable, it has a higher priority. All other options set in this
## file still apply of course.
## [choices: production, development; default: development]
profile: production
## ==== REPORTING section ====
## This section controls which result reports you want to send after the test
## execution is complete
## Overall setting whether to send any reports at all. If this is False, no
## reports will be sent anywhere, regardless of your configuration for
## individual recipient systems.
## [default: True for production, False for development]
reporting_enabled: True
## If True, test results (for selected tests) will be sent as comments to
## Fedora Update System (Bodhi). This requires that you have Bodhi
## credentials filled in secrets.conf.
#report_to_bodhi: True
## Whether to send test results to the configured ResultsDB server.
report_to_resultsdb: True
## ==== RESOURCES section ====
## This section specifies access details to various external services
## URL of Koji instance used for querying about new builds
#koji_url: http://koji.fedoraproject.org/kojihub
koji_url: {{ kojihub_url }}
## URL of repository of all the RPM packages built in Koji
#pkg_url: http://kojipkgs.fedoraproject.org/packages
## URL of Bodhi instance used for communication about package updates
bodhi_server: {{ bodhi_server }}
## URL of ResultsDB server API interface, which can store all test results
resultsdb_server: {{ resultsdb_server }}
## URL of taskotron buildmaster
taskotron_master: {{ taskotron_master }}
## name of step in buildbot that executes the task
buildbot_task_step: 'runtask'
## ==== BODHI EMAIL section ====
## These configuration options affect how Taskotron decideds to send emails
## through Bodhi in specific situations.
## How long (in minutes) should we wait before allowing consequent test to
## re-post a 'FAILED' comment into Bodhi once again.
## By default 3 days (3*24*60 = 4320).
#bodhi_email_failed_span: 4320
## ==== PATHS section ====
## Location of various pieces of the project.
## The main log file location for Taskotron
#logfile: /var/log/taskotron/taskotron.log
## ==== SECRETS section ====
## All login credentials and other secrets are here. If you add some secret
## here, make sure you make this file readable just for the right user accounts.
## FAS (Fedora Accounts System) credentials
## These credentials are used when reporting results into Bodhi.
fas_username: '{{ taskotron_fas_user }}'
fas_password: '{{ taskotron_fas_password}}'