Optionally use systemd service files WIP
authorBill Erickson <berickxx@gmail.com>
Wed, 14 Jun 2017 16:34:03 +0000 (12:34 -0400)
committerBill Erickson <berickxx@gmail.com>
Wed, 14 Jun 2017 16:34:03 +0000 (12:34 -0400)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
extras/main.yml
extras/service_files/opensrf.service.j2 [new file with mode: 0644]
extras/services.yml [new file with mode: 0644]
settings.yml

index fbf6854..108b4a8 100644 (file)
@@ -4,6 +4,9 @@
 - name: Install Nginx
   include: nginx.yml
   when: use_nginx
+- name: Install Service Files
+  include: services.yml
+  when: use_service_files
 - name: Starting Services
   include: start.yml
   when: start_services
diff --git a/extras/service_files/opensrf.service.j2 b/extras/service_files/opensrf.service.j2
new file mode 100644 (file)
index 0000000..ede746b
--- /dev/null
@@ -0,0 +1,29 @@
+# TODO: 'Before' and 'After' reflect a single-server setup.
+# Make these configurable for cases where certain services 
+# (e.g. memcache) are not run on the same machine.
+
+[Unit]
+Description=Open Service Request Framework
+After=ejabberd.service memcached.service
+Before=apache2.service apache2-websockets.service
+Requries=memcached.service
+BindsTo=ejabberd.service
+
+[Service]
+User=opensrf
+Group=opensrf
+Type=oneshot
+RemainAfterExit=yes
+Environment=PATH=/openils/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+Environment=LD_LIBRARY_PATH=/openils/lib:/usr/local/lib:/usr/local/lib/dbd:$LD_LIBRARY_PATH
+#ExecStartPre=/bin/sleep 5
+ExecStart=/openils/bin/osrf_control -l --start-all
+#ExecStartPost=/bin/sleep 10
+#ExecStartPost=-/bin/systemctl restart apache2.service
+#ExecStartPost=-/bin/systemctl restart apache2-websockets.service
+ExecStop=/openils/bin/osrf_control -l --stop-all
+
+#[Install]
+#WantedBy=multi-user.target
+#Alias=opensrf.service
+
diff --git a/extras/services.yml b/extras/services.yml
new file mode 100644 (file)
index 0000000..48d5a21
--- /dev/null
@@ -0,0 +1,11 @@
+- name: Install OpenSRF Service File
+  become: true
+  template: 
+    src: extras/service_files/opensrf.service.j2
+    dest: /lib/systemd/system/opensrf.service 
+    owner: root
+    group: root
+    mode: 0644
+- name: Reload Systemd Configs
+  become: true
+  shell: systemctl daemon-reload
index bf16922..70db80f 100644 (file)
@@ -39,6 +39,9 @@ use_rsyslog: true
 # Install and configure NGINX proxy
 use_nginx: true
 
+# Install systemd service files and use them to stop/start services
+use_service_files: true
+
 # Start Evergreen services when the install is complete.
 start_services: true