--- - 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: Extraire le fichier d'installation de Splunk unarchive: src: "/tmp/splunk-{{ splunk_version }}.tgz" dest: "/opt" remote_src: yes - name: Attribution des droits shell: "chown -R splunk:splunk /opt/splunk/*" - name: Mettre à jour Splunk shell: "/opt/splunk/bin/splunk start --accept-license --answer-yes --no-prompt" - 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"