taskotron-dev: enable disposable clients

This commit is contained in:
Martin Krizek 2015-11-11 14:41:56 +00:00
parent 2b098b34bd
commit 0b6c32241e
7 changed files with 147 additions and 31 deletions

View file

@ -2,3 +2,62 @@
nrpe_procs_warn: 900
nrpe_procs_crit: 1000
############################################################
# general config
############################################################
deployment_type: dev
tcp_ports: [ "{{ buildslave_port }}" ]
sudoers: "{{ private }}/files/sudo/qavirt-sudoers"
freezes: false
# this enables extra repos during dnf install but that's broken right now, remember to re-enable
# extra_enablerepos: 'infrastructure-testing'
extra_enablerepos: ''
############################################################
# buildslave config
############################################################
slaves_group: buildslaves
buildmaster: 10.5.124.181
buildslave_port: 9989
taskotron_admin_email: taskotron-admin-members@fedoraproject.org
############################################################
# taskotron config
############################################################
taskotron_fas_user: taskotron
# stuff is kinda not working for stg bodhi right now. workaround by having empty fas password
#taskotron_fas_password: '{{ dev_taskotron_fas_password}}'
taskotron_fas_password: ''
execdb_external_url: https://taskotron-dev.fedoraproject.org/execdb
resultsdb_server: http://resultsdb-dev01.qa.fedoraproject.org/resultsdb_api/api/v1.0
bodhi_server: https://bodhi.fedoraproject.org/
kojihub_url: http://koji.fedoraproject.org/kojihub
taskotron_master: https://taskotron-dev.fedoraproject.org/taskmaster
resultsdb_external_url: https://taskotron-dev.fedoraproject.org/resultsdb
artifacts_base_url: https://taskotron-dev.fedoraproject.org/artifacts
client_report_to_bodhi: 'False'
############################################################
# testcloud config
############################################################
buildslave_pubkey: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4EOTNfPIvIjCLNRYauVquS2LA8CZvCi6f87TASDZv4moFTv3mrCIdA3ycYLg+r+ODdPDjF9Cjpw1os/8L07XegTt9gAJVIpxzu3ZgQDkSQbx/hlDi+RG4EOIHL8nNJmu27dOVd1tb3k3aOkP5twO4uEq9RygrQBWMZTmOHdS/q8ZVUQG0d1sKv2J8EuBENgICjjIhhYvdvluu3G65jKxMgDbSXjkK6vZpbDbS2d6JI3VeLbVGlyFbHkTu7vH/vzTJZfOYgp0ZbvW9Wo3VSq/ia5qtrLKwRcBkpyCkP6uOQ14zqj4zJd/Hv7qhEcUhC8Jsb7d/Z6b3q5ID0s/9nuHdQ== tflink@lockbox01.phx2.fedoraproject.org"
############################################################
# task git mirror config
############################################################
buildslave_private_sshkey_file: dev-buildslave-sshkey/dev_buildslave
buildslave_public_sshkey_file: dev-buildslave-sshkey/dev_buildslave.pub
buildmaster_pubkey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0DR5IwJZ4Fdwj8xe0h36jRKAL2KtCtIJbjwG+hQrnoRDC+l4WtTm4yiE8/HJPSD+022ciRCgcwweoycc9Q/vXqOnUE1ZNnWFQaYU/7HvVblFxtUjF11y+K3h/yXHGCKseAYeaFvaQVBG7UUn0PE57JiPgh/PXWlkEZQUiyvYESM8FRD+Kg1eZZ6hdAY2j3azbxZbsevYIbKJBpAhhn5mfLllDju/7ODUJLkJoyMRNHBRQg+f14FWX9RLko0SjHOI0ZifOo1a5vt1aU+ZCnSKuOjt0AY+mLOz8f5V3rG4erKvjk+WuU4Aw/39xKSmJRXKU6vbjJh/UPwHpo3CQggKF"

View file

@ -4,3 +4,11 @@ fas_client_groups: sysadmin-qa,sysadmin-main
sudoers: "{{ private }}/files/sudo/qavirt-sudoers"
nrpe_procs_warn: 900
nrpe_procs_crit: 1000
fas_client_groups: sysadmin-qa,sysadmin-main
short_hostname: qa11.qa
slaves:
- { user: "{{ short_hostname }}-1", home: "/home/{{ short_hostname }}-1", dir: "/home/{{ short_hostname }}-1/slave" }
- { user: "{{ short_hostname }}-2", home: "/home/{{ short_hostname }}-2", dir: "/home/{{ short_hostname }}-2/slave" }
- { user: "{{ short_hostname }}-3", home: "/home/{{ short_hostname }}-3", dir: "/home/{{ short_hostname }}-3/slave" }
- { user: "{{ short_hostname }}-4", home: "/home/{{ short_hostname }}-4", dir: "/home/{{ short_hostname }}-4/slave" }

View file

