diff --git a/redis/files/redis-server@jessie.service b/redis/files/redis-server@jessie.service new file mode 100644 index 00000000..d3c3adb2 --- /dev/null +++ b/redis/files/redis-server@jessie.service @@ -0,0 +1,14 @@ +[Unit] +Description=Advanced key-value store +After=network.target + +[Service] +Type=forking +ExecStart=/usr/bin/redis-server /etc/redis-%i/redis.conf --unixsocket /var/run/redis-%i/redis.sock --pidfile /var/run/redis-%i/redis-server.pid +ExecStop=/usr/bin/redis-cli -s /var/run/redis-%i/redis.sock shutdown +Restart=always +User=redis-%i +Group=redis-%i + +[Install] +WantedBy=multi-user.target diff --git a/redis/files/redis-server@.service b/redis/files/redis-server@stretch.service similarity index 100% rename from redis/files/redis-server@.service rename to redis/files/redis-server@stretch.service diff --git a/redis/tasks/instance-server.yml b/redis/tasks/instance-server.yml index b46ffc59..e7540c84 100644 --- a/redis/tasks/instance-server.yml +++ b/redis/tasks/instance-server.yml @@ -18,7 +18,18 @@ tags: - redis -- name: "Instance '{{ redis_instance_name }}' config directories are present" +- name: "Instance '{{ redis_instance_name }}' config directory is present" + file: + dest: "{{ redis_conf_dir }}" + mode: "0755" + owner: "root" + group: "root" + follow: yes + state: directory + tags: + - redis + +- name: "Instance '{{ redis_instance_name }}' config hooks directories are present" file: dest: "{{ item }}" mode: "0755" @@ -27,11 +38,13 @@ follow: yes state: directory with_items: - - "{{ redis_conf_dir }}" - "{{ redis_conf_dir }}/redis-server.pre-up.d" - "{{ redis_conf_dir }}/redis-server.post-up.d" - "{{ redis_conf_dir }}/redis-server.pre-down.d" - "{{ redis_conf_dir }}/redis-server.post-down.d" + when: + - ansible_distribution == "Debian" + - ansible_distribution_major_version | version_compare('9', '>=') tags: - redis @@ -44,6 +57,11 @@ - "redis-server.post-up.d" - "redis-server.pre-down.d" - "redis-server.post-down.d" + when: + - ansible_distribution == "Debian" + - ansible_distribution_major_version | version_compare('9', '>=') + tags: + - redis - name: "Instance '{{ redis_instance_name }}' other directories are present" file: @@ -71,13 +89,29 @@ tags: - redis -- name: Systemd template for redis instances is installed +- name: Systemd template for redis instances is installed (Debian 8) copy: - src: 'redis-server@.service' - dest: '/etc/systemd/system/' + src: 'redis-server@jessie.service' + dest: '/etc/systemd/system/redis-server@.service' mode: "0644" owner: "root" group: "root" + when: + - ansible_distribution == "Debian" + - ansible_distribution_major_version | version_compare('9', '<') + tags: + - redis + +- name: Systemd template for redis instances is installed (Debian 9 or later) + copy: + src: 'redis-server@stretch.service' + dest: '/etc/systemd/system/redis-server@.service' + mode: "0644" + owner: "root" + group: "root" + when: + - ansible_distribution == "Debian" + - ansible_distribution_major_version | version_compare('9', '>=') tags: - redis