ansible/roles/odcs/base/tasks/main.yml

381 lines
8.5 KiB
YAML
Raw Normal View History

2017-09-20 10:11:05 +08:00
---
# install packages and generate shared configuration files
- name: install the packages required for ODCS
package:
pkg: "{{ item }}"
2017-09-20 10:11:05 +08:00
with_items:
- python3-psycopg2
- python3-odcs-common
2019-10-21 09:04:34 +00:00
- python3-celery
2017-09-20 10:11:05 +08:00
- odcs
2019-10-24 10:30:32 +00:00
- httpd
- make
- libxml2
- intltool
2017-09-20 10:11:05 +08:00
tags:
- odcs
- name: install the latest ODCS packagess
package:
pkg: "{{ item }}"
2017-09-20 10:11:05 +08:00
with_items:
- python3-odcs-common
2017-09-20 10:11:05 +08:00
- odcs
2020-05-04 13:53:28 +02:00
- odcs-client
2017-09-20 10:11:05 +08:00
when: odcs_upgrade
tags:
- odcs
- name: Enable the mod_auth_openidc module on rhel8
copy:
dest: /etc/dnf/modules.d/mod_auth_openidc.module
content: |
[mod_auth_openidc]
name=mod_auth_openidc
stream=2.3
profiles=
state=enabled
when: datacenter == "iad2"
2017-09-20 10:11:05 +08:00
# install required packages for frontend here, as we may
# need to reload httpd in next task when host is frontend
- name: install the packages required for ODCS frontend
package:
pkg: "{{ item }}"
2017-09-20 10:11:05 +08:00
state: present
with_items:
- mod_auth_openidc
- python3-mod_wsgi
2017-09-20 10:11:05 +08:00
when: inventory_hostname.startswith('odcs-frontend')
tags:
- odcs
- odcs/frontend
2017-09-20 10:11:05 +08:00
- name: install the packages required for ODCS backend
package:
pkg: "{{ item }}"
2017-09-20 10:11:05 +08:00
state: present
with_items:
- koji
when: inventory_hostname.startswith('odcs-backend')
tags:
- odcs
- odcs/backend
2017-09-20 10:11:05 +08:00
- name: create odcs-server group
group:
name: odcs-server
gid: 64321
state: present
- name: create odcs-server user
user:
name: odcs-server
uid: 64321
group: odcs-server
2019-10-21 13:43:31 +00:00
- name: create ODCS_TARGET_DIR
file:
path: "{{ item }}"
state: directory
owner: odcs-server
group: odcs-server
mode: 0775
# recurse: yes
follow: no
with_items:
- "{{ odcs_target_dir }}"
tags:
- odcs
- odcs/frontend
- name: create ODCS_TARGET_DIR private
2019-10-21 13:43:31 +00:00
file:
path: "{{ item }}"
2019-10-21 13:43:31 +00:00
state: directory
owner: odcs-server
group: odcs-server
mode: 0770
# recurse: yes
2019-10-21 13:43:31 +00:00
follow: no
with_items:
- "{{ odcs_target_dir }}/private"
2019-10-21 13:43:31 +00:00
tags:
- odcs
- odcs/frontend
2019-10-21 13:43:31 +00:00
- name: ensure ODCS service directories have right ownership
file:
path: "{{ item }}"
state: directory
owner: odcs-server
group: odcs-server
recurse: yes
follow: no
with_items:
- /var/run/odcs-backend
- /var/log/odcs-backend
tags:
- odcs
- odcs/backend
2020-03-18 14:05:23 +00:00
2017-09-20 10:11:05 +08:00
# this app config is shared by backend and frontend, but has different
# owner groups on backend and frontend, and notify different handlers,
# we can have vars set for frontend and backend seperately to do that,
# but it looks a little weird to have such special vars in
# inventory/group_vars/odcs-*, also we don't want to repeat the same
# required vars in frontend and backend, so just have 2 tasks in base
# to keep it simple.
2017-09-20 10:11:05 +08:00
- name: generate the ODCS app config for frontend
template:
src: etc/odcs/config.py.j2
dest: /etc/odcs/config.py
owner: odcs-server
2017-09-20 10:11:05 +08:00
group: apache
mode: 0440
notify:
- restart apache
when: inventory_hostname.startswith('odcs-frontend')
tags:
- odcs
- odcs/frontend
2017-09-20 10:11:05 +08:00
- name: generate the ODCS app config for backend
template:
src: etc/odcs/config.py.j2
dest: /etc/odcs/config.py
owner: odcs-server
group: odcs-server
2017-09-20 10:11:05 +08:00
mode: 0440
notify:
- restart odcs-celery-backend
2017-09-20 10:11:05 +08:00
when: inventory_hostname.startswith('odcs-backend')
tags:
- odcs
- odcs/backend
2017-12-11 08:48:28 +00:00
- name: generate the ODCS raw_config_wrapper config for backend
template:
src: etc/odcs/raw_config_wrapper.conf.j2
dest: /etc/odcs/raw_config_wrapper.conf
owner: odcs-server
group: odcs-server
mode: 0440
notify:
- restart odcs-celery-backend
when: inventory_hostname.startswith('odcs-backend')
tags:
- odcs
- odcs/backend
- name: generate the ODCS runroot_koji config for backend
template:
src: etc/odcs/runroot_koji.conf.j2
dest: /etc/odcs/runroot_koji.conf
owner: odcs-server
group: odcs-server
mode: 0440
notify:
- restart odcs-celery-backend
when: inventory_hostname.startswith('odcs-backend')
tags:
- odcs
- odcs/backend
- name: Make sure the /etc/fedmsg.d/odcs.py file (provided by rpm) is absent.
file:
path: /etc/fedmsg.d/odcs.py
state: absent
tags:
- odcs
- odcs/backend
- name: copy the ODCS pungi config template to backend
2018-06-21 12:20:44 +00:00
copy:
src: "{{ roles_path }}/odcs/base/files/pungi.conf"
dest: /etc/odcs/pungi.conf
owner: odcs-server
group: odcs-server
2018-06-21 12:20:44 +00:00
mode: 0640
2017-12-11 08:48:28 +00:00
notify:
- restart odcs-celery-backend
2017-12-11 08:48:28 +00:00
when: inventory_hostname.startswith('odcs-backend')
tags:
- odcs
- odcs/backend
- name: copy the odcs-celery-backend.service file.
template:
src: "etc/systemd/system/odcs-celery-backend.service.j2"
dest: /etc/systemd/system/odcs-celery-backend.service
owner: odcs-server
group: odcs-server
mode: 0640
notify:
- restart odcs-celery-backend
when: inventory_hostname.startswith('odcs-backend')
tags:
- odcs
- odcs/backend
2019-10-22 13:45:15 +00:00
- name: copy the odcs-celery-beat.service file.
template:
src: "etc/systemd/system/odcs-celery-beat.service.j2"
dest: /etc/systemd/system/odcs-celery-beat.service
owner: odcs-server
group: odcs-server
2019-10-22 13:45:15 +00:00
mode: 0640
notify:
- restart odcs-celery-beat
when: inventory_hostname.startswith('odcs-frontend')
tags:
- odcs
- odcs/frontend
- name: Reload systemd daemon
systemd:
daemon_reload: yes
2019-10-23 09:22:54 +00:00
tags:
- odcs
- odcs/backend
2019-10-23 09:22:54 +00:00
- odcs/frontend
- name: enable ODCS backend (odcs-celery-backend)
service:
name: odcs-celery-backend
enabled: yes
when: inventory_hostname.startswith('odcs-backend')
tags:
- odcs
2019-10-23 09:22:54 +00:00
- odcs/backend
2019-10-22 13:45:15 +00:00
- name: enable ODCS beat (odcs-celery-beat)
service:
2019-10-22 13:45:15 +00:00
name: odcs-celery-beat
enabled: yes
when: inventory_hostname.startswith('odcs-frontend')
tags:
- odcs
- odcs/frontend
- name: copy the fedora-messaging.toml.j2 file.
template:
src: "fedora-messaging.toml.j2"
dest: /etc/fedora-messaging/config.toml
owner: odcs-server
group: odcs-server
mode: 0640
tags:
- odcs
- odcs/frontend
- odcs/backend
- name: copy the odcs-backend.conf tmpfiles.d file.
copy:
2019-10-21 08:29:28 +00:00
src: "{{ roles_path }}/odcs/base/files/tmpfiles.d/odcs-backend.conf"
dest: /etc/tmpfiles.d/odcs-backend.conf
owner: odcs-server
group: odcs-server
mode: 0640
notify:
- restart odcs-celery-backend
when: inventory_hostname.startswith('odcs-backend')
tags:
- odcs
- odcs/backend
- name: configure logrotate
copy:
src: "{{ roles_path }}/odcs/base/files/logrotate.d/odcs"
dest: /etc/logrotate.d/odcs
when: inventory_hostname.startswith('odcs-backend')
tags:
- odcs
- odcs/backend
- name: Run systemd-tmpfiles --create
command: systemd-tmpfiles --create
args:
creates: /var/run/odcs-backend
notify:
- restart odcs-celery-backend
when: inventory_hostname.startswith('odcs-backend')
tags:
- odcs
- odcs/backend
2019-10-23 09:22:54 +00:00
- name: copy the odcs rabbitmq private queue crt.
2019-10-22 08:39:33 +00:00
copy:
src: "{{private}}/files/rabbitmq/{{env}}/pki/issued/odcs-private-queue{{env_suffix}}.crt"
dest: /etc/odcs/odcs-private-queue.crt
owner: odcs-server
group: apache
2019-10-22 08:39:33 +00:00
mode: 0640
tags:
- odcs
- odcs/backend
- odcs/frontend
2019-10-23 09:22:54 +00:00
- name: copy the odcs rabbitmq private queue key.
2019-10-22 08:39:33 +00:00
copy:
src: "{{private}}/files/rabbitmq/{{env}}/pki/private/odcs-private-queue{{env_suffix}}.key"
dest: /etc/odcs/odcs-private-queue.key
owner: odcs-server
group: apache
2019-10-22 08:39:33 +00:00
mode: 0640
tags:
- odcs
- odcs/backend
- odcs/frontend
2019-10-23 09:22:54 +00:00
- name: copy the odcs rabbitmq crt.
copy:
src: "{{private}}/files/rabbitmq/{{env}}/pki/issued/odcs{{env_suffix}}.crt"
dest: /etc/odcs/odcs-rabbitmq.crt
owner: odcs-server
group: apache
2019-10-23 09:22:54 +00:00
mode: 0640
tags:
- odcs
- odcs/backend
- odcs/frontend
- name: copy the odcs rabbitmq key.
copy:
2019-10-23 11:09:50 +00:00
src: "{{private}}/files/rabbitmq/{{env}}/pki/private/odcs{{env_suffix}}.key"
2019-10-23 09:22:54 +00:00
dest: /etc/odcs/odcs-rabbitmq.key
owner: odcs-server
group: apache
2019-10-23 09:22:54 +00:00
mode: 0640
tags:
- odcs
- odcs/backend
- odcs/frontend
2019-10-23 09:22:54 +00:00
2019-10-22 08:39:33 +00:00
- name: copy the odcs rabbitmq CA cert.
copy:
src: "{{private}}/files/rabbitmq/{{env}}/pki/ca.crt"
dest: /etc/odcs/ca.crt
owner: odcs-server
group: apache
2019-10-22 08:39:33 +00:00
mode: 0640
tags:
- odcs
- odcs/backend
- odcs/frontend
- name: copy the custom_compose_raw_config_wrapper.conf file.
copy:
src: "{{ roles_path }}/odcs/base/files/odcs/custom_compose_raw_config_wrapper.conf"
dest: /etc/odcs/custom_compose_raw_config_wrapper.conf
owner: odcs-server
group: odcs-server
mode: 0640
notify:
- restart odcs-celery-backend
when: inventory_hostname.startswith('odcs-backend')
tags:
- odcs
- odcs/backend