diff --git a/files/copr/provision/files/mock/fedora-21-i386.cfg b/files/copr/provision/files/mock/fedora-21-i386.cfg
new file mode 100644
index 0000000000..9ac64f2933
--- /dev/null
+++ b/files/copr/provision/files/mock/fedora-21-i386.cfg
@@ -0,0 +1,63 @@
+config_opts['root'] = 'fedora-21-i386'
+config_opts['target_arch'] = 'i686'
+config_opts['legal_host_arches'] = ('i386', 'i586', 'i686', 'x86_64')
+config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
+config_opts['dist'] = 'fc21' # only useful for --resultdir variable subst
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['releasever'] = '21'
+
+config_opts['yum.conf'] = """
+[main]
+cachedir=/var/cache/yum
+debuglevel=1
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+
+# repos
+
+[fedora]
+name=fedora
+metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
+failovermethod=priority
+
+[updates]
+name=updates
+metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
+failovermethod=priority
+
+[updates-testing]
+name=updates-testing
+metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-f$releasever&arch=$basearch
+failovermethod=priority
+enabled=0
+
+[local]
+name=local
+baseurl=http://kojipkgs.fedoraproject.org/repos/f21-build/latest/i386/
+cost=2000
+enabled=0
+
+[fedora-debuginfo]
+name=fedora-debuginfo
+metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
+failovermethod=priority
+enabled=0
+
+[updates-debuginfo]
+name=updates-debuginfo
+metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-debug-f$releasever&arch=$basearch
+failovermethod=priority
+enabled=0
+
+[updates-testing-debuginfo]
+name=updates-testing-debuginfo
+metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-debug-f$releasever&arch=$basearch
+failovermethod=priority
+enabled=0
+"""
diff --git a/files/copr/provision/files/mock/fedora-21-x86_64.cfg b/files/copr/provision/files/mock/fedora-21-x86_64.cfg
new file mode 100644
index 0000000000..517be438a0
--- /dev/null
+++ b/files/copr/provision/files/mock/fedora-21-x86_64.cfg
@@ -0,0 +1,63 @@
+config_opts['root'] = 'fedora-21-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',)
+config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
+config_opts['dist'] = 'fc21' # only useful for --resultdir variable subst
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['releasever'] = '21'
+
+config_opts['yum.conf'] = """
+[main]
+cachedir=/var/cache/yum
+debuglevel=1
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+
+# repos
+
+[fedora]
+name=fedora
+metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
+failovermethod=priority
+
+[updates]
+name=updates
+metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
+failovermethod=priority
+
+[updates-testing]
+name=updates-testing
+metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-f$releasever&arch=$basearch
+failovermethod=priority
+enabled=0
+
+[local]
+name=local
+baseurl=http://kojipkgs.fedoraproject.org/repos/f21-build/latest/x86_64/
+cost=2000
+enabled=0
+
+[fedora-debuginfo]
+name=fedora-debuginfo
+metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
+failovermethod=priority
+enabled=0
+
+[updates-debuginfo]
+name=updates-debuginfo
+metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-debug-f$releasever&arch=$basearch
+failovermethod=priority
+enabled=0
+
+[updates-testing-debuginfo]
+name=updates-testing-debuginfo
+metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-debug-f$releasever&arch=$basearch
+failovermethod=priority
+enabled=0
+"""
diff --git a/inventory/group_vars/taskotron-dev b/inventory/group_vars/taskotron-dev
index 3c27898079..19943681ed 100644
--- a/inventory/group_vars/taskotron-dev
+++ b/inventory/group_vars/taskotron-dev
@@ -20,10 +20,10 @@ buildmaster_dir: /home/buildmaster/master
buildslave_dir: /home/buildslave/slave
master_dir: /home/buildmaster/master
master_user: buildmaster
-external_hostname: taskotron.dev.fedoraproject.org
+external_hostname: taskotron-dev.fedoraproject.org
resultsdb_url: http://resultsdb-dev01.qa.fedoraproject.org/resultsdb_api/api/v1.0
-resultsdb_frontend_url: http://resultsdb-dev01.qa.fedoraproject.org/
-resultsdb_external_url: https://taskotron-dev.fedoraproject.org/resultsdb/
+resultsdb_frontend_url: http://resultsdb-dev01.qa.fedoraproject.org/resultsdb/
+resultsdb_external_url: https://taskotron-dev.fedoraproject.org/resultsdb_api/
resultsdb_endpoint: resultsdb
resultsdb_api_endpoint: resultsdb_api
landingpage_title: "Taskotron Development"
diff --git a/playbooks/hosts/copr-fe-dev.cloud.fedoraproject.org.yml b/playbooks/hosts/copr-fe-dev.cloud.fedoraproject.org.yml
index 58ce2f4442..970e56b914 100644
--- a/playbooks/hosts/copr-fe-dev.cloud.fedoraproject.org.yml
+++ b/playbooks/hosts/copr-fe-dev.cloud.fedoraproject.org.yml
@@ -23,6 +23,7 @@
tasks:
- include: "{{ tasks }}/cloud_setup_basic.yml"
+ - include: "{{ tasks }}/postfix_basic.yml"
- include: "{{ tasks }}/iptables.yml"
- name: copy copr.repo
diff --git a/playbooks/hosts/copr-fe.cloud.fedoraproject.org.yml b/playbooks/hosts/copr-fe.cloud.fedoraproject.org.yml
index f6f64ed365..04273cce16 100644
--- a/playbooks/hosts/copr-fe.cloud.fedoraproject.org.yml
+++ b/playbooks/hosts/copr-fe.cloud.fedoraproject.org.yml
@@ -23,6 +23,8 @@
tasks:
- include: "{{ tasks }}/cloud_setup_basic.yml"
+ - include: "{{ tasks }}/postfix_basic.yml"
+
- name: mount up disk of copr fe
action: mount name=/srv/copr-fe src='LABEL=copr-fe' fstype=ext4 state=mounted
- include: "{{ tasks }}/iptables.yml"
diff --git a/roles/badges/frontend/files/tahrir.conf b/roles/badges/frontend/files/tahrir.conf
index b65d7041d0..b7be161d4f 100644
--- a/roles/badges/frontend/files/tahrir.conf
+++ b/roles/badges/frontend/files/tahrir.conf
@@ -1,5 +1,6 @@
Alias /static /usr/lib/python2.6/site-packages/tahrir/static
Alias /pngs /usr/share/badges/pngs
+Alias /stls /usr/share/badges/stls
WSGIDaemonProcess tahrir user=tahrir group=tahrir maximum-requests=1000 display-name=tahrir processes=4 threads=4
WSGISocketPrefix run/wsgi
diff --git a/roles/badges/frontend/tasks/main.yml b/roles/badges/frontend/tasks/main.yml
index f1e312eb6d..7c5ef23294 100644
--- a/roles/badges/frontend/tasks/main.yml
+++ b/roles/badges/frontend/tasks/main.yml
@@ -94,5 +94,23 @@
tags:
- assets
+- name: make badge stl directory
+ file: >
+ path=/usr/share/badges/stls
+ state=directory
+ owner=root group=root mode=0755
+ tags:
+ - assets
+
+- name: copy over all our badge images
+ copy: >
+ src={{ item }}
+ dest=/usr/share/badges/stls/
+ owner=root group=root mode=0644
+ with_fileglob:
+ - /srv/web/infra/badges/stls/*.stl
+ tags:
+ - assets
+
- name: ensure selinux lets httpd talk to postgres
seboolean: name=httpd_can_network_connect_db persistent=yes state=yes
diff --git a/roles/fedoauth/tasks/main.yml b/roles/fedoauth/tasks/main.yml
index c37a3ffea4..874400e4e0 100644
--- a/roles/fedoauth/tasks/main.yml
+++ b/roles/fedoauth/tasks/main.yml
@@ -52,6 +52,11 @@
environment:
FEDOAUTH_CONFIG: /etc/fedoauth/fedoauth.cfg
+- name: Clean the database
+ command: /usr/bin/python2 /usr/share/fedoauth/cleanup.py
+ environment:
+ FEDOAUTH_CONFIG: /etc/fedoauth/fedoauth.cfg
+
- name: set sebooleans so fedoauth can talk to the db
action: seboolean name=httpd_can_network_connect_db
state=true
diff --git a/roles/pkgdb2/templates/pkgdb2.cfg b/roles/pkgdb2/templates/pkgdb2.cfg
index 586fba3450..f33dc777df 100644
--- a/roles/pkgdb2/templates/pkgdb2.cfg
+++ b/roles/pkgdb2/templates/pkgdb2.cfg
@@ -17,7 +17,11 @@ ITEMS_PER_PAGE = 50
AUTO_APPROVE = ['watchcommits', 'watchbugzilla']
#### FAS group for the pkgdb admins
+{% if env == 'staging' %}
+ADMIN_GROUP = ['cvsadmin']
+{% else %}
ADMIN_GROUP = ['sysadmin-main', 'cvsadmin']
+{% endif %}
### The default backend for dogpile
### Options are listed at:
diff --git a/roles/taskotron/buildmaster-configure/templates/taskotron.master.cfg.j2 b/roles/taskotron/buildmaster-configure/templates/taskotron.master.cfg.j2
index 400bef99b7..50d80220de 100644
--- a/roles/taskotron/buildmaster-configure/templates/taskotron.master.cfg.j2
+++ b/roles/taskotron/buildmaster-configure/templates/taskotron.master.cfg.j2
@@ -194,7 +194,12 @@ authz_cfg=authz.Authz(
{% if deployment_type == 'dev' %}
auth=auth.BasicAuth([("{{ dev_buildbot_user }}","{{ dev_buildbot_password }}")]),
{% endif %}
- #auth=auth.BasicAuth([("{{ buildbot_user }}","{{ buildbot_pw }}")]),
+ {% if deployment_type == 'stg' %}
+ auth=auth.BasicAuth([("{{ stg_buildbot_user }}","{{ stg_buildbot_password }}")]),
+ {% endif %}
+ {% if deployment_type == 'prod' %}
+ auth=auth.BasicAuth([("{{ prod_buildbot_user }}","{{ prod_buildbot_password }}")]),
+ {% endif %}
gracefulShutdown = False,
forceBuild = 'auth', # use this to test your slave once it is set up
forceAllBuilds = False,
diff --git a/roles/taskotron/taskotron-frontend/templates/landingpage.html.j2 b/roles/taskotron/taskotron-frontend/templates/landingpage.html.j2
index 133e09bcff..1dea6ca961 100644
--- a/roles/taskotron/taskotron-frontend/templates/landingpage.html.j2
+++ b/roles/taskotron/taskotron-frontend/templates/landingpage.html.j2
@@ -84,9 +84,9 @@
diff --git a/roles/taskotron/taskotron-proxy/templates/resultsdb.conf.j2 b/roles/taskotron/taskotron-proxy/templates/resultsdb.conf.j2
index b24f2246da..dc3568d764 100644
--- a/roles/taskotron/taskotron-proxy/templates/resultsdb.conf.j2
+++ b/roles/taskotron/taskotron-proxy/templates/resultsdb.conf.j2
@@ -5,7 +5,7 @@
- ProxyPass {{ resultsdb_url }}
- ProxyPassReverse {{ resultsdb_url }}
+ ProxyPass {{ resultsdb_external_url }}
+ ProxyPassReverse {{ resultsdb_external_url }}
RequestHeader add X-Script-Name /{{ resultsdb_api_endpoint }}/