Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre du Club
    Profil pro
    étudiant
    Inscrit en
    avril 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 44
    Points : 41
    Points
    41

    Par défaut ANSIBLE problème de condition

    Bonjour,

    Je poste ce message car malgré les recherches je n'ai pas trouvé la cause de mon soucis...

    J'ai un playbook qui execute un script avec le nom d'unne application à supprimer uniquement dans le cas où elle existe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    - name: Purge des applications à installer via Brew
      hosts: test
      gather_facts: no
      tasks:
              - name:       Vérification de la présence des applications
                stat:    
                    path:   "/Applications/{{ item }}.app"
                register: a
                loop:
                        - test
     
              - name:       Execution du script pour supprimer les apps du dossier Applications.
                command:    purge_app.sh "/Applications/{{ item }}.app"
                become:     yes
                with_items:
                        - test
                when:   a.stat.exists is defined
    ...
    lorsque j’exécute le playbook j'obtiens l'érreur suivante sur la seconde tâche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"msg": "The conditional check 'a.stat.exists is defined' failed. The error was: error while evaluating conditional (a.stat.exists is defined): 'dict object' has no attribute 'stat'\n\nThe error appears to have been in 'file'
    J'ai exécuté le playbook en utilisant l'option -vvv qui m'indique bien que le fameux exists que je cherche se trouve dans les attributs de l'objet et qu'il est bien défini

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    (item=test) => {
    ...
       "item": "test", 
        "stat": {
    ...
            "executable": true, 
             "exists": true, 
     ...
    Du coup je ne comprend pas ce qui bloque... Quelqu'un aurait une idée ?

  2. #2
    Membre du Club
    Profil pro
    étudiant
    Inscrit en
    avril 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 44
    Points : 41
    Points
    41

    Par défaut

    Sous Mac OS les applications sont dans des repertoires ayant l'extension .app, le module file permet de les supprimer facilement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    - name: Suppression des Apps
    file:
        path: "/Applications/{{ item }}.app"
        state: absent
        become: yes
        with_items:
                - item1
                - item2
                - item3

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo