diff --git a/Update_SplunkV2.yml b/Update_SplunkV2.yml new file mode 100644 index 0000000..410399e --- /dev/null +++ b/Update_SplunkV2.yml @@ -0,0 +1,65 @@ +--- +- name: Mettre à jour un cluster Splunk avec un fichier .tgz + hosts: splunk_indexer + become: yes + become_user: root + vars: + splunk_version: "9.0.4.1-419ad9369127-Linux-x86_64" + + tasks: + - name: Arrêter les processus Splunk + shell: "/opt/splunk/bin/splunk stop" + become: yes + + - name: Décompresser le fichier .tgz + unarchive: + src: "/tmp/splunk-{{ splunk_version }}.tgz" + dest: /opt/splunk/ + remote_src: yes + copy: no + + - name: Mettre à jour Splunk + shell: "/opt/splunk/bin/splunk start --accept-license --answer-yes --no-prompt --restart" + + - name: Vérifier l'état de Splunk + wait_for: + host: localhost + port: 8089 + delay: 10 + timeout: 180 + state: started + msg: "Splunk n'a pas redémarré correctement" + + - name: Attendre que l'indexer rejoigne le cluster + shell: "/opt/splunk/bin/splunk show cluster-state -auth adminsplunk:921223Jocpam!? | grep 'Instance type=peer' | wc -l" + register: peers_count + until: peers_count.stdout == "2" + retries: 5 + delay: 10 + become: yes + +- name: Mettre à jour le master cluster Splunk + hosts: splunk_cluster_master + tasks: + - name: Arrêter les processus Splunk + shell: "/opt/splunk/bin/splunk stop" + become: yes + + - name: Décompresser le fichier .tgz + unarchive: + src: "/tmp/splunk-{{ splunk_version }}.tgz" + dest: /opt/splunk/ + remote_src: yes + copy: no + + - name: Mettre à jour Splunk + shell: "/opt/splunk/bin/splunk start --accept-license --answer-yes --no-prompt --restart" + + - name: Vérifier l'état de Splunk + wait_for: + host: localhost + port: 8089 + delay: 10 + timeout: 180 + state: started + msg: "Splunk n'a pas redémarré correctement"