diff --git a/inventory/group_vars/bodhi-backend b/inventory/group_vars/bodhi-backend
new file mode 100644
index 0000000000..f3befd4372
--- /dev/null
+++ b/inventory/group_vars/bodhi-backend
@@ -0,0 +1,38 @@
+---
+# common items for the releng-* boxes
+lvm_size: 100000
+mem_size: 16384
+num_cpus: 16
+nm: 255.255.255.0
+gw: 10.5.125.254
+dns: 10.5.126.21
+
+ks_url: http://10.5.126.23/repo/rhel/ks/kvm-rhel-6
+ks_repo: http://10.5.126.23/repo/rhel/RHEL6-x86_64/
+
+virt_install_command: virt-install -n {{ inventory_hostname }} -r {{ mem_size }}
+ --disk bus=virtio,path={{ volgroup }}/{{ inventory_hostname }}
+ --vcpus={{ num_cpus }} -l {{ ks_repo }} -x
+ "ksdevice=eth0 ks={{ ks_url }} console=tty0 console=ttyS0
+ hostname={{ inventory_hostname }} nameserver={{ dns }}
+ ip={{ eth0_ip }}::{{ gw }}:{{ nm }}:{{ inventory_hostname }}:eth0:none
+ ip={{ eth1_ip }}:::{{ nm }}:{{ inventory_hostname }}-nfs:eth1:none"
+ --network=bridge=br0,model=virtio --network=bridge=br1,model=virtio
+ --autostart --noautoconsole
+
+# With 16 cpus, theres a bunch more kernel threads
+nrpe_procs_warn: 900
+nrpe_procs_crit: 1000
+
+host_group: releng
+
+# These are consumed by a task in roles/fedmsg/base/main.yml
+fedmsg_certs:
+- service: shell
+ owner: root
+ group: root
+- service: bodhi
+ owner: root
+ group: masher
+
+nfs_mount_opts: "rw,hard,bg,intr,noatime,nodev,nosuid,nfsvers=3"
diff --git a/inventory/host_vars/bodhi-backend01.stg.phx2.fedoraproject.org b/inventory/host_vars/bodhi-backend01.stg.phx2.fedoraproject.org
new file mode 100644
index 0000000000..952fe3de94
--- /dev/null
+++ b/inventory/host_vars/bodhi-backend01.stg.phx2.fedoraproject.org
@@ -0,0 +1,14 @@
+---
+nm: 255.255.255.0
+gw: 10.5.126.254
+dns: 10.5.126.21
+ks_url: http://10.5.126.23/repo/rhel/ks/kvm-rhel-6
+ks_repo: http://10.5.126.23/repo/rhel/RHEL6-x86_64/
+volgroup: /dev/vg_guests
+eth0_ip: 10.5.126.24
+vmhost: virthost12.phx2.fedoraproject.org
+datacenter: phx2
+# This overrides a group var and lets the playbook know that we should
+# install special cron jobs here.
+master_sundries_node: True
+mirrorlist_procs: 45
diff --git a/inventory/inventory b/inventory/inventory
index b6abe93446..f584239660 100644
--- a/inventory/inventory
+++ b/inventory/inventory
@@ -174,15 +174,19 @@ collab03.fedoraproject.org
collab04.fedoraproject.org
[releng]
-branched-composer.phx2.fedoraproject.org
-rawhide-composer.phx2.fedoraproject.org
releng04.phx2.fedoraproject.org
relepel01.phx2.fedoraproject.org
[releng-stg]
-composer.stg.phx2.fedoraproject.org
releng01.stg.phx2.fedoraproject.org
+[bodhi-backend]
+bodhi-backend01.phx2.fedoraproject.org
+bodhi-backend02.phx2.fedoraproject.org
+
+[bodhi-backend-stg]
+bodhi-backend01.stg.phx2.fedoraproject.org
+
[composers]
branched-composer.phx2.fedoraproject.org
rawhide-composer.phx2.fedoraproject.org
diff --git a/playbooks/groups/bodhi-backend.yml b/playbooks/groups/bodhi-backend.yml
new file mode 100644
index 0000000000..2ac10b5a8e
--- /dev/null
+++ b/playbooks/groups/bodhi-backend.yml
@@ -0,0 +1,64 @@
+# create a new bodhi-backend system
+#
+# This group makes bodhi-backend servers.
+# They are used by releng to push updates with bodhi.
+# They also run some misc releng scripts.
+#
+
+- name: make bodhi-backend systems
+ hosts: bodhi-backend-stg
+ user: root
+ gather_facts: False
+
+ vars_files:
+ - /srv/web/infra/ansible/vars/global.yml
+ - "/srv/private/ansible/vars.yml"
+ - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
+
+ tasks:
+ - include: "{{ tasks }}/virt_instance_create.yml"
+
+ handlers:
+ - include: "{{ handlers }}/restart_services.yml"
+
+# Once the instance exists, configure it.
+
+- name: make bodhi-backend server system
+ hosts: bodhi-backend-stg
+ user: root
+ gather_facts: True
+
+ vars_files:
+ - /srv/web/infra/ansible/vars/global.yml
+ - "/srv/private/ansible/vars.yml"
+ - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
+
+ roles:
+ - base
+ - nagios_client
+ - collectd/base
+ - hosts
+ - builder_repo
+ - fas_client
+ - sudo
+ - role: nfs/client
+ mnt_dir: '/pub/'
+ nfs_src_dir: 'fedora_ftp/fedora.redhat.com/pub/'
+ - role: nfs/client
+ mnt_dir: '/mnt/fedora_koji'
+ nfs_src_dir: 'fedora_koji'
+ when: datacenter != 'staging'
+ - role: nfs/client
+ mnt_dir: '/mnt/fedora_koji'
+ nfs_src_dir: 'fedora_koji'
+ when: datacenter == 'staging'
+ - bodhi/backend
+ - fedmsg/base
+
+ tasks:
+ - include: "{{ tasks }}/2fa_client.yml"
+ - include: "{{ tasks }}/yumrepos.yml"
+ - include: "{{ tasks }}/motd.yml"
+
+ handlers:
+ - include: "{{ handlers }}/restart_services.yml"
diff --git a/playbooks/groups/bodhi.yml b/playbooks/groups/bodhi.yml
index 6856bb2858..e7cd901123 100644
--- a/playbooks/groups/bodhi.yml
+++ b/playbooks/groups/bodhi.yml
@@ -33,8 +33,6 @@
- fas_client
- collectd/base
- { role: bodhi/base, when: "inventory_hostname.startswith('bodhi01') or inventory_hostname.startswith('bodhi02.phx2')" }
- - { role: bodhi/masher, jobrunner: true, when: "inventory_hostname.startswith('releng04')" }
- - { role: bodhi/masher, epelmasher: true, when: "inventory_hostname.startswith('relepel01')" }
- { role: fedmsg/base, when: "inventory_hostname.startswith('bodhi01') or inventory_hostname.startswith('bodhi02.phx2')" }
- rsyncd
- sudo
diff --git a/roles/bodhi/masher/files/bodhi-masher.conf b/roles/bodhi/backend/files/bodhi-masher.conf
similarity index 100%
rename from roles/bodhi/masher/files/bodhi-masher.conf
rename to roles/bodhi/backend/files/bodhi-masher.conf
diff --git a/roles/bodhi/masher/files/el6-epel-testing.mash b/roles/bodhi/backend/files/el6-epel-testing.mash
similarity index 100%
rename from roles/bodhi/masher/files/el6-epel-testing.mash
rename to roles/bodhi/backend/files/el6-epel-testing.mash
diff --git a/roles/bodhi/masher/files/el6-epel.mash b/roles/bodhi/backend/files/el6-epel.mash
similarity index 100%
rename from roles/bodhi/masher/files/el6-epel.mash
rename to roles/bodhi/backend/files/el6-epel.mash
diff --git a/roles/bodhi/backend/files/epel7-testing.mash b/roles/bodhi/backend/files/epel7-testing.mash
new file mode 100644
index 0000000000..6d95a57fce
--- /dev/null
+++ b/roles/bodhi/backend/files/epel7-testing.mash
@@ -0,0 +1,18 @@
+# mash config file
+
+[epel7-testing]
+rpm_path = %(arch)s/
+source_path = SRPMS/
+debuginfo_path = %(arch)s/debug
+debuginfo = True
+multilib = False
+tag = epel7-testing
+inherit = False
+strict_keys = True
+keys = 352C64E5
+use_repoview = True
+repoviewurl = http://download.fedoraproject.org/pub/epel/testing/7/%(arch)s/
+repoviewtitle = "Fedora EPEL Testing 7 - %(arch)s"
+arches = x86_64 ppc64
+hash_packages = True
+delta = False
diff --git a/roles/bodhi/backend/files/epel7.mash b/roles/bodhi/backend/files/epel7.mash
new file mode 100644
index 0000000000..8b5ff7097f
--- /dev/null
+++ b/roles/bodhi/backend/files/epel7.mash
@@ -0,0 +1,18 @@
+# mash config file
+
+[epel7]
+rpm_path = %(arch)s/
+source_path = SRPMS/
+debuginfo_path = %(arch)s/debug
+debuginfo = True
+multilib = False
+tag = epel7
+inherit = False
+strict_keys = True
+keys = 352C64E5
+use_repoview = True
+repoviewurl = http://download.fedoraproject.org/pub/epel/7/%(arch)s/
+repoviewtitle = "Fedora EPEL 7 - %(arch)s"
+arches = x86_64 ppc64
+hash_packages = True
+delta = False
diff --git a/roles/bodhi/masher/files/f20-updates-testing.mash b/roles/bodhi/backend/files/f20-updates-testing.mash
similarity index 100%
rename from roles/bodhi/masher/files/f20-updates-testing.mash
rename to roles/bodhi/backend/files/f20-updates-testing.mash
diff --git a/roles/bodhi/masher/files/f20-updates.mash b/roles/bodhi/backend/files/f20-updates.mash
similarity index 100%
rename from roles/bodhi/masher/files/f20-updates.mash
rename to roles/bodhi/backend/files/f20-updates.mash
diff --git a/roles/bodhi/backend/files/f21-updates-testing.mash b/roles/bodhi/backend/files/f21-updates-testing.mash
new file mode 100644
index 0000000000..42a3034ef8
--- /dev/null
+++ b/roles/bodhi/backend/files/f21-updates-testing.mash
@@ -0,0 +1,22 @@
+# mash config file
+
+[f21-updates-testing]
+rpm_path = %(arch)s/
+source_path = SRPMS/
+debuginfo = True
+multilib = True
+multilib_method = devel
+tag = f21-updates-testing
+inherit = False
+strict_keys = True
+keys = 95A43F54
+repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/testing/21/%(arch)s/
+repoviewtitle = "Fedora 21 Updates Testing - %(arch)s"
+arches = armhfp i386 x86_64
+hash_packages = True
+delta = True
+delta_dirs = /pub/fedora/linux/releases/21/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f21-updates/%(arch)s/
+parent_repos = http://download.fedoraproject.org/pub/fedora/linux/updates/21/%(arch)s, http://download.fedoraproject.org/pub/fedora/linux/releases/21/Everything/%(arch)s/os
+# point to branched till we release then use above
+#delta_dirs = /pub/fedora/linux/development/21/%(arch)s/os/
+#parent_repos = http://download.fedoraproject.org/pub/fedora/linux/development/21/%(arch)s/os/
diff --git a/roles/bodhi/backend/files/f21-updates.mash b/roles/bodhi/backend/files/f21-updates.mash
new file mode 100644
index 0000000000..9e5469cf43
--- /dev/null
+++ b/roles/bodhi/backend/files/f21-updates.mash
@@ -0,0 +1,20 @@
+[f21-updates]
+rpm_path = %(arch)s/
+source_path = SRPMS/
+debuginfo = True
+multilib = True
+multilib_method = devel
+tag = f21-updates
+inherit = False
+strict_keys = True
+keys = 95A43F54
+repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/21/%(arch)s/
+repoviewtitle = "Fedora 21 Updates - %(arch)s"
+arches = armhfp i386 x86_64
+hash_packages = True
+delta = True
+#generate deltas against branched
+#delta_dirs = /pub/fedora/linux/development/21/%(arch)s/os/,/mnt/koji/mash/updates/f21-updates/%(arch)s/
+#parent_repos = http://download.fedoraproject.org/pub/fedora/linux/development/21/%(arch)s/os
+delta_dirs = /pub/fedora/linux/releases/21/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f21-updates/%(arch)s/
+parent_repos = http://download.fedoraproject.org/pub/fedora/linux/releases/21/Everything/%(arch)s/os
diff --git a/roles/bodhi/backend/files/f22-updates-testing.mash b/roles/bodhi/backend/files/f22-updates-testing.mash
new file mode 100644
index 0000000000..edc30d7d74
--- /dev/null
+++ b/roles/bodhi/backend/files/f22-updates-testing.mash
@@ -0,0 +1,22 @@
+# mash config file
+
+[f22-updates-testing]
+rpm_path = %(arch)s/
+source_path = SRPMS/
+debuginfo = True
+multilib = True
+multilib_method = devel
+tag = f22-updates-testing
+inherit = False
+strict_keys = True
+keys = 8E1431D5
+repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/testing/22/%(arch)s/
+repoviewtitle = "Fedora 22 Updates Testing - %(arch)s"
+arches = armhfp i386 x86_64
+hash_packages = True
+delta = True
+#delta_dirs = /pub/fedora/linux/releases/22/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f22-updates/%(arch)s/
+#parent_repos = http://download.fedoraproject.org/pub/fedora/linux/updates/22/%(arch)s, http://download.fedoraproject.org/pub/fedora/linux/releases/22/Everything/%(arch)s/os
+# point to branched till we release then use above
+delta_dirs = /pub/fedora/linux/development/22/%(arch)s/os/
+parent_repos = http://download.fedoraproject.org/pub/fedora/linux/development/22/%(arch)s/os/
diff --git a/roles/bodhi/backend/files/f22-updates.mash b/roles/bodhi/backend/files/f22-updates.mash
new file mode 100644
index 0000000000..1261bb36b6
--- /dev/null
+++ b/roles/bodhi/backend/files/f22-updates.mash
@@ -0,0 +1,20 @@
+[f22-updates]
+rpm_path = %(arch)s/
+source_path = SRPMS/
+debuginfo = True
+multilib = True
+multilib_method = devel
+tag = f22-updates
+inherit = False
+strict_keys = True
+keys = 8E1431D5
+repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/22/%(arch)s/
+repoviewtitle = "Fedora 22 Updates - %(arch)s"
+arches = armhfp i386 x86_64
+hash_packages = True
+delta = True
+#generate deltas against branched
+delta_dirs = /pub/fedora/linux/development/22/%(arch)s/os/,/mnt/koji/mash/updates/f22-updates/%(arch)s/
+parent_repos = http://download.fedoraproject.org/pub/fedora/linux/development/22/%(arch)s/os
+#delta_dirs = /pub/fedora/linux/releases/22/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f22-updates/%(arch)s/
+#parent_repos = http://download.fedoraproject.org/pub/fedora/linux/releases/22/Everything/%(arch)s/os
diff --git a/roles/bodhi/masher/meta/main.yml b/roles/bodhi/backend/meta/main.yml
similarity index 100%
rename from roles/bodhi/masher/meta/main.yml
rename to roles/bodhi/backend/meta/main.yml
diff --git a/roles/bodhi/masher/tasks/main.yml b/roles/bodhi/backend/tasks/main.yml
similarity index 100%
rename from roles/bodhi/masher/tasks/main.yml
rename to roles/bodhi/backend/tasks/main.yml
diff --git a/roles/bodhi/masher/templates/bodhi-epel-masher.cfg.j2 b/roles/bodhi/backend/templates/bodhi-epel-masher.cfg.j2
similarity index 90%
rename from roles/bodhi/masher/templates/bodhi-epel-masher.cfg.j2
rename to roles/bodhi/backend/templates/bodhi-epel-masher.cfg.j2
index aedc5ea817..0d99085655 100644
--- a/roles/bodhi/masher/templates/bodhi-epel-masher.cfg.j2
+++ b/roles/bodhi/backend/templates/bodhi-epel-masher.cfg.j2
@@ -8,9 +8,13 @@
arches = 'i386 x86_64 ppc/ppc64'
-# EPEL-7 specific configuration
+# EPEL specific configuration
epel7_arches = 'x86_64 ppc64'
epel7-testing_arches = 'x86_64 ppc64'
+el6-epel_arches = 'x86_64 i386 ppc64'
+el6-epel-testing_arches = 'x86_64 i386 ppc64'
+el5-epel_arches = 'x86_64 i386 ppc'
+el5-epel-testing_arches = 'x86_64 i386 ppc'
# For pushing EPEL updates from the masher
bodhi_url = 'http://localhost/updates'
@@ -55,7 +59,7 @@ visit.saprovider.model="fedora.accounts.tgfas.Visit"
visit.cookie.secure = True
# Our identity that we use to fetch bugzilla details and such
-bodhi_password='{{ bodhiBugzillaPassword }}'
+bodhi_password='<%= bodhiBugzillaPassword %>'
bodhi_email = 'updates@fedoraproject.org'
# TurboMail 3.0 settings
@@ -97,9 +101,10 @@ serverca_cert = '/etc/pki/bodhi/fedora-server-ca.cert'
masher_lock_id = 'FEDORA-EPEL'
-master_repomd = 'http://download01.phx2.fedoraproject.org/pub/fedora/linux/updates/%d/i386/repodata/repomd.xml'
-fedora_master_repomd = 'http://download01.phx2.fedoraproject.org/pub/fedora/linux/updates/%d/i386/repodata/repomd.xml'
-fedora_epel_master_repomd = 'http://download01.phx2.fedoraproject.org/pub/epel/%d/i386/repodata/repomd.xml'
+master_repomd = 'http://download01.phx2.fedoraproject.org/pub/fedora/linux/updates/%d/%s/repodata/repomd.xml'
+fedora_master_repomd = 'http://download01.phx2.fedoraproject.org/pub/fedora/linux/updates/%d/%s/repodata/repomd.xml'
+fedora_epel_master_repomd = 'http://download01.phx2.fedoraproject.org/pub/epel/%d/%s/repodata/repomd.xml'
+
[logging]
diff --git a/roles/bodhi/masher/templates/bodhi-masher-jobrunner.cfg.j2 b/roles/bodhi/backend/templates/bodhi-masher-jobrunner.cfg.j2
similarity index 88%
rename from roles/bodhi/masher/templates/bodhi-masher-jobrunner.cfg.j2
rename to roles/bodhi/backend/templates/bodhi-masher-jobrunner.cfg.j2
index 919af68b63..a25e1d677e 100644
--- a/roles/bodhi/masher/templates/bodhi-masher-jobrunner.cfg.j2
+++ b/roles/bodhi/backend/templates/bodhi-masher-jobrunner.cfg.j2
@@ -9,16 +9,16 @@
# Release status
# pre-beta enforces the 'Pre Beta' policy defined here:
# https://fedoraproject.org/wiki/Updates_Policy
-f21.status = 'pre_beta'
+f22.status = 'pre_beta'
-f21.post_beta.mandatory_days_in_testing = 7
-f21.post_beta.critpath.num_admin_approvals = 0
-f21.post_beta.critpath.min_karma = 2
-f21.post_beta.critpath.stable_after_days_without_negative_karma = 14
+f22.post_beta.mandatory_days_in_testing = 7
+f22.post_beta.critpath.num_admin_approvals = 0
+f22.post_beta.critpath.min_karma = 2
+f22.post_beta.critpath.stable_after_days_without_negative_karma = 14
-f21.pre_beta.mandatory_days_in_testing = 3
-f21.pre_beta.critpath.num_admin_approvals = 0
-f21.pre_beta.critpath.min_karma = 1
+f22.pre_beta.mandatory_days_in_testing = 3
+f22.pre_beta.critpath.num_admin_approvals = 0
+f22.pre_beta.critpath.min_karma = 1
sqlobject.dburi="notrans_postgres://bodhi:{{ bodhiPassword }}@db-bodhi/bodhi"
@@ -60,7 +60,7 @@ visit.saprovider.model="fedora.accounts.tgfas.Visit"
visit.cookie.secure = True
# Our identity that we use to fetch bugzilla details and such
-bodhi_password='{{ bodhiBugzillaPassword }}'
+bodhi_password='<%= bodhiBugzillaPassword %>'
bodhi_email = 'updates@fedoraproject.org'
# TurboMail 3.0 settings
@@ -102,9 +102,9 @@ serverca_cert = '/etc/pki/bodhi/fedora-server-ca.cert'
masher_lock_id = 'FEDORA'
-master_repomd = 'http://download01.phx2.fedoraproject.org/pub/fedora/linux/updates/%d/i386/repodata/repomd.xml'
-fedora_master_repomd = 'http://download01.phx2.fedoraproject.org/pub/fedora/linux/updates/%d/i386/repodata/repomd.xml'
-fedora_epel_master_repomd = 'http://download01.phx2.fedoraproject.org/pub/epel/%d/i386/repodata/repomd.xml'
+master_repomd = 'http://download01.phx2.fedoraproject.org/pub/fedora/linux/updates/%d/%s/repodata/repomd.xml'
+fedora_master_repomd = 'http://download01.phx2.fedoraproject.org/pub/fedora/linux/updates/%d/%s/repodata/repomd.xml'
+fedora_epel_master_repomd = 'http://download01.phx2.fedoraproject.org/pub/epel/%d/%s/repodata/repomd.xml'
arches = 'i386 x86_64'
diff --git a/roles/bodhi/masher/templates/bodhi-masher.cfg.j2 b/roles/bodhi/backend/templates/bodhi-masher.cfg.j2
similarity index 93%
rename from roles/bodhi/masher/templates/bodhi-masher.cfg.j2
rename to roles/bodhi/backend/templates/bodhi-masher.cfg.j2
index 81c85dfdff..5849dd62f8 100644
--- a/roles/bodhi/masher/templates/bodhi-masher.cfg.j2
+++ b/roles/bodhi/backend/templates/bodhi-masher.cfg.j2
@@ -35,9 +35,9 @@ jobs = ''
# Query the Fedora Package Database for the list of Critical Path Packages.
# This pkgdb feature is currently broken in staging.
-{% if environment == "production" %}
+<% if environment == "production" %>
critpath.type = 'pkgdb'
-{% endif %}
+<% end %>
# FAS2
#sqlalchemy.dburi="sqlite:///"
@@ -49,7 +49,7 @@ visit.saprovider.model="fedora.accounts.tgfas.Visit"
visit.cookie.secure = True
# Our identity that we use to fetch bugzilla details and such
-bodhi_password='{{ bodhiBugzillaPassword }}'
+bodhi_password='<%= bodhiBugzillaPassword %>'
bodhi_email = 'updates@fedoraproject.org'
mail.on = True
@@ -85,9 +85,9 @@ serverca_cert = '/etc/pki/bodhi/fedora-server-ca.cert'
masher_lock_id = 'FEDORA'
-master_repomd = 'http://download01.phx2.fedoraproject.org/pub/fedora/linux/updates/%d/i386/repodata/repomd.xml'
-fedora_master_repomd = 'http://download01.phx2.fedoraproject.org/pub/fedora/linux/updates/%d/i386/repodata/repomd.xml'
-fedora_epel_master_repomd = 'http://download01.phx2.fedoraproject.org/pub/epel/%d/i386/repodata/repomd.xml'
+master_repomd = 'http://download01.phx2.fedoraproject.org/pub/fedora/linux/updates/%d/%s/repodata/repomd.xml'
+fedora_master_repomd = 'http://download01.phx2.fedoraproject.org/pub/fedora/linux/updates/%d/%s/repodata/repomd.xml'
+fedora_epel_master_repomd = 'http://download01.phx2.fedoraproject.org/pub/epel/%d/%s/repodata/repomd.xml'
arches = 'armhfp i386 x86_64'
diff --git a/roles/bodhi/backend/templates/bodhi-prod.cfg.erb b/roles/bodhi/backend/templates/bodhi-prod.cfg.erb
new file mode 100644
index 0000000000..c166c65c6d
--- /dev/null
+++ b/roles/bodhi/backend/templates/bodhi-prod.cfg.erb
@@ -0,0 +1,205 @@
+[global]
+
+##
+## Bodhi Production Configuration
+##
+## $Id: bodhi-prod.cfg.erb,v 1.8 2008/05/21 23:38:07 lmacken Exp $
+##
+
+# Release status
+# pre-beta enforces the 'Pre Beta' policy defined here:
+# https://fedoraproject.org/wiki/Updates_Policy
+f22.status = 'post_beta'
+
+f22.post_beta.mandatory_days_in_testing = 7
+f22.post_beta.critpath.num_admin_approvals = 0
+f22.post_beta.critpath.min_karma = 2
+f22.post_beta.critpath.stable_after_days_without_negative_karma = 14
+
+f22.pre_beta.mandatory_days_in_testing = 3
+f22.pre_beta.critpath.num_admin_approvals = 0
+f22.pre_beta.critpath.min_karma = 1
+
+# Bodhi Defaults:
+#
+# The number of admin approvals it takes to be able to push a critical path
+# # update to stable for a pending release.
+# critpath.num_admin_approvals = 0
+#
+# # The net karma required to submit a critial path update to a pending release)
+# critpath.min_karma = 2
+#
+# # Allow critpath to submit for stable after 2 weeks with no negative karma
+# critpath.stable_after_days_without_negative_karma = 14
+
+
+## A notice to flash on the front page
+#frontpage_notice = 'Bodhi is now enforcing the Package Update Acceptance Criteria across all Fedora releases.'
+
+## A notice to flash on the New Update page
+#newupdate_notice = 'Koji is currently down for a scheduled outage. Please see status.fedoraproject.org for more information'
+
+# Query the Fedora Package Database for the list of Critical Path Packages.
+<% if environment == "production" %>
+critpath.type = 'pkgdb'
+<% else %>
+<% end %>
+
+<% if environment == "production" %>
+deployment_type = "prod"
+<% end %>
+<% if environment == "staging" %>
+deployment_type = "stg"
+<% end %>
+<% if environment == "development" %>
+deployment_type = "dev"
+<% end %>
+
+# We no longer require proventester karma for critpath approval
+# https://fedorahosted.org/bodhi/ticket/653
+critpath.num_admin_approvals = 0
+
+#f17.pre_beta.critpath.num_admin_approvals = 0
+
+query_wiki_test_cases = True
+
+sqlobject.dburi="notrans_postgres://bodhi:<%= bodhiPassword %>@db-bodhi/bodhi"
+
+masher = 'http://releng04/updates'
+
+# For the build auto-complete widget
+tg_mochikit.packed = True
+
+server.socket_port=8084
+server.environment="production"
+autoreload.on = False
+server.webpath="/updates"
+server.log_file = "server.log"
+server.log_to_screen = False
+server.thread_pool = 50
+server.socket_queue_size = 30
+
+# We probably want to have apache do this for us...
+#gzipFilter.on = True
+
+session_filter.on = False
+base_url_filter.on = True
+base_url_filter.use_x_forwarded_host = False
+<% if environment == "staging" %>
+base_url_filter.base_url = 'https://admin.stg.fedoraproject.org'
+<% else %>
+base_url_filter.base_url = 'https://admin.fedoraproject.org'
+<% end %>
+
+tg.strict_parameters = True
+tg.ignore_parameters = ["_csrf_token"]
+
+# Periodic jobs
+jobs = 'cache_release_data'
+
+# FAS2
+#sqlalchemy.dburi="sqlite:///"
+fas.url = 'https://admin.fedoraproject.org/accounts/'
+identity.provider='jsonfas2'
+identity.saprovider.model.visit="fedora.accounts.tgfas.VisitIdentity"
+visit.manager="jsonfas2"
+visit.saprovider.model="fedora.accounts.tgfas.Visit"
+visit.cookie.secure = True
+visit.cookie.httponly = True
+
+# Our identity that we use to fetch bugzilla details and such
+bodhi_password='<%= bodhiBugzillaPassword %>'
+bodhi_email = 'updates@fedoraproject.org'
+security_team = 'security_respons-members@fedoraproject.org'
+release_team_address = 'bodhiadmin-members@fedoraproject.org'
+fedora_announce_list = 'package-announce@lists.fedoraproject.org'
+fedora_test_announce_list = 'test@lists.fedoraproject.org'
+mashed_dir = '/mnt/koji/mash/updates'
+# TurboMail 3.0 settings
+<% if environment == "staging" %>
+mail.on = False
+<% else %>
+mail.on = True
+<% end %>
+mail.transport = 'smtp'
+mail.smtp.server = 'bastion'
+# The 'utf-8-qp' encoding causes problems with TurboMail 3.x
+# https://fedorahosted.org/bodhi/ticket/648
+mail.message.encoding = 'utf-8'
+notice_sender = 'updates@fedoraproject.org'
+#bz_server = 'https://bzprx.vip.phx.redhat.com/xmlrpc.cgi'
+bz_server = 'https://bugzilla.redhat.com/xmlrpc.cgi'
+bz_cookie = '/var/tmp/bodhi-bz.cookie'
+bz_products = 'Fedora,Fedora EPEL,oVirt'
+
+build_dir = '/mnt/koji/packages'
+<% if environment == "staging" %>
+base_address = 'https://admin.stg.fedoraproject.org'
+<% else %>
+base_address = 'https://admin.fedoraproject.org'
+<% end %>
+
+acl_system = 'pkgdb'
+<% if environment == "staging" %>
+pkgdb_url = 'http://localhost/pkgdb'
+<% else %>
+pkgdb_url = 'https://admin.fedoraproject.org/pkgdb'
+<% end %>
+
+<% if environment == "staging" %>
+buildsystem = 'dev'
+<% else %>
+buildsystem = 'koji'
+<% end %>
+client_cert = '/etc/pki/bodhi/bodhi.pem'
+clientca_cert = '/etc/pki/bodhi/fedora-upload-ca.cert'
+serverca_cert = '/etc/pki/bodhi/fedora-server-ca.cert'
+
+[logging]
+
+[[handlers]]
+
+[[[debug_out]]]
+class='TimedRotatingFileHandler'
+args="('/var/log/bodhi/server.log', 'D', 7)"
+level='DEBUG'
+formatter='full_content'
+
+[[[access_out]]]
+class='TimedRotatingFileHandler'
+level='INFO'
+args="('/var/log/bodhi/access.log', 'D', 7)"
+formatter='message_only'
+
+[[[error_out]]]
+class='TimedRotatingFileHandler'
+args="('/var/log/bodhi/server.log', 'D', 7)"
+level='ERROR'
+formatter='full_content'
+
+[[loggers]]
+[[[bodhi]]]
+level='DEBUG'
+qualname='bodhi'
+handlers=['debug_out']
+propagate=0
+
+[[[allinfo]]]
+level='INFO'
+handlers=['debug_out']
+propagate=0
+
+#[[[access]]]
+#level='INFO'
+#qualname='turbogears.access'
+#handlers=['debug_out']
+
+[[[turbomail]]]
+level='INFO'
+qualname='turbomail'
+handlers=['debug_out']
+
+[[[urllib3]]]
+level='WARN'
+qualname='urllib3'
+handlers=['debug_out']
diff --git a/roles/bodhi/masher/templates/mash.conf b/roles/bodhi/backend/templates/mash.conf
similarity index 100%
rename from roles/bodhi/masher/templates/mash.conf
rename to roles/bodhi/backend/templates/mash.conf
diff --git a/roles/bodhi/masher/defaults/main.yml b/roles/bodhi/masher/defaults/main.yml
deleted file mode 100644
index dcaf11527c..0000000000
--- a/roles/bodhi/masher/defaults/main.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-epelmasher: false
-jobrunner: false
diff --git a/roles/bodhi/masher/files/f13-updates.mash b/roles/bodhi/masher/files/f13-updates.mash
deleted file mode 100644
index 97ef3ddca3..0000000000
--- a/roles/bodhi/masher/files/f13-updates.mash
+++ /dev/null
@@ -1,17 +0,0 @@
-[f13-updates]
-rpm_path = %(arch)s/
-source_path = SRPMS/
-debuginfo = True
-multilib = True
-multilib_method = devel
-tag = dist-f13-updates
-inherit = False
-strict_keys = True
-keys = E8E40FDE
-repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/13/%(arch)s/
-repoviewtitle = "Fedora 13 Updates - %(arch)s"
-arches = i386 x86_64
-delta = True
-# Enable this once F13 releases
-delta_dirs = /pub/fedora/linux/releases/13/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f13-updates/%(arch)s/
-#delta_dirs = /pub/fedora/linux/development/13/%(arch)s/os/
diff --git a/roles/bodhi/masher/files/f14-updates-testing.mash b/roles/bodhi/masher/files/f14-updates-testing.mash
deleted file mode 100644
index cf58def23d..0000000000
--- a/roles/bodhi/masher/files/f14-updates-testing.mash
+++ /dev/null
@@ -1,20 +0,0 @@
-# mash config file
-
-[f14-updates-testing]
-rpm_path = %(arch)s/
-source_path = SRPMS/
-debuginfo = True
-multilib = True
-multilib_method = devel
-tag = dist-f14-updates-testing
-inherit = False
-strict_keys = True
-keys = 97A1071F
-repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/testing/14/%(arch)s/
-repoviewtitle = "Fedora 14 Updates Testing - %(arch)s"
-arches = i386 x86_64
-delta = True
-# Enable this once F14 releases
-#delta_dirs = /pub/fedora/linux/releases/14/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f14-updates/%(arch)s/
-delta_dirs = /pub/fedora/linux/development/14/%(arch)s/os/
-parent_repos = http://download.fedoraproject.org/pub/fedora/linux/updates/14/%(arch)s, http://download.fedoraproject.org/pub/fedora/linux/releases/14/Everything/%(arch)s/os
diff --git a/roles/bodhi/masher/files/f14-updates.mash b/roles/bodhi/masher/files/f14-updates.mash
deleted file mode 100644
index 2cfe76facf..0000000000
--- a/roles/bodhi/masher/files/f14-updates.mash
+++ /dev/null
@@ -1,16 +0,0 @@
-[f14-updates]
-rpm_path = %(arch)s/
-source_path = SRPMS/
-debuginfo = True
-multilib = True
-multilib_method = devel
-tag = dist-f14-updates
-inherit = False
-strict_keys = True
-keys = 97A1071F
-repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/14/%(arch)s/
-repoviewtitle = "Fedora 14 Updates - %(arch)s"
-arches = i386 x86_64
-delta = True
-delta_dirs = /pub/fedora/linux/releases/14/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f14-updates/%(arch)s/
-parent_repos = http://download.fedoraproject.org/pub/fedora/linux/releases/14/Everything/%(arch)s/os
diff --git a/roles/bodhi/masher/files/f15-updates-testing.mash b/roles/bodhi/masher/files/f15-updates-testing.mash
deleted file mode 100644
index d464b96ece..0000000000
--- a/roles/bodhi/masher/files/f15-updates-testing.mash
+++ /dev/null
@@ -1,20 +0,0 @@
-# mash config file
-
-[f15-updates-testing]
-rpm_path = %(arch)s/
-source_path = SRPMS/
-debuginfo = True
-multilib = True
-multilib_method = devel
-tag = dist-f15-updates-testing
-inherit = False
-strict_keys = True
-keys = 069C8460
-repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/testing/15/%(arch)s/
-repoviewtitle = "Fedora 15 Updates Testing - %(arch)s"
-arches = i386 x86_64
-delta = True
-# Enable this once F15 releases
-#delta_dirs = /pub/fedora/linux/releases/15/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f15-updates/%(arch)s/
-delta_dirs = /pub/fedora/linux/development/15/%(arch)s/os/
-parent_repos = http://download.fedoraproject.org/pub/fedora/linux/updates/15/%(arch)s, http://download.fedoraproject.org/pub/fedora/linux/releases/15/Everything/%(arch)s/os
diff --git a/roles/bodhi/masher/files/f15-updates.mash b/roles/bodhi/masher/files/f15-updates.mash
deleted file mode 100644
index 94384ba409..0000000000
--- a/roles/bodhi/masher/files/f15-updates.mash
+++ /dev/null
@@ -1,16 +0,0 @@
-[f15-updates]
-rpm_path = %(arch)s/
-source_path = SRPMS/
-debuginfo = True
-multilib = True
-multilib_method = devel
-tag = dist-f15-updates
-inherit = False
-strict_keys = True
-keys = 069C8460
-repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/15/%(arch)s/
-repoviewtitle = "Fedora 15 Updates - %(arch)s"
-arches = i386 x86_64
-delta = True
-delta_dirs = /pub/fedora/linux/releases/15/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f15-updates/%(arch)s/
-parent_repos = http://download.fedoraproject.org/pub/fedora/linux/releases/15/Everything/%(arch)s/os
diff --git a/roles/bodhi/masher/files/f16-updates-testing.mash b/roles/bodhi/masher/files/f16-updates-testing.mash
deleted file mode 100644
index 7d7d85948e..0000000000
--- a/roles/bodhi/masher/files/f16-updates-testing.mash
+++ /dev/null
@@ -1,20 +0,0 @@
-# mash config file
-
-[f16-updates-testing]
-rpm_path = %(arch)s/
-source_path = SRPMS/
-debuginfo = True
-multilib = True
-multilib_method = devel
-tag = f16-updates-testing
-inherit = False
-strict_keys = True
-keys = A82BA4B7
-repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/testing/16/%(arch)s/
-repoviewtitle = "Fedora 16 Updates Testing - %(arch)s"
-arches = i386 x86_64
-delta = True
-# Enable this once F16 releases
-delta_dirs = /pub/fedora/linux/releases/16/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f16-updates/%(arch)s/
-#delta_dirs = /pub/fedora/linux/development/16/%(arch)s/os/
-parent_repos = http://download.fedoraproject.org/pub/fedora/linux/updates/16/%(arch)s, http://download.fedoraproject.org/pub/fedora/linux/releases/16/Everything/%(arch)s/os
diff --git a/roles/bodhi/masher/files/f16-updates.mash b/roles/bodhi/masher/files/f16-updates.mash
deleted file mode 100644
index fb2f688911..0000000000
--- a/roles/bodhi/masher/files/f16-updates.mash
+++ /dev/null
@@ -1,16 +0,0 @@
-[f16-updates]
-rpm_path = %(arch)s/
-source_path = SRPMS/
-debuginfo = True
-multilib = True
-multilib_method = devel
-tag = f16-updates
-inherit = False
-strict_keys = True
-keys = A82BA4B7
-repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/16/%(arch)s/
-repoviewtitle = "Fedora 16 Updates - %(arch)s"
-arches = i386 x86_64
-delta = True
-delta_dirs = /pub/fedora/linux/releases/16/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f16-updates/%(arch)s/
-parent_repos = http://download.fedoraproject.org/pub/fedora/linux/releases/16/Everything/%(arch)s/os
diff --git a/roles/bodhi/masher/files/f17-updates-testing.mash b/roles/bodhi/masher/files/f17-updates-testing.mash
deleted file mode 100644
index 1733239cd9..0000000000
--- a/roles/bodhi/masher/files/f17-updates-testing.mash
+++ /dev/null
@@ -1,18 +0,0 @@
-# mash config file
-
-[f17-updates-testing]
-rpm_path = %(arch)s/
-source_path = SRPMS/
-debuginfo = True
-multilib = True
-multilib_method = devel
-tag = f17-updates-testing
-inherit = False
-strict_keys = True
-keys = 1ACA3465
-repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/testing/17/%(arch)s/
-repoviewtitle = "Fedora 17 Updates Testing - %(arch)s"
-arches = i386 x86_64
-delta = True
-delta_dirs = /pub/fedora/linux/releases/17/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f17-updates/%(arch)s/
-parent_repos = http://download.fedoraproject.org/pub/fedora/linux/updates/17/%(arch)s, http://download.fedoraproject.org/pub/fedora/linux/releases/17/Everything/%(arch)s/os
diff --git a/roles/bodhi/masher/files/f17-updates.mash b/roles/bodhi/masher/files/f17-updates.mash
deleted file mode 100644
index fcb31e7c11..0000000000
--- a/roles/bodhi/masher/files/f17-updates.mash
+++ /dev/null
@@ -1,16 +0,0 @@
-[f17-updates]
-rpm_path = %(arch)s/
-source_path = SRPMS/
-debuginfo = True
-multilib = True
-multilib_method = devel
-tag = f17-updates
-inherit = False
-strict_keys = True
-keys = 1ACA3465
-repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/17/%(arch)s/
-repoviewtitle = "Fedora 17 Updates - %(arch)s"
-arches = i386 x86_64
-delta = True
-delta_dirs = /pub/fedora/linux/releases/17/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f17-updates/%(arch)s/
-parent_repos = http://download.fedoraproject.org/pub/fedora/linux/releases/17/Everything/%(arch)s/os
diff --git a/roles/bodhi/masher/files/f18-updates-testing.mash b/roles/bodhi/masher/files/f18-updates-testing.mash
deleted file mode 100644
index d552aca992..0000000000
--- a/roles/bodhi/masher/files/f18-updates-testing.mash
+++ /dev/null
@@ -1,18 +0,0 @@
-# mash config file
-
-[f18-updates-testing]
-rpm_path = %(arch)s/
-source_path = SRPMS/
-debuginfo = True
-multilib = True
-multilib_method = devel
-tag = f18-updates-testing
-inherit = False
-strict_keys = True
-keys = DE7F38BD
-repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/testing/18/%(arch)s/
-repoviewtitle = "Fedora 18 Updates Testing - %(arch)s"
-arches = i386 x86_64
-delta = True
-delta_dirs = /pub/fedora/linux/releases/18/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f18-updates/%(arch)s/
-parent_repos = http://download.fedoraproject.org/pub/fedora/linux/updates/18/%(arch)s, http://download.fedoraproject.org/pub/fedora/linux/releases/18/Everything/%(arch)s/os
diff --git a/roles/bodhi/masher/files/f18-updates.mash b/roles/bodhi/masher/files/f18-updates.mash
deleted file mode 100644
index 11c8d550b1..0000000000
--- a/roles/bodhi/masher/files/f18-updates.mash
+++ /dev/null
@@ -1,18 +0,0 @@
-[f18-updates]
-rpm_path = %(arch)s/
-source_path = SRPMS/
-debuginfo = True
-multilib = True
-multilib_method = devel
-tag = f18-updates
-inherit = False
-strict_keys = True
-keys = DE7F38BD
-repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/18/%(arch)s/
-repoviewtitle = "Fedora 18 Updates - %(arch)s"
-arches = i386 x86_64
-delta = True
-delta_dirs = /pub/fedora/linux/releases/18/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f18-updates/%(arch)s/
-parent_repos = http://download.fedoraproject.org/pub/fedora/linux/releases/18/Everything/%(arch)s/os
-
-
diff --git a/roles/bodhi/masher/files/f19-updates-testing.mash b/roles/bodhi/masher/files/f19-updates-testing.mash
deleted file mode 100644
index 6eb8fd88a4..0000000000
--- a/roles/bodhi/masher/files/f19-updates-testing.mash
+++ /dev/null
@@ -1,21 +0,0 @@
-# mash config file
-
-[f19-updates-testing]
-rpm_path = %(arch)s/
-source_path = SRPMS/
-debuginfo = True
-multilib = True
-multilib_method = devel
-tag = f19-updates-testing
-inherit = False
-strict_keys = True
-keys = FB4b18E6
-repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/testing/19/%(arch)s/
-repoviewtitle = "Fedora 19 Updates Testing - %(arch)s"
-arches = i386 x86_64
-delta = True
-delta_dirs = /pub/fedora/linux/releases/19/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f19-updates/%(arch)s/
-parent_repos = http://download.fedoraproject.org/pub/fedora/linux/updates/19/%(arch)s, http://download.fedoraproject.org/pub/fedora/linux/releases/19/Everything/%(arch)s/os
-# point to branched till we release then use above
-#delta_dirs = /pub/fedora/linux/development/19/%(arch)s/os/
-#parent_repos = http://download.fedoraproject.org/pub/fedora/linux/development/19/%(arch)s/os/
diff --git a/roles/bodhi/masher/files/f19-updates.mash b/roles/bodhi/masher/files/f19-updates.mash
deleted file mode 100644
index 4a216e5fca..0000000000
--- a/roles/bodhi/masher/files/f19-updates.mash
+++ /dev/null
@@ -1,18 +0,0 @@
-[f19-updates]
-rpm_path = %(arch)s/
-source_path = SRPMS/
-debuginfo = True
-multilib = True
-multilib_method = devel
-tag = f19-updates
-inherit = False
-strict_keys = True
-keys = FB4B18E6
-repoviewurl = http://download.fedoraproject.org/pub/fedora/linux/updates/19/%(arch)s/
-repoviewtitle = "Fedora 19 Updates - %(arch)s"
-arches = i386 x86_64
-delta = True
-#delta_dirs = /pub/fedora/linux/development/19/%(arch)s/os/,/mnt/koji/mash/updates/f19-updates/%(arch)s/
-#parent_repos = http://download.fedoraproject.org/pub/fedora/linux/development/19/%(arch)s/os
-delta_dirs = /pub/fedora/linux/releases/19/Everything/%(arch)s/os/,/mnt/koji/mash/updates/f19-updates/%(arch)s/
-parent_repos = http://download.fedoraproject.org/pub/fedora/linux/releases/19/Everything/%(arch)s/os