adding taskotron-client role
This commit is contained in:
parent
94902fd02d
commit
2be9e18a1b
5 changed files with 183 additions and 1 deletions
|
@ -1,2 +1,3 @@
|
||||||
---
|
---
|
||||||
lvm_size: 20000
|
lvm_size: 20000
|
||||||
|
slave_user: buildslave
|
||||||
|
|
|
@ -62,5 +62,6 @@
|
||||||
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
|
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
# - { role: taskotron/taskotron-client, tags: ['taskotronclient'] }
|
# - { role: taskotron/buildslave, tags: ['buildslave'] }
|
||||||
|
- { role: taskotron/taskotron-client, tags: ['taskotronclient'] }
|
||||||
|
|
||||||
|
|
66
roles/taskotron/taskotron-client/files/yumrepoinfo.conf
Normal file
66
roles/taskotron/taskotron-client/files/yumrepoinfo.conf
Normal 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
|
||||||
|
|
25
roles/taskotron/taskotron-client/tasks/main.yml
Normal file
25
roles/taskotron/taskotron-client/tasks/main.yml
Normal 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
|
89
roles/taskotron/taskotron-client/templates/taskotron.yaml.j2
Normal file
89
roles/taskotron/taskotron-client/templates/taskotron.yaml.j2
Normal 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}}'
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue