2013-06-07 20:01:23 +00:00
|
|
|
---
|
|
|
|
# tasklist for setting up fedmsg
|
|
|
|
# This is the base set of files needed for fedmsg
|
|
|
|
|
2013-06-13 15:31:57 +00:00
|
|
|
- name: install needed packages
|
2019-06-11 10:40:55 -04:00
|
|
|
package:
|
|
|
|
state: present
|
|
|
|
name:
|
|
|
|
- libsemanage-python
|
|
|
|
- python-psutil
|
2013-06-13 15:31:57 +00:00
|
|
|
tags:
|
|
|
|
- packages
|
2014-10-09 14:42:17 +00:00
|
|
|
- fedmsg/base
|
2020-05-24 13:09:05 -07:00
|
|
|
when: ansible_distribution_major_version|int < 8
|
2013-06-13 15:31:57 +00:00
|
|
|
|
2015-06-29 19:11:53 +00:00
|
|
|
- name: install python2 fedmsg package
|
2017-10-09 00:38:19 +02:00
|
|
|
package: name=fedmsg state=present
|
2019-05-20 17:36:07 +00:00
|
|
|
when: "'python34_fedmsg' not in group_names and ansible_distribution_major_version|int < 22"
|
2015-12-16 07:04:54 +00:00
|
|
|
tags: fedmsg/base
|
|
|
|
|
|
|
|
- name: install python2 fedmsg package
|
|
|
|
dnf: pkg=fedmsg state=present
|
2019-05-20 17:36:07 +00:00
|
|
|
when: "'python34_fedmsg' not in group_names and ansible_distribution_major_version|int > 21"
|
2015-06-29 19:11:53 +00:00
|
|
|
tags: fedmsg/base
|
|
|
|
|
2015-11-19 02:37:39 +00:00
|
|
|
- name: install the python34 fedmsg package (yum)
|
2017-10-09 00:38:19 +02:00
|
|
|
package: name=python34-fedmsg-core state=present
|
2019-05-20 17:36:07 +00:00
|
|
|
when: "'python34_fedmsg' in group_names and ansible_distribution_major_version|int < 22"
|
2015-11-19 02:37:39 +00:00
|
|
|
tags: fedmsg/base
|
|
|
|
|
2015-11-19 02:40:58 +00:00
|
|
|
- name: install the python3 fedmsg package (dnf)
|
2018-11-26 10:52:31 -08:00
|
|
|
dnf: pkg=python3-fedmsg state=present
|
2019-05-20 17:36:07 +00:00
|
|
|
when: "'python34_fedmsg' in group_names and ansible_distribution_major_version|int > 21"
|
2015-06-29 19:11:53 +00:00
|
|
|
tags: fedmsg/base
|
|
|
|
|
2015-11-09 18:03:00 +00:00
|
|
|
- name: install needed packages
|
2018-10-09 14:09:00 -07:00
|
|
|
dnf:
|
2019-11-01 21:54:02 +00:00
|
|
|
name: ['libsemanage-python', 'python-psutil']
|
2018-10-09 14:09:00 -07:00
|
|
|
state: present
|
2015-11-09 18:03:00 +00:00
|
|
|
tags:
|
|
|
|
- packages
|
|
|
|
- fedmsg/base
|
2019-11-07 00:06:29 +00:00
|
|
|
when: ansible_distribution_major_version|int < 31 and ansible_distribution == 'Fedora'
|
2015-11-09 18:03:00 +00:00
|
|
|
|
2013-06-07 20:01:23 +00:00
|
|
|
- name: setup /etc/fedmsg.d directory
|
2013-06-07 20:07:56 +00:00
|
|
|
file: path=/etc/fedmsg.d owner=root group=root mode=0755 state=directory
|
2013-06-07 20:01:23 +00:00
|
|
|
tags:
|
|
|
|
- config
|
2014-10-09 14:42:17 +00:00
|
|
|
- fedmsg/base
|
2013-06-07 20:01:23 +00:00
|
|
|
|
2015-06-16 20:16:08 +00:00
|
|
|
- name: remove any old static endpoints files
|
|
|
|
file: dest="/etc/fedmsg.d/{{item}}" state=absent
|
|
|
|
with_items:
|
2020-07-23 16:04:38 -04:00
|
|
|
- endpoints-bodhi.py
|
2015-06-20 04:44:18 +00:00
|
|
|
- endpoints-elections.py
|
2020-07-23 16:04:38 -04:00
|
|
|
- endpoints-external-composer.py
|
|
|
|
- endpoints-github2fedmsg.py
|
|
|
|
- endpoints-kerneltest.py
|
2015-06-30 16:04:37 +00:00
|
|
|
- pkgdb.py
|
2015-06-16 20:16:08 +00:00
|
|
|
tags:
|
|
|
|
- config
|
|
|
|
- fedmsgdconfig
|
|
|
|
- fedmsg/base
|
|
|
|
|
2014-03-14 15:30:32 +00:00
|
|
|
# Any files that change need to restart any services that depend on them. A
|
|
|
|
# trick here is that some hosts have an httpd that uses fedmsg, while others do
|
|
|
|
# not. Some hosts have a fedmsg-hub that uses this config, while others do not.
|
|
|
|
# Our handlers in handlers/restart_services.yml are smart enough to
|
|
|
|
# *conditionally* restart these services, only if they are installed on the
|
|
|
|
# system.
|
2014-10-09 19:06:56 +00:00
|
|
|
- name: setup basic /etc/fedmsg.d/ contents for internal hosts
|
2014-03-14 15:30:32 +00:00
|
|
|
template: >
|
|
|
|
src="{{ item }}.j2"
|
|
|
|
dest="/etc/fedmsg.d/{{ item }}"
|
|
|
|
owner=root
|
|
|
|
group=root
|
2016-08-08 19:53:57 +00:00
|
|
|
mode=0644
|
2013-06-13 15:31:57 +00:00
|
|
|
with_items:
|
|
|
|
- ssl.py
|
|
|
|
- endpoints.py
|
2014-10-02 09:25:03 +02:00
|
|
|
- endpoints-anitya.py
|
2013-06-14 04:40:01 +00:00
|
|
|
- endpoints-fedbadges.py
|
2014-11-17 19:30:42 +00:00
|
|
|
- endpoints-hotness.py
|
2013-11-07 14:37:15 +00:00
|
|
|
- endpoints-mailman.py
|
2014-07-09 14:15:47 +00:00
|
|
|
- endpoints-fedimg.py
|
2014-06-23 20:22:01 +00:00
|
|
|
- endpoints-bugzilla2fedmsg.py
|
2013-06-13 15:31:57 +00:00
|
|
|
- relay.py
|
|
|
|
- logging.py
|
|
|
|
- base.py
|
2020-06-14 15:40:22 -07:00
|
|
|
when: "'persistent_cloud' not in group_names"
|
2014-10-09 19:06:56 +00:00
|
|
|
tags:
|
|
|
|
- config
|
|
|
|
- fedmsgdconfig
|
|
|
|
- fedmsg/base
|
|
|
|
notify:
|
2015-11-04 23:40:01 +00:00
|
|
|
- reload httpd
|
2014-10-09 19:06:56 +00:00
|
|
|
- restart fedmsg-gateway
|
|
|
|
- restart fedmsg-hub
|
|
|
|
- restart fedmsg-irc
|
|
|
|
- restart fedmsg-relay
|
|
|
|
|
2015-06-12 16:38:08 +00:00
|
|
|
- name: dynamically generate policy from group/host vars.
|
|
|
|
template: >
|
|
|
|
src="{{ item }}.j2"
|
|
|
|
dest="/etc/fedmsg.d/{{ item }}"
|
|
|
|
owner=root
|
|
|
|
group=root
|
2016-08-08 19:53:57 +00:00
|
|
|
mode=0644
|
2015-06-12 16:38:08 +00:00
|
|
|
with_items:
|
|
|
|
- policy.py
|
2020-06-14 15:40:22 -07:00
|
|
|
when: "'persistent_cloud' not in group_names"
|
2015-06-12 16:38:08 +00:00
|
|
|
tags:
|
|
|
|
- config
|
|
|
|
- fedmsgdconfig
|
2017-01-16 22:02:26 +00:00
|
|
|
- fedmsgdpolicy
|
2015-06-12 16:38:08 +00:00
|
|
|
- fedmsg/base
|
|
|
|
notify:
|
2015-11-04 23:40:01 +00:00
|
|
|
- reload httpd
|
2015-06-12 16:38:08 +00:00
|
|
|
- restart fedmsg-gateway
|
|
|
|
- restart fedmsg-hub
|
|
|
|
- restart fedmsg-irc
|
|
|
|
- restart fedmsg-relay
|
|
|
|
|
2016-03-10 22:44:46 +00:00
|
|
|
- name: setup basic /etc/fedmsg.d/ contents for firewalled/external hosts
|
2014-10-09 19:06:56 +00:00
|
|
|
template: >
|
|
|
|
src="{{ item }}.j2"
|
|
|
|
dest="/etc/fedmsg.d/{{ item }}"
|
|
|
|
owner=root
|
|
|
|
group=root
|
2016-08-08 19:53:57 +00:00
|
|
|
mode=0644
|
2014-10-09 19:06:56 +00:00
|
|
|
with_items:
|
|
|
|
- ssl.py
|
|
|
|
- relay.py
|
|
|
|
- logging.py
|
|
|
|
- base.py
|
2020-06-14 15:40:22 -07:00
|
|
|
when: "'persistent_cloud' in group_names"
|
2013-06-13 15:31:57 +00:00
|
|
|
tags:
|
|
|
|
- config
|
2014-05-28 17:24:06 +00:00
|
|
|
- fedmsgdconfig
|
2014-10-09 14:42:17 +00:00
|
|
|
- fedmsg/base
|
2014-03-14 15:30:32 +00:00
|
|
|
notify:
|
2015-11-04 23:40:01 +00:00
|
|
|
- reload httpd
|
2014-03-14 15:30:32 +00:00
|
|
|
- restart fedmsg-gateway
|
|
|
|
- restart fedmsg-hub
|
|
|
|
- restart fedmsg-irc
|
|
|
|
- restart fedmsg-relay
|
2013-06-13 15:31:57 +00:00
|
|
|
|
2015-09-30 18:23:41 +00:00
|
|
|
- name: install fedmsg-relay in case we're in debug mode.
|
2017-10-08 22:25:52 +00:00
|
|
|
package: name=fedmsg-relay state=present
|
2015-11-09 18:03:00 +00:00
|
|
|
when: fedmsg_debug_loopback == true and ansible_distribution_major_version|int < 22
|
|
|
|
tags:
|
|
|
|
- fedmsg_loopback
|
|
|
|
- fedmsg/base
|
|
|
|
notify:
|
|
|
|
- reload httpd
|
|
|
|
- restart fedmsg-gateway
|
|
|
|
- restart fedmsg-hub
|
|
|
|
- restart fedmsg-irc
|
|
|
|
- restart fedmsg-relay
|
|
|
|
|
|
|
|
- name: install fedmsg-relay in case we're in debug mode.
|
|
|
|
dnf: name=fedmsg-relay state=present
|
|
|
|
when: fedmsg_debug_loopback == true and ansible_distribution_major_version|int > 21
|
2015-09-30 18:23:41 +00:00
|
|
|
tags:
|
|
|
|
- fedmsg_loopback
|
|
|
|
- fedmsg/base
|
|
|
|
notify:
|
2015-11-04 23:40:01 +00:00
|
|
|
- reload httpd
|
2015-09-30 18:23:41 +00:00
|
|
|
- restart fedmsg-gateway
|
|
|
|
- restart fedmsg-hub
|
|
|
|
- restart fedmsg-irc
|
|
|
|
- restart fedmsg-relay
|
|
|
|
|
|
|
|
- name: destroy standard config to make way for debug loopback.
|
|
|
|
file: dest=/etc/fedmsg.d/{{item}} state=absent
|
|
|
|
with_items:
|
|
|
|
- relay.py
|
|
|
|
- policy.py
|
2015-09-30 18:24:59 +00:00
|
|
|
when: fedmsg_debug_loopback == true
|
2015-09-30 18:23:41 +00:00
|
|
|
tags:
|
|
|
|
- fedmsg_loopback
|
|
|
|
- fedmsg/base
|
|
|
|
notify:
|
2015-11-04 23:40:01 +00:00
|
|
|
- reload httpd
|
2015-09-30 18:23:41 +00:00
|
|
|
- restart fedmsg-gateway
|
|
|
|
- restart fedmsg-hub
|
|
|
|
- restart fedmsg-irc
|
|
|
|
- restart fedmsg-relay
|
|
|
|
|
|
|
|
- name: overwrite standard config with local fedmsg debugging loopback
|
|
|
|
copy: src=relay-debug-loopback.py dest=/etc/fedmsg.d/relay.py
|
2015-09-30 18:24:59 +00:00
|
|
|
when: fedmsg_debug_loopback == true
|
2015-09-30 18:23:41 +00:00
|
|
|
tags:
|
|
|
|
- fedmsg_loopback
|
|
|
|
- fedmsg/base
|
|
|
|
notify:
|
2015-11-04 23:40:01 +00:00
|
|
|
- reload httpd
|
2015-09-30 18:23:41 +00:00
|
|
|
- restart fedmsg-gateway
|
|
|
|
- restart fedmsg-hub
|
|
|
|
- restart fedmsg-irc
|
|
|
|
- restart fedmsg-relay
|
|
|
|
|
|
|
|
- name: start fedmsg-relay, only for loopback testing
|
|
|
|
service: name=fedmsg-relay state=started
|
2015-09-30 18:24:59 +00:00
|
|
|
when: fedmsg_debug_loopback == true
|
2015-09-30 18:23:41 +00:00
|
|
|
tags:
|
|
|
|
- fedmsg_loopback
|
|
|
|
- fedmsg/base
|
|
|
|
|
2013-06-07 20:01:23 +00:00
|
|
|
- name: setup /etc/pki/fedmsg directory
|
2013-06-07 20:07:56 +00:00
|
|
|
file: path=/etc/pki/fedmsg owner=root group=root mode=0755 state=directory
|
2013-06-07 20:01:23 +00:00
|
|
|
tags:
|
|
|
|
- config
|
2014-10-09 14:42:17 +00:00
|
|
|
- fedmsg/base
|
2013-06-07 20:01:23 +00:00
|
|
|
|
|
|
|
- name: install fedmsg ca.cert
|
2013-09-27 13:59:29 +00:00
|
|
|
copy: >
|
2015-09-25 16:59:13 +00:00
|
|
|
src="{{ private }}/files/fedmsg-certs/keys/ca.crt"
|
2013-09-27 13:59:29 +00:00
|
|
|
dest=/etc/pki/fedmsg/ca.crt
|
|
|
|
owner=root
|
|
|
|
group=root
|
|
|
|
mode=0644
|
2013-06-07 20:01:23 +00:00
|
|
|
tags:
|
|
|
|
- config
|
2014-10-09 14:42:17 +00:00
|
|
|
- fedmsg/base
|
2013-06-07 20:01:23 +00:00
|
|
|
|
2013-06-18 03:13:11 +00:00
|
|
|
- name: fedmsg certs
|
|
|
|
copy: >
|
2016-05-11 15:08:50 +00:00
|
|
|
src="{{ private }}/files/fedmsg-certs/keys/{{item['service']}}-{{fedmsg_fqdn | default(inventory_hostname)}}.crt"
|
2013-06-18 03:13:11 +00:00
|
|
|
dest=/etc/pki/fedmsg/
|
|
|
|
mode=644
|
2013-06-18 03:14:30 +00:00
|
|
|
owner={{item['owner']}}
|
|
|
|
group={{item['group']}}
|
2014-01-01 20:03:52 +00:00
|
|
|
with_items:
|
|
|
|
- "{{ fedmsg_certs }}"
|
2013-06-18 04:16:57 +00:00
|
|
|
when: fedmsg_certs != []
|
2013-06-18 03:13:11 +00:00
|
|
|
tags:
|
|
|
|
- config
|
2014-10-09 14:42:17 +00:00
|
|
|
- fedmsg/base
|
2013-06-18 03:13:11 +00:00
|
|
|
|
|
|
|
- name: fedmsg keys
|
|
|
|
copy: >
|
2016-05-11 15:08:50 +00:00
|
|
|
src="{{ private }}/files/fedmsg-certs/keys/{{item['service']}}-{{fedmsg_fqdn | default(inventory_hostname)}}.key"
|
2013-06-18 03:13:11 +00:00
|
|
|
dest=/etc/pki/fedmsg/
|
2013-09-27 13:59:50 +00:00
|
|
|
mode=0640
|
2013-06-18 03:14:30 +00:00
|
|
|
owner={{item['owner']}}
|
|
|
|
group={{item['group']}}
|
2014-01-01 20:03:52 +00:00
|
|
|
with_items:
|
|
|
|
- "{{ fedmsg_certs }}"
|
2013-06-18 04:16:57 +00:00
|
|
|
when: fedmsg_certs != []
|
2013-06-18 03:13:11 +00:00
|
|
|
tags:
|
|
|
|
- config
|
2014-10-09 14:42:17 +00:00
|
|
|
- fedmsg/base
|
2014-01-28 19:51:26 +00:00
|
|
|
|
|
|
|
# Three tasks for handling our custom selinux module
|
|
|
|
- name: ensure a directory exists for our custom selinux module
|
|
|
|
file: dest=/usr/local/share/fedmsg state=directory
|
2014-10-09 14:42:17 +00:00
|
|
|
tags:
|
|
|
|
- fedmsg/base
|
2014-01-28 19:51:26 +00:00
|
|
|
|
|
|
|
- name: copy over our custom selinux module
|
|
|
|
copy: src=selinux/fedmsg.pp dest=/usr/local/share/fedmsg/fedmsg.pp
|
|
|
|
register: selinux_module
|
2014-10-09 14:42:17 +00:00
|
|
|
tags:
|
|
|
|
- fedmsg/base
|
2014-01-28 19:51:26 +00:00
|
|
|
|
|
|
|
- name: install our custom selinux module
|
2014-01-28 19:57:21 +00:00
|
|
|
command: semodule -i /usr/local/share/fedmsg/fedmsg.pp
|
2018-05-07 23:51:48 +00:00
|
|
|
when: selinux_module is changed
|
2014-10-09 14:42:17 +00:00
|
|
|
tags:
|
|
|
|
- fedmsg/base
|
2014-03-03 17:02:58 +00:00
|
|
|
|
|
|
|
# Also, label the ports that we commonly use for fedmsg under mod_wsgi
|
|
|
|
# to be http_port_t so selinux lets apache bind there.
|
|
|
|
- name: check semanage ports
|
|
|
|
command: semanage port -l
|
|
|
|
register: semanageoutput
|
2016-11-01 16:29:49 +00:00
|
|
|
check_mode: no
|
2014-05-27 22:26:23 +00:00
|
|
|
changed_when: "1 != 1"
|
2014-10-09 14:42:17 +00:00
|
|
|
tags:
|
|
|
|
- fedmsg/base
|
2014-03-03 17:02:58 +00:00
|
|
|
|
|
|
|
- name: set ports so httpd can bind to fedmsg endpoints
|
|
|
|
command: semanage port -a -t http_port_t -p tcp 3000-3100
|
|
|
|
when: semanageoutput.stdout.find("3000-3100") == -1
|
2014-10-09 14:42:17 +00:00
|
|
|
tags:
|
|
|
|
- fedmsg/base
|
2014-11-07 18:32:17 +00:00
|
|
|
|
|
|
|
- name: Check if the nrpe user exists
|
|
|
|
shell: /usr/bin/getent passwd nrpe | /usr/bin/wc -l | tr -d ' '
|
|
|
|
register: nrpe_exists
|
2016-11-01 16:29:49 +00:00
|
|
|
check_mode: no
|
2014-11-13 16:05:32 +00:00
|
|
|
changed_when: "1 != 1"
|
2014-11-07 18:33:33 +00:00
|
|
|
tags:
|
|
|
|
- fedmsg/base
|
2014-11-07 18:32:17 +00:00
|
|
|
|
|
|
|
- name: Add nrpe user to the fedmsg group if it exists
|
|
|
|
user: name=nrpe groups=fedmsg append=yes
|
2014-11-07 18:33:33 +00:00
|
|
|
when: nrpe_exists.stdout == "1"
|
|
|
|
tags:
|
|
|
|
- fedmsg/base
|