system-config/playbooks/roles/zuul-scheduler/tasks/main.yaml
Clark Boylan e5732b6137 Accomodate zuul's new key management system
Zuul is changing the way its key management system work from implicit
"backups" to explicit exports that can be used for backups. Additionally
to rename projects we will need to update those keys in zk which can be
done with copy and delete commands. We update the rename playbook to use
these.

Depends-On: https://review.opendev.org/c/zuul/zuul/+/803973
Change-Id: I2ba8015392f22ea615bcba7fb0d73a138dc77034
2021-08-09 14:45:49 -07:00

113 lines
2.5 KiB
YAML

- name: Copy main.yaml into place
copy:
remote_src: yes
src: /opt/project-config/zuul/main.yaml
dest: /etc/zuul/main.yaml
notify: Reload Zuul Scheduler
- name: Add github key
copy:
content: '{{ zuul_github_app_key }}'
dest: /etc/zuul/github.key
owner: '{{ zuul_user }}'
group: '{{ zuul_group }}'
mode: 0600
- name: Add opendev status backup
include_role:
name: zuul-status-backup
vars:
tenant: opendev
- name: Add openstack status backup
include_role:
name: zuul-status-backup
vars:
tenant: openstack
- name: Add vexxhost status backup
include_role:
name: zuul-status-backup
vars:
tenant: vexxhost
- name: Add zuul status backup
include_role:
name: zuul-status-backup
vars:
tenant: zuul
- name: Add pyca status backup
include_role:
name: zuul-status-backup
vars:
tenant: pyca
- name: Add pypa status backup
include_role:
name: zuul-status-backup
vars:
tenant: pypa
- name: Backup zk key data daily
cron:
name: Backup zuul zk key data
minute: 0
hour: 0
# Note we backup to /var/lib/zuul because that is what we have bind
# mounted in the container and we are operating relative to that context
job: docker exec zuul-scheduler_scheduler_1 zuul export-keys /var/lib/zuul/zuul-keys-backup.json
- name: Install logging config
copy:
src: logging.conf
dest: /etc/zuul/logging.conf
- name: Install geraman logging config
copy:
src: gearman-logging.conf
dest: /etc/zuul/gearman-logging.conf
- name: Rotate logs
include_role:
name: logrotate
vars:
logrotate_file_name: /var/log/zuul/zuul.log
logrotate_rotate: 30
- name: Rotate zuul debug logs
include_role:
name: logrotate
vars:
logrotate_file_name: /var/log/zuul/debug.log
logrotate_rotate: 30
- name: Rotate gearman logs
include_role:
name: logrotate
vars:
logrotate_file_name: /var/log/zuul/gearman-server.log
- name: Make docker-compose directory
file:
state: directory
path: /etc/zuul-scheduler
- name: Install docker-compose file
copy:
src: docker-compose.yaml
dest: /etc/zuul-scheduler/docker-compose.yaml
- name: Update container images
include_tasks: pull.yaml
- name: Start containers
include_tasks: start.yaml
when: zuul_scheduler_start is defined and zuul_scheduler_start | bool
# We can prune here as it should leave the "latest" tagged images
# as well as the currently running images.
- name: Run docker prune to cleanup unneeded images
shell:
cmd: docker image prune -f