<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>sujet Re: Génération d'un rapport en ansible dans Discussions en Général</title>
    <link>https://community.cisco.com/t5/discussions-en-g%C3%A9n%C3%A9ral/g%C3%A9n%C3%A9ration-d-un-rapport-en-ansible/m-p/4486293#M216</link>
    <description>&lt;P&gt;Bonjour Francesco,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Tout d'abord : merci de votre réponse.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Je viens de tester ce que vous venez de proposer : cela n'a rien changé.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Je pense que le problème viens plutôt de la génération des fichiers 'result' que j'utilise pour faire la comparaison avec le fichier de Template.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Le vrai problème c'est que j'ai un paramètre dans le fichiers de Templates qui n'est pas toujours au bon emplacement lorsque je fais mon test et cela ne me donnes pas le résultat escompté.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Il faudrait plutôt que je fasse un test ligne par ligne, mais ayant découvert ansible très récemment, et ayant fais plusieurs recherche sans résultat je ne suis pas sûr de pouvoir le faire.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Est ce que vous auriez une suggestion ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 14 Oct 2021 14:51:52 GMT</pubDate>
    <dc:creator>Marc.R</dc:creator>
    <dc:date>2021-10-14T14:51:52Z</dc:date>
    <item>
      <title>Génération d'un rapport en ansible</title>
      <link>https://community.cisco.com/t5/discussions-en-g%C3%A9n%C3%A9ral/g%C3%A9n%C3%A9ration-d-un-rapport-en-ansible/m-p/4470514#M204</link>
      <description>&lt;P&gt;Je vous expose mon problème :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dans un premier temps, j’ai un fichier de Templates où sont écris les lignes de configuration de deux ACL différentes&lt;/P&gt;&lt;P&gt;Ensuite, j’utilise le Tag ansible définis, et j’enregistre le résultat dans un fichier de sortie&amp;nbsp;:&lt;/P&gt;&lt;P&gt;Voici les étapes du playbook :&lt;/P&gt;&lt;P&gt;J’utilise la commande&lt;/P&gt;&lt;P&gt;sh run partition access-list | section ip access-list {{ Le type et le nom de l’ACL }}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ensuite j’enregistre le résultat dans un fichier Temporaire.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Puis je fais la comparaison entre le fichier Temporaire et le fichier de Templates, pour cela je compte chaque lignes de chaque fichiers. Et si c’est les deux sont égales, je dis si c’est conforme ou non&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Et enfin je génére un CSV comme comme fichier de rapport.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Mon problème est le suivant&amp;nbsp;:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Pour dire j’utilise un «&amp;nbsp;set_fact&amp;nbsp;» dans le playbook mais il ne marche pas comme je le voudrais&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;La conformité est determine avec ces quelques lignes&amp;nbsp;:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;-&amp;nbsp;name:&amp;nbsp;Count&amp;nbsp;Match&amp;nbsp;Result&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shell:&amp;nbsp;'&amp;nbsp;grep&amp;nbsp;-Fxf&amp;nbsp;/tmp/{{&amp;nbsp;inventory_hostname&amp;nbsp;}}.result&amp;nbsp;./Templates/SNMP_std_val.cfg&amp;nbsp;|&amp;nbsp;wc&amp;nbsp;-l'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;register:&amp;nbsp;countmatch&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;-&amp;nbsp;name:&amp;nbsp;count&amp;nbsp;Standard&amp;nbsp;Value&amp;nbsp;lines&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shell:&amp;nbsp;'cat&amp;nbsp;./Templates/SNMP_std_val.cfg&amp;nbsp;|&amp;nbsp;wc&amp;nbsp;-l'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;register:&amp;nbsp;countstd&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;conformity&amp;nbsp;:&amp;nbsp;"{%&amp;nbsp;if&amp;nbsp;countstd|int&amp;nbsp;==&amp;nbsp;countmatch|int&amp;nbsp;%}&amp;nbsp;'True'&amp;nbsp;{%&amp;nbsp;else&amp;nbsp;%}&amp;nbsp;'False'&amp;nbsp;{%&amp;nbsp;endif&amp;nbsp;%}&amp;nbsp;"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;J’ai essayé plusieurs façon (comme le module shell) mais rien ne change&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ici&amp;nbsp; la colonne “Conformity” qui indique si la configuration est conforme ou non, ne marche pas car elle doit comparer le résultat des colonnes nommées &amp;nbsp;“Standard values” &amp;amp; Compliant Items”. (Par exemple : j’ai un résultat où “standard values” est égale à 4 et «&amp;nbsp;Compliant Items&amp;nbsp;» à 0) mais le résultat m’indique «&amp;nbsp;True&amp;nbsp;» alors que cela devrait être «&amp;nbsp;False&amp;nbsp;»&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Auriez une proposition à me faire pour résoudre ce problème&amp;nbsp;?&lt;/P&gt;</description>
      <pubDate>Tue, 21 Sep 2021 07:48:22 GMT</pubDate>
      <guid>https://community.cisco.com/t5/discussions-en-g%C3%A9n%C3%A9ral/g%C3%A9n%C3%A9ration-d-un-rapport-en-ansible/m-p/4470514#M204</guid>
      <dc:creator>Marc.R</dc:creator>
      <dc:date>2021-09-21T07:48:22Z</dc:date>
    </item>
    <item>
      <title>Re: Génération d'un rapport en ansible</title>
      <link>https://community.cisco.com/t5/discussions-en-g%C3%A9n%C3%A9ral/g%C3%A9n%C3%A9ration-d-un-rapport-en-ansible/m-p/4474182#M206</link>
      <description>&lt;P&gt;Bonjour,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Le résultat dans une variable avec le register correspond à un dictionnaire. Vous voulez comparer le nombre reçu avec wc -l donc il faut aller chercher le stdout.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Voici la commande qui devrait fonctionner:&lt;/P&gt;
