Chris Mague 5 anni fa
parent
commit
3aaa6db0d3
2 ha cambiato i file con 59 aggiunte e 2 eliminazioni
  1. 41 2
      ansible/cp_nodes.yml
  2. 18 0
      ansible/templates/systemd_redis.j2

+ 41 - 2
ansible/cp_nodes.yml

@@ -6,6 +6,22 @@
   become_method: sudo
   gather_facts: yes
 
+  vars:
+    redis_ports:
+      - 19900
+      - 19901
+      - 19902
+      - 19903
+      - 19904
+      - 19905
+      - 19906
+      - 19907
+      - 19908
+      - 19909
+      - 19910
+      - 19911
+      - 19912
+
   pre_tasks:
     - name: Update Apt Cache
       apt: update_cache=yes cache_valid_time=86400
@@ -35,7 +51,14 @@
         dest: /usr/lib/redisraft.so
         owner: redis
         group: redis
-        mode: '0644'
+        mode: '0700'
+    - name: create raft directories
+      file:
+        path: /redis/persistant/cpredis
+        owner: redis
+        group: redis
+        mode: '0755'
+        state: directory
     - name: checkout redis git repo
       git:
         repo: 'https://github.com/antirez/redis'
@@ -48,4 +71,20 @@
       make:
         chdir: /home/redis/redis
         target: install
-      become: yes
+      become: yes
+
+    - name: Redis Systemd 
+      template:
+        src: systemd_redis.j2
+        dest: /lib/systemd/system/redis-{{item}}.service
+        owner: root
+        group: root
+        mode: 0644
+      with_items: "{{ redis_ports }}"
+
+    - name: Enable Redis Services
+      systemd:
+        name: redis-{{item}}
+        enabled: yes
+        state: started
+      with_items: "{{ redis_ports }}"

+ 18 - 0
ansible/templates/systemd_redis.j2

@@ -0,0 +1,18 @@
+# {{ item }}
+
+#####################################################################
+[Unit]
+Description=Redis Server Port {{ item }}
+After=network.target
+
+[Service]
+WorkingDirectory=/redis/persistant/cpredis
+Type=simple
+LimitNOFILE=65535
+User=redis
+ExecStart=/usr/local/bin/redis-server --port {{ item }} --dbfilename {{ item }}-raft.rdb --loadmodule /usr/lib/redisraft.so  raft-log-filename={{ item }}-raftlog.db addr=0.0.0.0:{{ item }} --protected-mode no
+
+
+[Install]
+WantedBy=multi-user.target
+Alias=redis-{{ item }}.service