@ -47,21 +47,13 @@ public_hostname: taskotron-dev.fedoraproject.org
buildmaster: 10.5.124.181
buildslaves:
- taskotron-client26-1
- taskotron-client26-2
- taskotron-client27-1
- taskotron-client27-2
- taskotron-client28-1
- taskotron-client28-2
- taskotron-client29-1
- taskotron-client29-2
- qa11.qa-1
- qa11.qa-2
- qa11.qa-3
- qa11.qa-4
i386_buildslaves:
- taskotron-client29-1
- taskotron-client29-2
- qa11.qa-4
x86_64_buildslaves:
- taskotron-client26-1
- taskotron-client26-2
- taskotron-client27-1
- taskotron-client27-2
- taskotron-client28-1
- taskotron-client28-2
- qa11.qa-1
- qa11.qa-2
- qa11.qa-3

View file

@ -34,18 +34,20 @@
handlers:
- include: "{{ handlers }}/restart_services.yml"
#- name: configure taskotron client host
# hosts: taskotron-dev-client-hosts:taskotron-stg-client-hosts:taskotron-prod-client-hosts
# user: root
# gather_facts: True
#
# vars_files:
# - /srv/web/infra/ansible/vars/global.yml
# - "/srv/private/ansible/vars.yml"
# - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
#
# roles:
# - { role: taskotron/something, tags: ['something'] }
#
# handlers:
# - include: "{{ handlers }}/restart_services.yml"
- name: configure taskotron client host
hosts: taskotron-dev-client-hosts:taskotron-stg-client-hosts:taskotron-prod-client-hosts
user: root
gather_facts: True
vars_files:
- /srv/web/infra/ansible/vars/global.yml
- "/srv/private/ansible/vars.yml"
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
roles:
- { role: taskotron/buildslave, tags: ['buildslave'] }
- { role: taskotron/taskotron-client, tags: ['taskotronclient'] }
- { role: taskotron/buildslave-configure, tags: ['buildslaveconfigure'] }
handlers:
- include: "{{ handlers }}/restart_services.yml"

View file

@ -14,6 +14,7 @@
- PyYAML
- libtaskotron
- resultsdb_api
- testcloud
- name: ensure packages required for taskotron tasks are installed (yum)
yum: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
@ -34,6 +35,10 @@
- name: generate taskotron.yaml config file
template: src=taskotron.yaml.j2 dest=/etc/taskotron/taskotron.yaml owner=root group=root mode=0644
- name: generate testcloud config file
when: deployment_type == 'dev'
template: src=settings.py.testcloud.j2 dest=/etc/testcloud/settings.py owner=root group=root mode=0644
# hotfixing correct yumrepoinfo until libtaskotron is updated
- name: upload yumrepoinfo.conf
copy: src=yumrepoinfo.conf dest=/etc/taskotron/yumrepoinfo.conf owner=root group=root mode=0644

View file

@ -0,0 +1,43 @@
# Commented out default values with details are displayed below. To override
# these default values, uncomment the values, rename the file to settings.py
# and place it in a supported config location
# Do not modify this file directly, it will not be picked up unless the filename
# is changed to settings.py
#DOWNLOAD_PROGRESS = True
#LOG_FILE = None
# Directories for data and cached downloaded images
#DATA_DIR = "/var/lib/testcloud/"
#CACHE_DIR = "/var/lib/testcloud/cache"
# Data for cloud-init
#PASSWORD = 'passw0rd'
#HOSTNAME = 'testcloud'
#META_DATA = """instance-id: iid-123456
#local-hostname: %s
#"""
USER_DATA = """#cloud-config
users:
- default
- name: root
password: %s
chpasswd: { expire: False }
ssh-authorized-keys:
- {{ buildslave_pubkey }}
"""
#ATOMIC_USER_DATA = """#cloud-config
#password: %s
#chpasswd: { expire: False }
#ssh_pwauth: True
#runcmd:
# - [ sh, -c, 'echo -e "ROOT_SIZE=4G\nDATA_SIZE=10G" > /etc/sysconfig/docker-storage-setup']
#"""
#
# Extra cmdline args for the qemu invocation.
# Customize as needed :)
#CMD_LINE_ARGS = []

View file

@ -32,7 +32,11 @@ profile: production
## Local execution is the default mode for development profile and remote
## execution for production profile.
## [choices: local, libvirt; default: local for development, libvirt for production]
{% if deployment_type == 'dev' %}
runtask_mode: libvirt
{% elif deployment_type in ['stg', 'prod', 'local'] %}
runtask_mode: local
{% endif %}
## ==== SCHEDULING section ====
@ -142,6 +146,9 @@ artifacts_baseurl: {{ artifacts_base_url }}
## The location of images for disposable clients
#imagesdir: /var/lib/taskotron/images
## Temporary option to specify url of an image to download and use for disposable client
#imageurl:
## ==== LOGGING section ====
## This section contains configuration of logging.