From 60590b4f5744a6bde2355baa5de567838c7c4072 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= Date: Thu, 5 Apr 2018 13:21:35 +0200 Subject: [PATCH] Taskotron-stg: Make changes to support latest libtaskotron --- .../group_vars/taskotron-stg-client-hosts | 2 +- .../taskotron-client/files/yumrepoinfo.conf | 7 +- .../templates/taskotron.yaml.j2 | 9 +- .../templates/taskotron.yaml.j2.dev | 198 ------------------ 4 files changed, 13 insertions(+), 203 deletions(-) delete mode 100644 roles/taskotron/taskotron-client/templates/taskotron.yaml.j2.dev diff --git a/inventory/group_vars/taskotron-stg-client-hosts b/inventory/group_vars/taskotron-stg-client-hosts index 6b05f10289..10b985fc72 100644 --- a/inventory/group_vars/taskotron-stg-client-hosts +++ b/inventory/group_vars/taskotron-stg-client-hosts @@ -44,7 +44,7 @@ kojihub_url: https://koji.fedoraproject.org/kojihub kojipkg_url: https://kojipkgs.fedoraproject.org/packages taskotron_master: https://taskotron.stg.fedoraproject.org/taskmaster/ resultsdb_external_url: https://taskotron.stg.fedoraproject.org/resultsdb -artifacts_base_url: https://taskotron.stg.fedoraproject.org/artifacts +artifacts_base_url: https://taskotron.stg.fedoraproject.org/artifacts/all client_report_to_bodhi: 'False' diff --git a/roles/taskotron/taskotron-client/files/yumrepoinfo.conf b/roles/taskotron/taskotron-client/files/yumrepoinfo.conf index 04db67af0f..3dba1666d4 100644 --- a/roles/taskotron/taskotron-client/files/yumrepoinfo.conf +++ b/roles/taskotron/taskotron-client/files/yumrepoinfo.conf @@ -14,7 +14,7 @@ baseurl = http://download.fedoraproject.org/pub/fedora/linux baseurl_altarch = http://download.fedoraproject.org/pub/fedora-secondary goldurl = %(baseurl)s/releases/%(path)s/Everything/%(arch)s/os -updatesurl = %(baseurl)s/updates/%(path)s/%(arch)s +updatesurl = %(baseurl)s/updates/%(path)s/Everything/%(arch)s rawhideurl = %(baseurl)s/%(path)s/Everything/%(arch)s/os # list of primary and alternate architectures. That decides whether baseurl or baseurl_altarch @@ -65,11 +65,13 @@ release_status = stable url = %(updatesurl)s path = 27 parent = f27 +updatesurl = %(baseurl)s/updates/%(path)s/%(arch)s [f27-updates-testing] url = %(updatesurl)s path = testing/27 parent = f27-updates +updatesurl = %(baseurl)s/updates/%(path)s/%(arch)s # Fedora 26 [f26] @@ -81,9 +83,10 @@ release_status = stable url = %(updatesurl)s path = 26 parent = f26 +updatesurl = %(baseurl)s/updates/%(path)s/%(arch)s [f26-updates-testing] url = %(updatesurl)s path = testing/26 parent = f26-updates - +updatesurl = %(baseurl)s/updates/%(path)s/%(arch)s diff --git a/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2 b/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2 index a5c709f160..23c0cb4704 100644 --- a/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2 +++ b/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2 @@ -148,7 +148,12 @@ default_disposable_release: '27' #default_disposable_flavor: taskotron_cloud #default_disposable_arch: x86_64 -## Additional repos for minion to install packages from +## 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 @@ -157,7 +162,7 @@ minion_repos: - https://infrastructure.fedoraproject.org/cgit/ansible.git/plain/files/common/fedora-infra-tags-stg.repo {% endif %} {% if deployment_type == 'dev' %} - - https://copr.fedorainfracloud.org/coprs/kparal/taskotron-dev/repo/fedora-27/kparal-taskotron-dev-fedora-27.repo + - copr:kparal/taskotron-dev {% endif %} diff --git a/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2.dev b/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2.dev deleted file mode 100644 index 23c0cb4704..0000000000 --- a/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2.dev +++ /dev/null @@ -1,198 +0,0 @@ -## 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