Add glusterd service init script for old glusterfs packages
In version >=3.11.3 of glusterfs package (on Debian) 'glusterfs-server'
service name has been changed to 'glusterd'. To keep things simple
the patch creates a symlink named '/etc/init.d/glusterd' which is
pointing out to /etc/init.d/glusterfs-server script for old version of
glusterfs package so 'glusterd.service' service name can be used for
old and new versions of glusterfs.
Change-Id: I522f675782462ccf048343e1a5734f9fb06ba342
Related: PROD-29356
diff --git a/glusterfs/map.jinja b/glusterfs/map.jinja
index 91f46fb..96c673a 100644
--- a/glusterfs/map.jinja
+++ b/glusterfs/map.jinja
@@ -1,14 +1,7 @@
-{# Backward compatibility issue, remove when old versions (<3.11.3) are not used any more #}
-{% if salt['pkg.version_cmp'](salt['pkg.version']('glusterfs-server'), '3.11.3') >= 0 %}
- {% set systemd_service = 'glusterd' %}
-{% else %}
- {% set systemd_service = 'glusterfs-server' %}
-{% endif %}
-
{% set server = salt['grains.filter_by']({
'Debian': {
'pkgs': ['glusterfs-server','bc', 'attr'],
- 'service': systemd_service,
+ 'service': 'glusterd',
},
'RedHat': {
'pkgs': ['glusterfs-server','bc'],
diff --git a/glusterfs/server/service.sls b/glusterfs/server/service.sls
index 15c3f92..e12f660 100644
--- a/glusterfs/server/service.sls
+++ b/glusterfs/server/service.sls
@@ -6,6 +6,25 @@
pkg.installed:
- names: {{ server.pkgs }}
+{# Backward compatibility issue, remove when old versions (<3.11.3) are not used any more #}
+ {% if salt['file.file_exists']('/etc/init.d/glusterfs-server') %}
+glusterfs_service_symlink:
+ file.symlink:
+ - name: /etc/init.d/glusterd
+ - target: /etc/init.d/glusterfs-server
+ - require:
+ - pkg: glusterfs_packages
+ - require_in:
+ - service: glusterfs_service
+
+stop_old_glusterfs_service:
+ service.dead:
+ - name: glusterfs-server
+ - enable: False
+ - onchanges:
+ - file: glusterfs_service_symlink
+ {% endif %}
+
{%- if server.recover_peers is defined %}
{%- for peer_name, peer_data in server.recover_peers.iteritems() %}
{%- if peer_data.get('enabled', False) and grains.get('fqdn', 'unknown') == peer_name %}
@@ -29,7 +48,7 @@
glusterfs_sleep:
cmd.wait:
- name: sleep 5
- - watch-in:
+ - watch_in:
- service: stop_glusterfs_service
{%- endif %}
@@ -39,6 +58,7 @@
glusterfs_service:
service.running:
- name: {{ server.service }}
+ - enable: true
- require:
- pkg: glusterfs_packages
@@ -52,6 +72,9 @@
- contents: |
[Service]
ExecStartPost=/bin/sleep 5
+ RemainAfterExit=no
+ - require_in:
+ - service: glusterfs_service
{%- endif %}
{%- if server.volumes is defined %}