summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--playbooks/groups/busgateway.yml12
-rw-r--r--roles/fedmsg/gateway/files/gateway.py7
-rw-r--r--roles/fedmsg/gateway/files/limits.conf53
-rw-r--r--roles/fedmsg/gateway/tasks/main.yml29
-rw-r--r--roles/fedmsg/relay/tasks/main.yml16
5 files changed, 113 insertions, 4 deletions
diff --git a/playbooks/groups/busgateway.yml b/playbooks/groups/busgateway.yml
index 3eaf9d3aa..69e5eeb48 100644
--- a/playbooks/groups/busgateway.yml
+++ b/playbooks/groups/busgateway.yml
@@ -54,10 +54,14 @@
roles:
- fedmsg/hub
#- fedmsg/datanommer
- #- fedmsg/relay
- #- fedmsg/gateway
- #- role: collectd/fedmsg-service
- # process: fedmsg-hub
+ - fedmsg/relay
+ - fedmsg/gateway
+ - role: collectd/fedmsg-service
+ process: fedmsg-hub
+ - role: collectd/fedmsg-service
+ process: fedmsg-relay
+ - role: collectd/fedmsg-service
+ process: fedmsg-gateway
vars_files:
- /srv/web/infra/ansible/vars/global.yml
diff --git a/roles/fedmsg/gateway/files/gateway.py b/roles/fedmsg/gateway/files/gateway.py
new file mode 100644
index 000000000..d621a2369
--- /dev/null
+++ b/roles/fedmsg/gateway/files/gateway.py
@@ -0,0 +1,7 @@
+config = {
+ # Tell fedmsg-gateway where its special outgoing port is.
+ 'fedmsg.consumers.gateway.port': 9940,
+
+ # Set this number to near, but not quite the fs.file-limit. Try 160000.
+ 'fedmsg.consumers.gateway.high_water_mark': 160000,
+}
diff --git a/roles/fedmsg/gateway/files/limits.conf b/roles/fedmsg/gateway/files/limits.conf
new file mode 100644
index 000000000..73387d342
--- /dev/null
+++ b/roles/fedmsg/gateway/files/limits.conf
@@ -0,0 +1,53 @@
+# /etc/security/limits.conf
+#
+#Each line describes a limit for a user in the form:
+#
+#<domain> <type> <item> <value>
+#
+#Where:
+#<domain> can be:
+# - an user name
+# - a group name, with @group syntax
+# - the wildcard *, for default entry
+# - the wildcard %, can be also used with %group syntax,
+# for maxlogin limit
+#
+#<type> can have the two values:
+# - "soft" for enforcing the soft limits
+# - "hard" for enforcing hard limits
+#
+#<item> can be one of the following:
+# - core - limits the core file size (KB)
+# - data - max data size (KB)
+# - fsize - maximum filesize (KB)
+# - memlock - max locked-in-memory address space (KB)
+# - nofile - max number of open files
+# - rss - max resident set size (KB)
+# - stack - max stack size (KB)
+# - cpu - max CPU time (MIN)
+# - nproc - max number of processes
+# - as - address space limit (KB)
+# - maxlogins - max number of logins for this user
+# - maxsyslogins - max number of logins on the system
+# - priority - the priority to run user process with
+# - locks - max number of file locks the user can hold
+# - sigpending - max number of pending signals
+# - msgqueue - max memory used by POSIX message queues (bytes)
+# - nice - max nice priority allowed to raise to values: [-20, 19]
+# - rtprio - max realtime priority
+#
+#<domain> <type> <item> <value>
+#
+
+#* soft core 0
+#* hard rss 10000
+#@student hard nproc 20
+#@faculty soft nproc 20
+#@faculty hard nproc 50
+#ftp hard nproc 0
+#@student - maxlogins 4
+
+@fedmsg hard nofile 170000
+@fedmsg soft nofile 160000
+
+# End of file
diff --git a/roles/fedmsg/gateway/tasks/main.yml b/roles/fedmsg/gateway/tasks/main.yml
new file mode 100644
index 000000000..0463f9cdb
--- /dev/null
+++ b/roles/fedmsg/gateway/tasks/main.yml
@@ -0,0 +1,29 @@
+- name: install fedmsg-gateway
+ yum: pkg=fedmsg-gateway state=installed
+ tags:
+ - packages
+ - fedmsg/gateway
+
+- name: enable on boot and start fedmsg-gateway
+ service: name=fedmsg-gateway state=started enabled=true
+ tags:
+ - services
+ - fedmsg/gateway
+ notify:
+ - restart fedmsg-gateway
+
+- name: setup fedmsg-gateway config file
+ copy: src=gateway.py dest=/etc/fedmsg.d/gateway.py
+ tags:
+ - config
+ - fedmsg/gateway
+ notify:
+ - restart fedmsg-gateway
+
+- name: bump fs limits
+ copy: src=limits.conf dest=/etc/security/limits.conf
+ tags:
+ - config
+ - fedmsg/gateway
+ notify:
+ - restart fedmsg-gateway
diff --git a/roles/fedmsg/relay/tasks/main.yml b/roles/fedmsg/relay/tasks/main.yml
new file mode 100644
index 000000000..c0eebae79
--- /dev/null
+++ b/roles/fedmsg/relay/tasks/main.yml
@@ -0,0 +1,16 @@
+# This is a *very* simple role. The config needed for fedmsg-relay to operate
+# correctly is actually included as part of the fedmsg/base role.
+
+- name: install fedmsg-relay
+ yum: pkg=fedmsg-relay state=installed
+ tags:
+ - packages
+ - fedmsg/relay
+
+- name: enable on boot and start fedmsg-relay
+ service: name=fedmsg-relay state=started enabled=true
+ tags:
+ - services
+ - fedmsg/relay
+ notify:
+ - restart fedmsg-relay