# Run this with "-f 20"

- hosts: 'zuul-scheduler:!disabled'
  any_errors_fatal: true
  tasks:
    - name: Stop Zuul Scheduler
      service:
        name: zuul-scheduler
        state: stopped
      become: true
      become_user: root
    - name: Stop Zuul Web
      service:
        name: zuul-web
        state: stopped
      become: true
      become_user: root
    - name: Stop Zuul Finger Gateway
      service:
        name: zuul-fingergw
        state: stopped
      become: true
      become_user: root
    - name: Wait for (3h10m) to stop Zuul Scheduler
      wait_for:
        path: /var/run/zuul/scheduler.pid
        state: absent
        timeout: 11400
    - name: Wait for (3h10m) to stop Zuul Web
      wait_for:
        path: /var/run/zuul/web.pid
        state: absent
        timeout: 11400
    - name: Wait for (3h10m) to stop Zuul Finger Gateway
      wait_for:
        path: /var/run/zuul/fingergw.pid
        state: absent
        timeout: 11400

- hosts: 'zuul-merger:!disabled'
  tasks:
    - name: Stop Zuul Mergers
      service:
        name: zuul-merger
        state: stopped
      become: true
      become_user: root

- hosts: 'zuul-executor:!disabled'
  tasks:
    - name: Stop Zuul Executors
      service:
        name: zuul-executor
        state: stopped
      become: true
      become_user: root

- hosts: 'zuul-scheduler:!disabled'
  tasks:
    - name: Start Zuul Scheduler
      service:
        name: zuul-scheduler
        state: started
      become: true
      become_user: root
    - name: Stop Zuul Web
      service:
        name: zuul-web
        state: started
      become: true
      become_user: root
    - name: Stop Zuul Finger Gateway
      service:
        name: zuul-fingergw
        state: started
      become: true
      become_user: root

- hosts: 'zuul-merger:!disabled'
  tasks:
    - name: Wait for (3h10m) to stop Zuul Mergers
      wait_for:
        path: /var/run/zuul/merger.pid
        state: absent
        timeout: 11400
    - name: Start Zuul Mergers
      service:
        name: zuul-merger
        state: started
      become: true
      become_user: root

- hosts: 'zuul-executor:!disabled'
  tasks:
    - name: Wait for (3h10m) to stop Zuul Executors
      wait_for:
        path: /var/run/zuul/executor.pid
        state: absent
        timeout: 11400
    - name: Start Zuul Executors
      service:
        name: zuul-executor
        state: started
      become: true
      become_user: root