From 1fb0dcceec4fc74a7a5a23b02f0c03c3d429a1cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20P=C3=A1ral?= Date: Thu, 1 Mar 2018 17:41:19 +0100 Subject: [PATCH] taskotron-stg: switch to running STI tasks --- inventory/group_vars/taskotron-stg | 2 +- .../templates/taskotron.master.cfg.j2 | 10 +++++----- roles/taskotron/buildslave-configure/tasks/main.yml | 1 - .../buildslave-configure/templates/buildbot.tac.j2 | 5 ++--- roles/taskotron/buildslave/tasks/main.yml | 7 +++---- .../taskotron-client/templates/taskotron.yaml.j2 | 3 ++- .../taskotron-master/templates/artifacts.conf.j2 | 8 ++++---- .../{artifacts.conf.j2.dev => artifacts.conf.j2.prod} | 8 ++++---- .../taskotron-trigger/templates/trigger_rules.yml.j2 | 2 +- 9 files changed, 22 insertions(+), 24 deletions(-) rename roles/taskotron/taskotron-master/templates/{artifacts.conf.j2.dev => artifacts.conf.j2.prod} (79%) diff --git a/inventory/group_vars/taskotron-stg b/inventory/group_vars/taskotron-stg index b4211f2941..1bcff19741 100644 --- a/inventory/group_vars/taskotron-stg +++ b/inventory/group_vars/taskotron-stg @@ -33,7 +33,7 @@ grokmirror_repos: - { name: fedoraqa/rpmlint, url: 'https://pagure.io/taskotron/task-rpmlint.git'} - { name: fedoraqa/upgradepath, url: 'https://pagure.io/taskotron/task-upgradepath.git'} - { name: fedoraqa/upstream-atomic, url: 'https://pagure.io/taskotron/task-upstream-atomic.git'} -grokmirror_default_branch: master +grokmirror_default_branch: develop ############################################################ diff --git a/roles/taskotron/buildmaster-configure/templates/taskotron.master.cfg.j2 b/roles/taskotron/buildmaster-configure/templates/taskotron.master.cfg.j2 index 9c5b8af076..ca5f94a988 100644 --- a/roles/taskotron/buildmaster-configure/templates/taskotron.master.cfg.j2 +++ b/roles/taskotron/buildmaster-configure/templates/taskotron.master.cfg.j2 @@ -207,7 +207,7 @@ factory.addStep(ShellCommand(command=["runtask", '-a', Interpolate('%(prop:arch)s'), '-j', Interpolate('%(prop:buildername)s/%(prop:buildnumber)s'), '--uuid', Interpolate('%(prop:uuid)s'), -{% if deployment_type in ['dev'] %} +{% if deployment_type in ['dev', 'stg'] %} '.'], {% else %} 'runtask.yml'], @@ -215,7 +215,7 @@ factory.addStep(ShellCommand(command=["runtask", descriptionDone=[Interpolate('%(prop:taskname)s on %(prop:item)s')], name='runtask', timeout=20*60, -{% if deployment_type in ['dev'] %} +{% if deployment_type in ['dev', 'stg'] %} sigtermTime=5*60, lazylogfiles=True, logfiles={ @@ -223,7 +223,7 @@ factory.addStep(ShellCommand(command=["runtask", 'heartbeat.log': {'filename': Interpolate('/var/lib/taskotron/artifacts/%(prop:uuid)s/taskotron/heartbeat.log')}, } {% endif %} -{% if deployment_type in ['stg', 'prod'] %} +{% if deployment_type in ['prod'] %} logfiles={ 'taskotron-overlord.log': {'filename': Interpolate('/var/lib/taskotron/artifacts/%(prop:uuid)s/taskotron-overlord.log')}, 'taskotron-stdio.log': {'filename': Interpolate('/var/lib/taskotron/artifacts/%(prop:uuid)s/taskotron-stdio.log')}, @@ -244,7 +244,7 @@ factory.addStep(MasterShellCommand(command=["mkdir", '-m', '0755', Interpolate(' descriptionDone=['Create artifacs dir'])) # copy artifacts to master -{% if deployment_type in ['dev'] %} +{% if deployment_type in ['dev', 'stg'] %} factory.addStep(DirectoryUpload(slavesrc=Interpolate('/var/lib/taskotron/artifacts/%(prop:uuid)s/'), masterdest=Interpolate('{{ public_artifacts_dir }}/%(prop:uuid)s/'))) {% else %} @@ -253,7 +253,7 @@ factory.addStep(DirectoryUpload(slavesrc=Interpolate('/var/lib/taskotron/artifac {% endif %} # gzip artifacts -{% if deployment_type in ['dev'] %} +{% if deployment_type in ['dev', 'stg'] %} factory.addStep(MasterShellCommand(command=Interpolate('find {{ public_artifacts_dir }}/%(prop:uuid)s/ -type f -exec gzip {} \;'), descriptionDone=['gzip artifacs dir content'])) {% else %} diff --git a/roles/taskotron/buildslave-configure/tasks/main.yml b/roles/taskotron/buildslave-configure/tasks/main.yml index a31d00fc49..70dd61458a 100644 --- a/roles/taskotron/buildslave-configure/tasks/main.yml +++ b/roles/taskotron/buildslave-configure/tasks/main.yml @@ -9,7 +9,6 @@ become_user: "{{ slave_user }}" template: src=buildbot.tac.j2 dest={{ slave_dir }}/buildbot.tac mode=0600 owner={{ slave_user }} group={{ slave_user }} when: deployment_type in ['local', 'qa-stg'] - #when: deployment_type == 'prod' or deployment_type == 'stg' or deployment_type == 'local' - name: generate slave info become: true diff --git a/roles/taskotron/buildslave-configure/templates/buildbot.tac.j2 b/roles/taskotron/buildslave-configure/templates/buildbot.tac.j2 index 7770817c4a..d3ee92ff64 100644 --- a/roles/taskotron/buildslave-configure/templates/buildbot.tac.j2 +++ b/roles/taskotron/buildslave-configure/templates/buildbot.tac.j2 @@ -7,7 +7,7 @@ from buildslave.bot import BuildSlave {% if deployment_type in ['local', 'qa-stg'] %} basedir = r'/home/buildslave/slave' {% endif %} -{% if deployment_type in ['prod', 'stg', 'dev'] %} +{% if deployment_type in ['dev', 'stg', 'prod'] %} basedir = r'{{ item.dir }}' {% endif %} rotateLength = 10000000 @@ -38,7 +38,7 @@ port = 9989 slavename = '{{ buildslave_name }}' passwd = '{{ buildslave_password }}' {% endif %} -{% if deployment_type == 'stg' or deployment_type in ['dev', 'prod'] %} +{% if deployment_type in ['dev', 'stg', 'prod'] %} slavename = '{{ item.user }}' passwd = '{{ buildslave_password }}' {% endif %} @@ -51,4 +51,3 @@ maxdelay = 300 s = BuildSlave(buildmaster_host, port, slavename, passwd, basedir, keepalive, usepty, umask=umask, maxdelay=maxdelay) s.setServiceParent(application) - diff --git a/roles/taskotron/buildslave/tasks/main.yml b/roles/taskotron/buildslave/tasks/main.yml index 57baa7e191..2c79525438 100644 --- a/roles/taskotron/buildslave/tasks/main.yml +++ b/roles/taskotron/buildslave/tasks/main.yml @@ -43,19 +43,19 @@ - name: ensure needed groups exist group: name={{ item }} - when: deployment_type == 'stg' or deployment_type in ['dev', 'prod'] + when: deployment_type in ['dev', 'stg', 'prod'] with_items: - testcloud - taskotron - name: ensure needed groups exist group: name={{ slaves_group }} - when: slaves_group is defined and (deployment_type == 'stg' or deployment_type in ['dev', 'prod']) + when: slaves_group is defined and (deployment_type in ['dev', 'stg', 'prod']) - name: add buildslave users user: name={{ item.user }} group={{ slaves_group }} groups=testcloud,taskotron home={{ item.home }} with_items: "{{ slaves }}" - when: slaves is defined and (deployment_type == 'stg' or deployment_type in ['dev', 'prod']) + when: slaves is defined and (deployment_type in ['dev', 'stg', 'prod']) - name: set the selinux fcontext type for the buildslave dir to var_lib_t command: semanage fcontext -a -t var_lib_t "{{ item.dir }}" @@ -73,4 +73,3 @@ regexp: '^#host_key_checking = False$' line: 'host_key_checking = False' when: deployment_type in ['dev'] - diff --git a/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2 b/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2 index 0d026cad41..90b72f064e 100644 --- a/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2 +++ b/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2 @@ -153,10 +153,11 @@ 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' %} - - https://copr.fedorainfracloud.org/coprs/kparal/taskotron-dev/repo/fedora-26/kparal-taskotron-dev-fedora-26.repo + - https://copr.fedorainfracloud.org/coprs/kparal/taskotron-dev/repo/fedora-27/kparal-taskotron-dev-fedora-27.repo {% endif %} diff --git a/roles/taskotron/taskotron-master/templates/artifacts.conf.j2 b/roles/taskotron/taskotron-master/templates/artifacts.conf.j2 index 5262dc0d85..d8e868c933 100644 --- a/roles/taskotron/taskotron-master/templates/artifacts.conf.j2 +++ b/roles/taskotron/taskotron-master/templates/artifacts.conf.j2 @@ -36,12 +36,12 @@ ExtFilterDefine gz-to-css mode=output \ intype=application/x-gzip outtype=text/css \ cmd="/bin/gunzip -c -" - + RewriteEngine on - RewriteCond "{{ public_artifacts_dir }}/all/$1/task_output/$2.gz" -f - RewriteCond "{{ public_artifacts_dir }}/all/$1/task_output/$2" !-f - RewriteRule "^{{ public_artifacts_dir }}/all/(.+)/task_output/(.*)$" "{{ public_artifacts_dir }}/all/$1/task_output/$2.gz" + RewriteCond "{{ public_artifacts_dir }}/all/$1/$2.gz" -f + RewriteCond "{{ public_artifacts_dir }}/all/$1/$2" !-f + RewriteRule "^{{ public_artifacts_dir }}/all/(.+)/(.*)$" "{{ public_artifacts_dir }}/all/$1/$2.gz" # mod_deflate doesnt work as expected for some reason # use custom filter instead diff --git a/roles/taskotron/taskotron-master/templates/artifacts.conf.j2.dev b/roles/taskotron/taskotron-master/templates/artifacts.conf.j2.prod similarity index 79% rename from roles/taskotron/taskotron-master/templates/artifacts.conf.j2.dev rename to roles/taskotron/taskotron-master/templates/artifacts.conf.j2.prod index d8e868c933..5262dc0d85 100644 --- a/roles/taskotron/taskotron-master/templates/artifacts.conf.j2.dev +++ b/roles/taskotron/taskotron-master/templates/artifacts.conf.j2.prod @@ -36,12 +36,12 @@ ExtFilterDefine gz-to-css mode=output \ intype=application/x-gzip outtype=text/css \ cmd="/bin/gunzip -c -" - + RewriteEngine on - RewriteCond "{{ public_artifacts_dir }}/all/$1/$2.gz" -f - RewriteCond "{{ public_artifacts_dir }}/all/$1/$2" !-f - RewriteRule "^{{ public_artifacts_dir }}/all/(.+)/(.*)$" "{{ public_artifacts_dir }}/all/$1/$2.gz" + RewriteCond "{{ public_artifacts_dir }}/all/$1/task_output/$2.gz" -f + RewriteCond "{{ public_artifacts_dir }}/all/$1/task_output/$2" !-f + RewriteRule "^{{ public_artifacts_dir }}/all/(.+)/task_output/(.*)$" "{{ public_artifacts_dir }}/all/$1/task_output/$2.gz" # mod_deflate doesnt work as expected for some reason # use custom filter instead diff --git a/roles/taskotron/taskotron-trigger/templates/trigger_rules.yml.j2 b/roles/taskotron/taskotron-trigger/templates/trigger_rules.yml.j2 index 845435b1ab..5c77a4f681 100644 --- a/roles/taskotron/taskotron-trigger/templates/trigger_rules.yml.j2 +++ b/roles/taskotron/taskotron-trigger/templates/trigger_rules.yml.j2 @@ -38,7 +38,7 @@ - tasks: - mtf-containers -{% if deployment_type in ['stg', 'prod'] %} +{% if deployment_type in ['prod'] %} {# these tasks are not ansiblized yet #} - when: message_type: ModuleBuildComplete