taskotron-dev: enable disposable clients
This commit is contained in:
parent
2b098b34bd
commit
0b6c32241e
7 changed files with 147 additions and 31 deletions
|
@ -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"
|
||||
|
|
|
@ -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" }
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 = []
|
|
@ -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.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue