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_warn: 900
|
||||||
nrpe_procs_crit: 1000
|
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"
|
sudoers: "{{ private }}/files/sudo/qavirt-sudoers"
|
||||||
nrpe_procs_warn: 900
|
nrpe_procs_warn: 900
|
||||||
nrpe_procs_crit: 1000
|
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
|
buildmaster: 10.5.124.181
|
||||||
|
|
||||||
buildslaves:
|
buildslaves:
|
||||||
- taskotron-client26-1
|
- qa11.qa-1
|
||||||
- taskotron-client26-2
|
- qa11.qa-2
|
||||||
- taskotron-client27-1
|
- qa11.qa-3
|
||||||
- taskotron-client27-2
|
- qa11.qa-4
|
||||||
- taskotron-client28-1
|
|
||||||
- taskotron-client28-2
|
|
||||||
- taskotron-client29-1
|
|
||||||
- taskotron-client29-2
|
|
||||||
i386_buildslaves:
|
i386_buildslaves:
|
||||||
- taskotron-client29-1
|
- qa11.qa-4
|
||||||
- taskotron-client29-2
|
|
||||||
x86_64_buildslaves:
|
x86_64_buildslaves:
|
||||||
- taskotron-client26-1
|
- qa11.qa-1
|
||||||
- taskotron-client26-2
|
- qa11.qa-2
|
||||||
- taskotron-client27-1
|
- qa11.qa-3
|
||||||
- taskotron-client27-2
|
|
||||||
- taskotron-client28-1
|
|
||||||
- taskotron-client28-2
|
|
||||||
|
|
|
@ -34,18 +34,20 @@
|
||||||
handlers:
|
handlers:
|
||||||
- include: "{{ handlers }}/restart_services.yml"
|
- include: "{{ handlers }}/restart_services.yml"
|
||||||
|
|
||||||
#- name: configure taskotron client host
|
- name: configure taskotron client host
|
||||||
# hosts: taskotron-dev-client-hosts:taskotron-stg-client-hosts:taskotron-prod-client-hosts
|
hosts: taskotron-dev-client-hosts:taskotron-stg-client-hosts:taskotron-prod-client-hosts
|
||||||
# user: root
|
user: root
|
||||||
# gather_facts: True
|
gather_facts: True
|
||||||
#
|
|
||||||
# vars_files:
|
vars_files:
|
||||||
# - /srv/web/infra/ansible/vars/global.yml
|
- /srv/web/infra/ansible/vars/global.yml
|
||||||
# - "/srv/private/ansible/vars.yml"
|
- "/srv/private/ansible/vars.yml"
|
||||||
# - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
|
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
|
||||||
#
|
|
||||||
# roles:
|
roles:
|
||||||
# - { role: taskotron/something, tags: ['something'] }
|
- { role: taskotron/buildslave, tags: ['buildslave'] }
|
||||||
#
|
- { role: taskotron/taskotron-client, tags: ['taskotronclient'] }
|
||||||
# handlers:
|
- { role: taskotron/buildslave-configure, tags: ['buildslaveconfigure'] }
|
||||||
# - include: "{{ handlers }}/restart_services.yml"
|
|
||||||
|
handlers:
|
||||||
|
- include: "{{ handlers }}/restart_services.yml"
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
- PyYAML
|
- PyYAML
|
||||||
- libtaskotron
|
- libtaskotron
|
||||||
- resultsdb_api
|
- resultsdb_api
|
||||||
|
- testcloud
|
||||||
|
|
||||||
- name: ensure packages required for taskotron tasks are installed (yum)
|
- name: ensure packages required for taskotron tasks are installed (yum)
|
||||||
yum: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
|
yum: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
|
||||||
|
@ -34,6 +35,10 @@
|
||||||
- name: generate taskotron.yaml config file
|
- name: generate taskotron.yaml config file
|
||||||
template: src=taskotron.yaml.j2 dest=/etc/taskotron/taskotron.yaml owner=root group=root mode=0644
|
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
|
# hotfixing correct yumrepoinfo until libtaskotron is updated
|
||||||
- name: upload yumrepoinfo.conf
|
- name: upload yumrepoinfo.conf
|
||||||
copy: src=yumrepoinfo.conf dest=/etc/taskotron/yumrepoinfo.conf owner=root group=root mode=0644
|
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
|
## Local execution is the default mode for development profile and remote
|
||||||
## execution for production profile.
|
## execution for production profile.
|
||||||
## [choices: local, libvirt; default: local for development, libvirt for production]
|
## [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
|
runtask_mode: local
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
## ==== SCHEDULING section ====
|
## ==== SCHEDULING section ====
|
||||||
|
@ -142,6 +146,9 @@ artifacts_baseurl: {{ artifacts_base_url }}
|
||||||
## The location of images for disposable clients
|
## The location of images for disposable clients
|
||||||
#imagesdir: /var/lib/taskotron/images
|
#imagesdir: /var/lib/taskotron/images
|
||||||
|
|
||||||
|
## Temporary option to specify url of an image to download and use for disposable client
|
||||||
|
#imageurl:
|
||||||
|
|
||||||
|
|
||||||
## ==== LOGGING section ====
|
## ==== LOGGING section ====
|
||||||
## This section contains configuration of logging.
|
## This section contains configuration of logging.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue