ansible.yml 2.06 KB
---

- hosts: "{{ servernames }}"
  
  tasks:

  - name: "Création du dossier de résulats"
    file:
      path: /home/pi/{{ servernames }}/res
      state: directory
      recurse: yes

  - name: "Copie du fichier de lecture série"
    copy:
      src: ~/pfe/seriallistener
      dest: /home/pi/{{ servernames }}/seriallistener

  - name: "Droit d'execution pour serial_listener"
    shell: chmod +x /home/pi/{{ servernames }}/seriallistener

  - name: "Copie du binaire pour le(s) capteur(s)"
    copy:
      src: ~/PFE_DEMO/files/{{ binary_dir }}/out.bin
      dest: /home/pi/{{ servernames }}/out.bin

  - name: "Copie du ficher de correspondance"
    shell: cp /home/pi/config_raspberry.txt /home/pi/{{ servernames }}/

  - name: "Récupération des périphériques à flasher"
    shell: grep -Ff /home/pi/{{ servernames }}/config_experimentation.txt /home/pi/config_raspberry.txt | cut -d= -f3
    register: devices_to_flash

  - name: "Flashage des boards"
    shell: cp /home/pi/{{ servernames }}/out.bin /media/pi/{{ item }}
    with_items: "{{ devices_to_flash.stdout_lines }}"

  - name: "Lancement du programme de lecture série"
    command: /home/pi/{{ servernames }}/seriallistener
    args:
      chdir: ./{{ servernames }}
    async: 3000000
    poll: 0

  - name: "Exp en cours ..."
    pause:
      seconds: "{{ exp_duration }}"

  - name: "Kill de l'application"
    shell: pkill -9 seriallistener

  - name: "Récupération des noms des résultats"
    shell: (cd /home/pi/{{ servernames }}/res; find . -maxdepth 1 -type f) | cut -d'/' -f2
    register: files_to_copy

  - name: "Copie des résultats sur le serveur"
    fetch: 
      src: /home/pi/{{ servernames }}/res/{{ item }}
      dest: ~/PFE_DEMO/results/{{ servernames }}/{{ ansible_host  }}/
      flat: yes
    with_items: "{{ files_to_copy.stdout_lines }}"   

  - name: "Suppression du dossier sur le noeud"
    shell: rm -rf /home/pi/{{ servernames }}

  - name: "Suppression du fichier d'experimentation"
    file: 
      path: "~/PFE_DEMO/toflash/{{ exp_name }}.started" 
      state: absent
    delegate_to: 127.0.0.1