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

Reply via email to