summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Flink <tflink@fedoraproject.org>2015-09-30 21:57:46 +0000
committerTim Flink <tflink@fedoraproject.org>2015-09-30 21:57:52 +0000
commitbdbf4f8615220f8bc59d2eb5b5cc0ae220caa8fe (patch)
treee3f99bda9514e37cdafcd90b89c1936c92b5da6a
parent3f3709c369e78afaa1a472b6b2d0b1592d24b792 (diff)
updating taskotron roles to use dnf for f22+, variable for repos
-rw-r--r--roles/taskotron/buildmaster/tasks/main.yml14
-rw-r--r--roles/taskotron/buildslave/tasks/main.yml20
-rw-r--r--roles/taskotron/execdb/tasks/main.yml10
-rw-r--r--roles/taskotron/grokmirror/tasks/main.yml10
-rw-r--r--roles/taskotron/resultsdb-backend/tasks/main.yml12
-rw-r--r--roles/taskotron/resultsdb-frontend/tasks/main.yml8
-rw-r--r--roles/taskotron/ssl-taskotron/tasks/main.yml9
-rw-r--r--roles/taskotron/taskotron-client/tasks/main.yml24
-rw-r--r--roles/taskotron/taskotron-frontend/tasks/main.yml9
-rw-r--r--roles/taskotron/taskotron-proxy/tasks/main.yml9
-rw-r--r--roles/taskotron/taskotron-trigger/tasks/main.yml8
11 files changed, 98 insertions, 35 deletions
diff --git a/roles/taskotron/buildmaster/tasks/main.yml b/roles/taskotron/buildmaster/tasks/main.yml
index 45bcfaf68..a4bc16611 100644
--- a/roles/taskotron/buildmaster/tasks/main.yml
+++ b/roles/taskotron/buildmaster/tasks/main.yml
@@ -1,13 +1,23 @@
- name: ensure packages required for buildmaster are installed
- action: yum name={{ item }} state=latest
+ yum: name={{ item }} state=latest enablerepos={{ extra_enablerepos }}
with_items:
- buildbot
- buildbot-master
- libsemanage-python
- python-psycopg2
+ when: ansible_distribution_major_version|int < 22
- name: ensure packages required for buildmaster are installed
- action: yum name={{ item }} state=latest
+ dnf: name={{ item }} state=latest enablerepos={{ extra_enablerepos }}
+ with_items:
+ - buildbot
+ - buildbot-master
+ - libsemanage-python
+ - python-psycopg2
+ when: ansible_distribution_major_version|int > 21 and ansible_cmdline.ostree is not defined
+
+- name: ensure packages required for buildmaster are installed
+ action: dnf name={{ item }} state=latest
when: deployment_type == 'qadevel-prod' or deployment_type == 'qa-stg'
with_items:
- python-novaclient
diff --git a/roles/taskotron/buildslave/tasks/main.yml b/roles/taskotron/buildslave/tasks/main.yml
index 36a027fdc..dc5030011 100644
--- a/roles/taskotron/buildslave/tasks/main.yml
+++ b/roles/taskotron/buildslave/tasks/main.yml
@@ -1,5 +1,5 @@
- name: ensure packages required for buildslave are installed
- action: yum name={{ item }} state=latest
+ yum: name={{ item }} state=latest enablerepos={{ extra_enablerepos }}
with_items:
- buildbot-slave
- git
@@ -13,6 +13,24 @@
- pylint
- python-pep8
- moreutils
+ when: ansible_distribution_major_version|int < 22
+
+- name: ensure packages required for buildslave are installed (f22+)
+ dnf: name={{ item }} state=latest enablerepos={{ extra_enablerepos }}
+ with_items:
+ - buildbot-slave
+ - git
+ - rpmlint
+ - koji
+ - bodhi-client
+ - python-virtualenv
+ - gcc
+ - libcurl-devel
+ - rpm-build
+ - pylint
+ - python-pep8
+ - moreutils
+ when: ansible_distribution_major_version|int > 21 and ansible_cmdline.ostree is not defined
- name: add the buildslave user
user: name=buildslave
diff --git a/roles/taskotron/execdb/tasks/main.yml b/roles/taskotron/execdb/tasks/main.yml
index 1b3b74c38..556f3df5c 100644
--- a/roles/taskotron/execdb/tasks/main.yml
+++ b/roles/taskotron/execdb/tasks/main.yml
@@ -1,5 +1,5 @@
- name: ensure packages required for execdb are installed
- action: yum name={{ item }} state=latest
+ yum: name={{ item }} state=latest
when: deployment_type == 'prod' or deployment_type == 'local'
with_items:
- execdb
@@ -7,14 +7,14 @@
- python-psycopg2
- libsemanage-python
-- name: ensure packages required for execdb are installed (testing)
- action: yum name={{ item }} state=latest enablerepo=infrastructure-testing
- when: deployment_type == 'dev' or deployment_type == 'stg'
+- name: ensure packages required for execdb are installed (f22+)
+ dnf: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
with_items:
- execdb
- mod_wsgi
- python-psycopg2
- libsemanage-python
+ when: ansible_distribution_major_version|int > 21 and ansible_cmdline.ostree is not defined
- name: ensure database is created
delegate_to: "{{ execdb_db_host }}"
@@ -27,7 +27,7 @@
delegate_to: "{{ execdb_db_host }}"
sudo_user: postgres
sudo: true
- action: postgresql_user db={{ execdb_db_name }} user={{ dev_execdb_db_user }} password={{ dev_execdb_db_password }} role_attr_flags=NOSUPERUSER
+ action: postgresql_user db={{ execdb_db_name }} user={{ execdb_db_user }} password={{ execdb_db_password }} role_attr_flags=NOSUPERUSER
- name: ensure stg execdb db user has access to stg database
when: deployment_type == 'stg'
diff --git a/roles/taskotron/grokmirror/tasks/main.yml b/roles/taskotron/grokmirror/tasks/main.yml
index d4457839f..6cfa7754c 100644
--- a/roles/taskotron/grokmirror/tasks/main.yml
+++ b/roles/taskotron/grokmirror/tasks/main.yml
@@ -1,8 +1,16 @@
- name: ensure grokmirror packages are installed
- action: yum name={{ item }} state=latest
+ yum: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
with_items:
- git
- python-grokmirror
+ when: ansible_distribution_major_version|int < 22
+
+- name: ensure grokmirror packages are installed
+ dnf: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
+ with_items:
+ - git
+ - python-grokmirror
+ when: ansible_distribution_major_version|int > 21 and ansible_cmdline.ostree is not defined
- name: create grokmirror user
user: name={{ grokmirror_user }}
diff --git a/roles/taskotron/resultsdb-backend/tasks/main.yml b/roles/taskotron/resultsdb-backend/tasks/main.yml
index 0858faa4a..1de8c466f 100644
--- a/roles/taskotron/resultsdb-backend/tasks/main.yml
+++ b/roles/taskotron/resultsdb-backend/tasks/main.yml
@@ -1,5 +1,5 @@
- name: ensure packages required for resultsdb are installed
- action: yum name={{ item }} state=latest
+ yum: name={{ item }} state=latest
when: deployment_type == 'prod' or deployment_type == 'local'
with_items:
- resultsdb
@@ -8,8 +8,8 @@
- libsemanage-python
- name: ensure packages required for resultsdb are installed (infra-testing)
- action: yum name={{ item }} state=latest enablerepo=infrastructure-testing
- when: deployment_type == 'dev' or deployment_type == 'stg'
+ dnf: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
+ when: ansible_distribution_major_version|int > 21 and ansible_cmdline.ostree is not defined
with_items:
- resultsdb
- mod_wsgi
@@ -17,17 +17,17 @@
- libsemanage-python
- name: ensure database is created
- delegate_to: "{{ resultsdb_db_host }}"
+ delegate_to: "{{ resultsdb_db_host_machine }}"
sudo_user: postgres
sudo: true
action: postgresql_db db={{ resultsdb_db_name }}
- name: ensure dev resultsdb db user has access to dev database
when: deployment_type == 'dev'
- delegate_to: "{{ resultsdb_db_host }}"
+ delegate_to: "{{ resultsdb_db_host_machine }}"
sudo_user: postgres
sudo: true
- action: postgresql_user db={{ resultsdb_db_name }} user={{ dev_resultsdb_db_user }} password={{ dev_resultsdb_db_password }} role_attr_flags=NOSUPERUSER
+ action: postgresql_user db={{ resultsdb_db_name }} user={{ resultsdb_db_user }} password={{ resultsdb_db_password }} role_attr_flags=NOSUPERUSER
- name: ensure stg resultsdb db user has access to stg database
when: deployment_type == 'stg'
diff --git a/roles/taskotron/resultsdb-frontend/tasks/main.yml b/roles/taskotron/resultsdb-frontend/tasks/main.yml
index 618b98c83..1f232c7f7 100644
--- a/roles/taskotron/resultsdb-frontend/tasks/main.yml
+++ b/roles/taskotron/resultsdb-frontend/tasks/main.yml
@@ -1,16 +1,16 @@
- name: ensure packages required for resultsdb_frontend are installed
- action: yum name={{ item }} state=latest
+ yum: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
when: deployment_type == 'prod' or deployment_type == 'local'
with_items:
- resultsdb_frontend
- mod_wsgi
-- name: ensure packages required for resultsdb_frontend are installed (infra-testing)
- action: yum name={{ item }} state=latest enablerepo=infrastructure-testing
- when: deployment_type == 'dev' or deployment_type == 'stg'
+- name: ensure packages required for resultsdb_frontend are installed (f22+)
+ dnf: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
with_items:
- resultsdb_frontend
- mod_wsgi
+ when: ansible_distribution_major_version|int > 21 and ansible_cmdline.ostree is not defined
- name: generate resultsdb_frontend config
template: src=settings.py.j2 dest=/etc/resultsdb_frontend/settings.py owner=root group=root mode=0644
diff --git a/roles/taskotron/ssl-taskotron/tasks/main.yml b/roles/taskotron/ssl-taskotron/tasks/main.yml
index 335466bd2..e42cced64 100644
--- a/roles/taskotron/ssl-taskotron/tasks/main.yml
+++ b/roles/taskotron/ssl-taskotron/tasks/main.yml
@@ -1,7 +1,14 @@
- name: ensure ssl related packages are installed
- action: yum name={{ item }} state=latest
+ yum: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
with_items:
- mod_ssl
+ when: ansible_distribution_major_version|int < 22
+
+- name: ensure ssl related packages are installed
+ dnf: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
+ with_items:
+ - mod_ssl
+ when: ansible_distribution_major_version|int > 21 and ansible_cmdline.ostree is not defined
- name: copy ssl key
copy: src={{ private }}/files/taskotron/certs/{{ inventory_hostname }}/{{ inventory_hostname }}.key dest=/etc/pki/tls/private/{{ inventory_hostname }}.key
diff --git a/roles/taskotron/taskotron-client/tasks/main.yml b/roles/taskotron/taskotron-client/tasks/main.yml
index ab8b9f0d2..a77557cd1 100644
--- a/roles/taskotron/taskotron-client/tasks/main.yml
+++ b/roles/taskotron/taskotron-client/tasks/main.yml
@@ -1,25 +1,35 @@
- name: ensure packages required for libtaskotron are installed
- action: yum name={{ item }} state=latest
- when: deployment_type == 'prod' or deployment_type == 'local'
+ yum: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
with_items:
- PyYAML
- libtaskotron
- resultsdb_api
+ when: deployment_type == 'prod' or deployment_type == 'local'
-- name: ensure packages required for libtaskotron are installed (infra-testing)
- action: yum name={{ item }} state=latest enablerepo=infrastructure-testing
+- name: ensure packages required for libtaskotron are installed (f22+)
+ dnf: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
when: deployment_type == 'dev' or deployment_type == 'stg'
with_items:
- PyYAML
- libtaskotron
- resultsdb_api
+ when: ansible_distribution_major_version|int > 21 and ansible_cmdline.ostree is not defined
- name: ensure packages required for taskotron tasks are installed
- action: yum name={{ item }} state=latest
+ yum: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
+ with_items:
+ - python-solv
+ - python-librepo
+ - rpmlint
+ when: ansible_distribution_major_version|int < 22
+
+- name: ensure packages required for taskotron tasks are installed (f22+)
+ dnf: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
with_items:
- python-solv
- python-librepo
- rpmlint
+ when: ansible_distribution_major_version|int > 21 and ansible_cmdline.ostree is not defined
- name: generate taskotron.yaml config file
template: src=taskotron.yaml.j2 dest=/etc/taskotron/taskotron.yaml owner=root group=root mode=0644
@@ -31,9 +41,5 @@
- name: set baseurl of yumrepoinfo.conf
replace: dest=/etc/taskotron/yumrepoinfo.conf regexp='baseurl = http://download\.fedoraproject\.org/.*' replace='baseurl = http://infrastructure.fedoraproject.org/pub/fedora/linux'
-# disabled for now until interaction with hosts role is figured out
-#- name: update /etc/hosts so that koji downloads work
-# template: src=hosts.j2 dest=/etc/hosts owner=root group=root mode=0644
-
- name: create /var/log/taskotron for task logfiles
file: path=/var/log/taskotron state=directory owner={{ slave_user }} group={{ slave_user }} mode=1755
diff --git a/roles/taskotron/taskotron-frontend/tasks/main.yml b/roles/taskotron/taskotron-frontend/tasks/main.yml
index 4138557b2..3275a9239 100644
--- a/roles/taskotron/taskotron-frontend/tasks/main.yml
+++ b/roles/taskotron/taskotron-frontend/tasks/main.yml
@@ -1,7 +1,14 @@
- name: ensure packages required for taskotron-frontend are installed
- action: yum name={{ item }} state=latest
+ yum: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
with_items:
- httpd
+ when: ansible_distribution_major_version|int < 22
+
+- name: ensure packages required for taskotron-frontend are installed (f22+)
+ dnf: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
+ with_items:
+ - httpd
+ when: ansible_distribution_major_version|int > 21 and ansible_cmdline.ostree is not defined
- name: create dirs for static files
file: path=/var/www/html/{{ item }} state=directory owner=apache group=apache mode=1755
diff --git a/roles/taskotron/taskotron-proxy/tasks/main.yml b/roles/taskotron/taskotron-proxy/tasks/main.yml
index e8c691624..bc0a34dd6 100644
--- a/roles/taskotron/taskotron-proxy/tasks/main.yml
+++ b/roles/taskotron/taskotron-proxy/tasks/main.yml
@@ -4,9 +4,16 @@
# closer to stg/prod
- name: ensure packages required for proxying are installedc
- action: yum name={{ item }} state=latest
+ yum: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
with_items:
- libsemanage-python
+ when: ansible_distribution_major_version|int < 22
+
+- name: ensure packages required for proxying are installedc
+ dnf: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
+ with_items:
+ - libsemanage-python
+ when: ansible_distribution_major_version|int > 21 and ansible_cmdline.ostree is not defined
- name: allow httpd tcp connections with selinux
seboolean: name=httpd_can_network_connect state=true persistent=yes
diff --git a/roles/taskotron/taskotron-trigger/tasks/main.yml b/roles/taskotron/taskotron-trigger/tasks/main.yml
index cfb2bdb13..09fe8ee50 100644
--- a/roles/taskotron/taskotron-trigger/tasks/main.yml
+++ b/roles/taskotron/taskotron-trigger/tasks/main.yml
@@ -1,22 +1,22 @@
- name: ensure packages required for taskotron-trigger are installed
- action: yum name={{ item }} state=latest
- when: deployment_type == 'prod' or deployment_type == 'local'
+ yum: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
with_items:
- fedmsg
- fedmsg-hub
- taskotron-trigger
# needed for cron script
- resultsdb_api
+ when: deployment_type == 'prod' or deployment_type == 'local'
- name: ensure packages required for taskotron-trigger are installed (infra-testing)
- action: yum name={{ item }} state=latest enablerepo=infrastructure-testing
- when: deployment_type == 'dev' or deployment_type == 'stg'
+ dnf: name={{ item }} state=latest enablerepo={{ extra_enablerepos }}
with_items:
- fedmsg
- fedmsg-hub
- taskotron-trigger
# needed for cron script
- resultsdb_api
+ when: ansible_distribution_major_version|int > 21 and ansible_cmdline.ostree is not defined
- name: generate trigger configuration
template: src=trigger.cfg.j2 dest=/etc/taskotron/trigger.cfg owner=root group=root mode=0744