ansible/playbooks/manual/upgrade/fmn.yml
Kevin Fenzi 7984b46eb7 The great phx2 pruning run (1st cut).
Since we no longer have any machines in phx2, I have tried to remove
them from ansible. Note that there are still some places where we need
to remove them still: nagios, dhcp, named were not touched, and in cases
where it wasn't pretty clear what a conditional was doing I left it to
be cleaned up later.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-06-14 14:14:31 -07:00

124 lines
3.6 KiB
YAML

- name: push packages out
hosts: notifs_backend:notifs_backend_stg:notifs_web:notifs_web_stg
user: root
vars_files:
- /srv/web/infra/ansible/vars/global.yml
- "/srv/private/ansible/vars.yml"
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
vars:
testing: False
handlers:
- import_tasks: "{{ handlers_path }}/restart_services.yml"
tasks:
- name: clean all metadata {%if testing%}(with infrastructure-testing on){%endif%}
command: yum clean all
check_mode: no
- name: yum update FMN packages from main repo
package: name="python-fmn" state=latest
- name: verify the frontend and stop it
hosts: notifs_web:notifs_web_stg
user: root
vars_files:
- /srv/web/infra/ansible/vars/global.yml
- "/srv/private/ansible/vars.yml"
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
handlers:
- import_tasks: "{{ handlers_path }}/restart_services.yml"
pre_tasks:
- name: tell nagios to shush w.r.t. the frontend
nagios: action=downtime minutes=15 service=host host={{ inventory_hostname_short }}{{ env_suffix }}
delegate_to: noc01.iad2.fedoraproject.org
ignore_errors: true
roles:
- notifs/frontend
post_tasks:
- service: name="httpd" state=stopped
- name: verify the backend, stop it, and then upgrade the db
hosts: notifs_backend:notifs_backend_stg
user: root
vars_files:
- /srv/web/infra/ansible/vars/global.yml
- "/srv/private/ansible/vars.yml"
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
handlers:
- import_tasks: "{{ handlers_path }}/restart_services.yml"
pre_tasks:
- name: tell nagios to shush w.r.t. the backend
nagios: action=downtime minutes=5 service=host host={{ inventory_hostname_short }}{{ env_suffix }}
delegate_to: noc01.iad2.fedoraproject.org
ignore_errors: true
roles:
- notifs/backend
- fedmsg/base
- fedmsg/hub
tasks:
- name: Stop the notification backend
service: name="fedmsg-hub" state=stopped
- name: Stop the workers and backends
service: name={{ item }} state=stopped
with_items:
- fmn-backend@1
- fmn-worker@1
- fmn-worker@2
- fmn-worker@3
- fmn-worker@4
- fmn-worker@5
- fmn-worker@6
- fmn-celerybeat
- name: Upgrade the database
command: /usr/bin/alembic -c /usr/share/fmn/alembic.ini upgrade head
args:
chdir: /usr/share/fmn/
- name: Re-start the workers and the backend
service: name={{ item }} state=started
with_items:
- fmn-backend@1
- fmn-worker@1
- fmn-worker@2
- fmn-worker@3
- fmn-worker@4
- fmn-worker@5
- fmn-worker@6
- fmn-celerybeat
- name: And... start the backend again
service: name="fedmsg-hub" state=started
# Don't bother unshushing the backend here. it takes a few minutes to start
# up anyways, so just let the downtime expire.
#post_tasks:
#- name: tell nagios to unshush w.r.t. the backend
# nagios: action=unsilence service=host host={{ inventory_hostname_short }}{{ env_suffix }}
# delegate_to: noc01.iad2.fedoraproject.org
# ignore_errors: true
- name: restart the frontend
hosts: notifs_web:notifs_web_stg
user: root
vars_files:
- /srv/web/infra/ansible/vars/global.yml
- "/srv/private/ansible/vars.yml"
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
handlers:
- import_tasks: "{{ handlers_path }}/restart_services.yml"
tasks:
- service: name="httpd" state=started
post_tasks:
- name: tell nagios to unshush w.r.t. the frontend
nagios: action=unsilence service=host host={{ inventory_hostname_short }}{{ env_suffix }}
delegate_to: noc01.iad2.fedoraproject.org
ignore_errors: true