&lt;PRE&gt;conformity : "{% if countmatch.stdout|int == countstd.stdout|int %} 'Corform' {% else %} 'Not Conform' {% endif %}"&lt;/PRE&gt;
&lt;P&gt;Pour info, voici le playbook que j'ai repris de votre part mais juste ajuster la commande shell:&lt;/P&gt;
&lt;PRE&gt;---
- hosts: localhost
  gather_facts: no
  connection: local
  tasks:
    - name: Count Match Result
      shell: 'ls host* | wc -l'
      register: countmatch

    - name: count Standard Value lines
      shell: 'ls grp* | wc -l'
      register: countstd
    
    - debug:
        msg:
         - '{{ countmatch }}'
         - '{{ countstd }}'
&lt;/PRE&gt;
&lt;P&gt;Le résultat du debug est le suivant:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;ok: [localhost] =&amp;gt; {
    "msg": [
        {
            "changed": true,
            "cmd": "ls host* | wc -l",
            "delta": "0:00:00.171478",
            "end": "2021-09-27 00:47:36.346947",
            "failed": false,
            "rc": 0,
            "start": "2021-09-27 00:47:36.175469",
            "stderr": "",
            "stderr_lines": [],
&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;            "stdout": "2",
&lt;/STRONG&gt;&lt;/FONT&gt;            "stdout_lines": [
                "2"
            ]
        },
        {
            "changed": true,
            "cmd": "ls grp* | wc -l",
            "delta": "0:00:00.183247",
            "end": "2021-09-27 00:47:39.890647",
            "failed": false,
            "rc": 0,
            "start": "2021-09-27 00:47:39.707400",
            "stderr": "",
            "stderr_lines": [],
&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;            "stdout": "2",
&lt;/STRONG&gt;&lt;/FONT&gt;            "stdout_lines": [
                "2"
            ]
        }
    ]
}&lt;/PRE&gt;
&lt;P&gt;Voilà l'explication du stdout.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;J'espère que cela réponde à votre question&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 27 Sep 2021 00:54:39 GMT</pubDate>
      <guid>https://community.cisco.com/t5/discussions-en-g%C3%A9n%C3%A9ral/g%C3%A9n%C3%A9ration-d-un-rapport-en-ansible/m-p/4474182#M206</guid>
      <dc:creator>Francesco Molino</dc:creator>
      <dc:date>2021-09-27T00:54:39Z</dc:date>
    </item>
    <item>
      <title>Re: Génération d'un rapport en ansible</title>
      <link>https://community.cisco.com/t5/discussions-en-g%C3%A9n%C3%A9ral/g%C3%A9n%C3%A9ration-d-un-rapport-en-ansible/m-p/4486293#M216</link>
      <description>&lt;P&gt;Bonjour Francesco,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Tout d'abord : merci de votre réponse.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Je viens de tester ce que vous venez de proposer : cela n'a rien changé.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Je pense que le problème viens plutôt de la génération des fichiers 'result' que j'utilise pour faire la comparaison avec le fichier de Template.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Le vrai problème c'est que j'ai un paramètre dans le fichiers de Templates qui n'est pas toujours au bon emplacement lorsque je fais mon test et cela ne me donnes pas le résultat escompté.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Il faudrait plutôt que je fasse un test ligne par ligne, mais ayant découvert ansible très récemment, et ayant fais plusieurs recherche sans résultat je ne suis pas sûr de pouvoir le faire.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Est ce que vous auriez une suggestion ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 14 Oct 2021 14:51:52 GMT</pubDate>
      <guid>https://community.cisco.com/t5/discussions-en-g%C3%A9n%C3%A9ral/g%C3%A9n%C3%A9ration-d-un-rapport-en-ansible/m-p/4486293#M216</guid>
      <dc:creator>Marc.R</dc:creator>
      <dc:date>2021-10-14T14:51:52Z</dc:date>
    </item>
    <item>
      <title>Re: Génération d'un rapport en ansible</title>
      <link>https://community.cisco.com/t5/discussions-en-g%C3%A9n%C3%A9ral/g%C3%A9n%C3%A9ration-d-un-rapport-en-ansible/m-p/4514926#M266</link>
      <description>&lt;P&gt;Désolé pour mon retard mais ces dernières sensibles étaient chargées.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;pourriez-vous svp m’envoyer vos fichiers?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Ce que je vous ai mis en output sont de vrais résultats et cela fonctionne pour moi.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Dec 2021 04:55:38 GMT</pubDate>
      <guid>https://community.cisco.com/t5/discussions-en-g%C3%A9n%C3%A9ral/g%C3%A9n%C3%A9ration-d-un-rapport-en-ansible/m-p/4514926#M266</guid>
      <dc:creator>Francesco Molino</dc:creator>
      <dc:date>2021-12-08T04:55:38Z</dc:date>
    </item>
  </channel>
</rss>

