From c8e8eb3fc20eec56d5344f671f344bd0edcf4175 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20P=C3=A1ral?= Date: Wed, 21 Mar 2018 15:25:04 +0100 Subject: [PATCH] taskotron-dev: update taskotron.yaml Specify minion COPR repos in a new syntax. --- .../templates/taskotron.yaml.j2.dev | 198 ++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 roles/taskotron/taskotron-client/templates/taskotron.yaml.j2.dev diff --git a/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2.dev b/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2.dev new file mode 100644 index 0000000000..23c0cb4704 --- /dev/null +++ b/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2.dev @@ -0,0 +1,198 @@ +## Main configuration file for Taskotron +## The file is in YAML syntax, read more about it at: +## http://en.wikipedia.org/wiki/Yaml +## libtaskotron docs live at: +## https://docs.qa.fedoraproject.org/libtaskotron/latest/ + + +## ==== GENERAL section ==== +## Config profile selection. +## 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 + +## Task execution mode. The tasks can be executed locally (on the current +## machine) or remotely in a disposable virtual machine. Local execution is +## dangerous with destructive or untrusted tasks, remote execution requires +## some additional setup (see Taskotron documentation). +## Remote execution is done through libvirt, it creates a throwaway virtual +## machine from a specified disk image, executes the task and deletes the +## machine. +## 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 in ['dev', 'stg', 'prod'] %} +runtask_mode: libvirt +{% elif deployment_type in ['local'] %} +runtask_mode: local +{% endif %} + +## Supported machine architectures. This is mostly used by generic, +## arch-independent tasks to determine which arches to test and report against. +## You can still run an arch-specific task on any other arch using the command +## line. +#supported_arches: ['x86_64', 'armhfp'] + + +## ==== SCHEDULING section ==== +## This section holds options related to the scheduling and execution system, +## currently we use Buildbot + +## name of step in buildbot that executes the task +buildbot_task_step: 'runtask' + + +## ==== REPORTING section ==== +## This section controls which result reports you want to send after the test +## execution is complete. + +## Whether to send test results to the configured ResultsDB server. +## [default: True for production, False for development] +report_to_resultsdb: True + + +## ==== RESOURCES section ==== +## This section specifies access details to various external services. +## +## Note: Try to keep custom URL addresses without a trailing slash. Otherwise +## the rendered URLs might end up containing double slashes, which some +## application servers don't handle gracefully (e.g. Flask's internal app +## server werkzeug). + +## URL of Koji instance used for querying about new builds +koji_url: {{ kojihub_url }} + +## URL of repository of all the RPM packages built in Koji +pkg_url: {{ kojipkg_url }} + +## Whether to use staging Bodhi instance instead of production (the +## default one). +#bodhi_staging: False + +## URL of ResultsDB server API interface, which can store all test results. +## Please make sure the URL doesn't have a trailing slash. +resultsdb_server: {{ resultsdb_server }} + +## URL of ResultsDB frontend, which displays results from ResultsDB. +## Please make sure the URL doesn't have a trailing slash. +resultsdb_frontend: {{ resultsdb_external_url }} + +## URL of ExecDB server API interface, which tracks task execution status. +## Please make sure the URL doesn't have a trailing slash. +execdb_server: {{ execdb_external_url }} + +## URL of taskotron buildmaster, to construct log URLs from. +## Please make sure the URL doesn't have a trailing slash. +taskotron_master: {{ taskotron_master }} + +## URL of artifacts base directory, to construct artifacts URLs from. +## Please make sure the URL doesn't have a trailing slash. +artifacts_baseurl: {{ artifacts_base_url }} + +## Whether to cache downloaded files to speed up subsequent downloads. If True, +## files will be downloaded to a common directory specified by "cachedir". At +## the moment, Taskotron only supports Koji RPM downloads to be cached. +## [default: False for production, True for development] +#download_cache_enabled: False + + +## ==== PATHS section ==== +## Location of various pieces of the project. + +## The location of log files for Taskotron +#logdir: /var/log/taskotron + +## The location of task files (git checkout) when running in disposable clients mode +#client_taskdir: /var/tmp/taskotron/taskdir + +## The location of temporary files for Taskotron +#tmpdir: /var/tmp/taskotron + +## The location of artifacts produced by checks +#artifactsdir: /var/lib/taskotron/artifacts + +## The location of cached files downloaded by Taskotron +#cachedir: /var/cache/taskotron + +## The location of images for disposable clients +## File names need to adhere to the naming standard of: +## YYMMDD_HHMM-fedora-RELEASE-FLAVOR-ARCH.(qcow2|raw|img) +## For example: +## 160301_1030-fedora-25-taskotron_cloud-x86_64.img +## Variables disposable_(release|flavor|arch) set in this config file +## define what kind of image is looked for. +## The newest (by YYMMDD_HHMM) image of the respective R-F-A is used. +imagesdir: {{ imagesdir }} + +## If set to False, latest image from imagesdir will be used instead of one at imageurl +## [default: True] +force_imageurl: False + +## Url of an image to download and use for disposable client, if force_imageurl was set +#imageurl: + +## Default distro/release/flavor/arch for the disposable images discovery +#default_disposable_distro: fedora +default_disposable_release: '27' +#default_disposable_flavor: taskotron_cloud +#default_disposable_arch: x86_64 + +## Number of retries when disposable client fails to boot within timeout +#spawn_vm_retries: 3 + +## Additional DNF repos to set up on the minion. +## You can use a special syntax 'copr:reponame' to enable Fedora COPR repo on +## minion by running 'dnf copr enable reponame' on it. +minion_repos: + - https://fedorapeople.org/groups/qa/taskotron-repos/taskotron-production-override/taskotron-production-override.repo + - https://infrastructure.fedoraproject.org/cgit/ansible.git/plain/files/common/fedora-infra-tags.repo +{% if deployment_type == 'stg' %} + - https://fedorapeople.org/groups/qa/taskotron-repos/taskotron-stg-override/taskotron-stg-override.repo + - https://infrastructure.fedoraproject.org/cgit/ansible.git/plain/files/common/fedora-infra-tags-stg.repo +{% endif %} +{% if deployment_type == 'dev' %} + - copr:kparal/taskotron-dev +{% endif %} + + +## ==== LOGGING section ==== +## This section contains configuration of logging. + +## Configuration of logging level. Here can be configured which messages +## will be logged. You can specify different level for logging to standard +## output (option log_level_stream) and logging to file (log_level_file). +## Possible values can be found here: +## https://docs.python.org/2.7/library/logging.html#logging-levels +{% if deployment_type == 'dev' %} +log_level_stream: DEBUG +{% elif deployment_type in ['stg', 'prod', 'local'] %} +log_level_stream: INFO +{% endif %} +#log_level_file: DEBUG + +## If True, logging to file will be enabled. +## [default: True for production, False for development] +#log_file_enabled: True + + +## ==== 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. + +## SSH private key location. Used for remote task execution, when connecting to +## VMs and remote machines. If your systems are not configured for automatic +## connection (private keys located in SSH's standard search path), specify a +## path to the private key here. An empty value (the default) means to rely on +## the standard search path only. +#ssh_privkey: /path/to/private.key