EBernhardson has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/363384 )
Change subject: Deploy mjolnir kafka daemon to relforge
......................................................................
Deploy mjolnir kafka daemon to relforge
Sets up appropriate targets for deployment via scap3 and runs
the service via systemd.
Change-Id: I9456e08da1c21fbc763d393972de82d53f041f56
Depends-On: Iad0be3fe95a5e10ba0d4ed3335aac1fca2dc640c
---
M hieradata/common/scap/dsh.yaml
M hieradata/role/common/deployment_server.yaml
A modules/role/manifests/elasticsearch/mjolnir_kafka_daemon.pp
M modules/role/manifests/elasticsearch/relforge.pp
A modules/role/templates/elasticsearch/mjolnir-kafka-daemon.service.erb
5 files changed, 59 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/84/363384/1
diff --git a/hieradata/common/scap/dsh.yaml b/hieradata/common/scap/dsh.yaml
index bfa9fd1..0437667 100644
--- a/hieradata/common/scap/dsh.yaml
+++ b/hieradata/common/scap/dsh.yaml
@@ -86,3 +86,7 @@
- logstash1001.eqiad.wmnet
- logstash1002.eqiad.wmnet
- logstash1003.eqiad.wmnet
+ relforge:
+ hosts:
+ - relforge1001.eqiad.wmnet
+ - relforge1002.eqiad.wmnet
diff --git a/hieradata/role/common/deployment_server.yaml
b/hieradata/role/common/deployment_server.yaml
index 9fe58a3..946cc11 100644
--- a/hieradata/role/common/deployment_server.yaml
+++ b/hieradata/role/common/deployment_server.yaml
@@ -148,3 +148,5 @@
# Librenms software
librenms/librenms:
repository: operations/software/librenms
+ relforge/mjolnir:
+ repository: search/MjoLniR
diff --git a/modules/role/manifests/elasticsearch/mjolnir_kafka_daemon.pp
b/modules/role/manifests/elasticsearch/mjolnir_kafka_daemon.pp
new file mode 100644
index 0000000..0c366ef
--- /dev/null
+++ b/modules/role/manifests/elasticsearch/mjolnir_kafka_daemon.pp
@@ -0,0 +1,36 @@
+# = Class: role::elasticsearch::relforge
+#
+# This class sets up the MjoLniR kafka daemon which facilitates running
+# elasticsearch queries against relforge from the analytics network by using
+# kafka as a middleman.
+#
+class role::elasticsearch::mjolnir_kafka_daemon {
+ scap::target { 'relforge/mjolnir':
+ deploy_user => 'deploy-service',
+ }
+
+ require_package('python-kafka', 'python-requests')
+
+ # This is the analytics kafka cluster. For historical reasons
+ # it is named just 'eqiad'.
+ $kafka_config = kafka_config('eqiad')
+
+ file { '/etc/systemd/system/mjolnir-kafka-daemon.service':
+ owner => 'root',
+ group => 'root',
+ mode => '0444',
+ content =>
template('role/elasticsearch/mjolnir-kafka-daemon.service.erb'),
+ before => Service['mjolnir-kafka-daemon']
+ }
+
+ service { 'mjolnir-kafka-daemon':
+ ensure => running
+ provider => systemd,
+ enable => true,
+ require => [
+ Scap::Target['relforge/mjolnir'],
+ File['/etc/systemd/system/mjolnir-kafka-daemon.service']
+ ]
+ }
+
+}
diff --git a/modules/role/manifests/elasticsearch/relforge.pp
b/modules/role/manifests/elasticsearch/relforge.pp
index 128f099..f4286ea 100644
--- a/modules/role/manifests/elasticsearch/relforge.pp
+++ b/modules/role/manifests/elasticsearch/relforge.pp
@@ -7,6 +7,7 @@
include ::base::firewall
include ::profile::elasticsearch
include ::elasticsearch::nagios::check
+ include ::role::elasticsearch::mjolnir_kafka_daemon
system::role { 'elasticsearch::relforge':
ensure => 'present',
diff --git
a/modules/role/templates/elasticsearch/mjolnir-kafka-daemon.service.erb
b/modules/role/templates/elasticsearch/mjolnir-kafka-daemon.service.erb
new file mode 100644
index 0000000..1731db6
--- /dev/null
+++ b/modules/role/templates/elasticsearch/mjolnir-kafka-daemon.service.erb
@@ -0,0 +1,16 @@
+[Unit]
+Description=MjoLniR kafka daemon
+After=network.target
+
+[Service]
+User=nobody
+Group=nogroup
+WorkingDirectory=/src/search/mjolnir
+ExecStart=/usr/bin/python2
/srv/deployment/relforge/mjolnir/mjolnir/cli/kafka_daemon.py --brokers <%=
@kafka_config['brokers']['string'] %>
+StandardInput=null
+StandardOutput=journal
+StandardError=journal
+RestartSec=2
+
+[Install]
+WantedBy=multi-user.target
--
To view, visit https://gerrit.wikimedia.org/r/363384
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9456e08da1c21fbc763d393972de82d53f041f56
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: EBernhardson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits