Thanks Todd, appreciate your guidance.

On Thursday, December 30, 2021 at 8:59:08 PM UTC+5:30 [email protected] 
wrote:

> Assuming “hostname” means a fully qualified domain name, then the 
> following may help you.
>
> ---- hosts: all
>   gather_facts: True
>   become: false
>   tasks:
>   - name: show file contents
>     debug:
>       msg: "{{ lookup('file', 'customer-expects.txt') }}"
>
>   - name: Correct kernel?
>     set_fact:
>       # These dashes matter.
>       expectation: |-
>         {%- if lookup('file', 'customer-expects.txt')
>               is regex([ansible_system,ansible_fqdn,ansible_kernel]|join(' 
> ')|regex_escape()) -%}
>         matched
>         {%- else -%}
>         missed
>         {%- endif -%}
>   - name: Report via Debug
>     run_once: True
>     debug:
>       msg: |
>         {% for exp in ['missed', 'matched', 'error'] %}
>         Kernel_expectations_{{ exp }}:
>         {%   for hosti in ansible_play_hosts_all|sort %}
>         {%     if hostvars[hosti]['expectation']|d('error') == exp %}
>         - {{ hosti }}
>         {%     endif %}
>         {%   endfor %}
>         {% endfor %}
>
> This produces the following output given the command
>
> ANSIBLE_STDOUT_CALLBACK=yaml ansible-playbook customer-expects.yml --limit 
> flakey.sample.net,shaggy.sample.net,scooby.sample.net,clyde.sample.net -v
>
> Using /home/utoddl/.ansible.cfg as config file
>
> PLAY [all] ******************************
>
> TASK [Gathering Facts] ****************
> fatal: [flakey.sample.net]: UNREACHABLE! => changed=false 
>   msg: 'Failed to connect to the host via ssh: [email protected]: 
> Permission denied (publickey,gssapi-keyex,gssapi-with-mic).'
>   unreachable: true
> ok: [scooby.sample.net]
> ok: [shaggy.sample.net]
> ok: [clyde.sample.net]
>
> TASK [show file contents] **************
> ok: [clyde.sample.net] => 
>   msg: |-
>     Linux flakey.sample.net 5.15.11-200.fc35.x86_64
>     Linux clyde.sample.net 5.15.11-200.fc35.x86_64
>     Linux shaggy.sample.net 5.15.11-200.fc35.x86_64
>     Linux scooby.sample.net 5.15.11-200.fc35.x86_64
>     Linux loaner.sample.net 5.15.11-200.fc35.x86_64
>
> TASK [Correct kernel?] *****************
> ok: [clyde.sample.net] => changed=false 
>   ansible_facts:
>     expectation: matched
> ok: [shaggy.sample.net] => changed=false 
>   ansible_facts:
>     expectation: missed
> ok: [scooby.sample.net] => changed=false 
>   ansible_facts:
>     expectation: matched
>
> TASK [Report via Debug] **************
> ok: [clyde.sample.net] => 
>   msg: |-
>     Kernel_expectations_missed:
>     - shaggy.sample.net
>   
>     Kernel_expectations_matched:
>     - clyde.sample.net
>     - scooby.sample.net
>   
>     Kernel_expectations_error:
>     - flakey.sample.net
>
> PLAY RECAP ***************************clyde.sample.net     : ok=4    
> changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0 
>   shaggy.sample.net    : ok=2    changed=0    unreachable=0    failed=0    
> skipped=0    rescued=0    ignored=0   flakey.sample.net    : ok=0    
> changed=0    unreachable=1    failed=0    skipped=0    rescued=0    ignored=0 
>   scooby.sample.net    : ok=2    changed=0    unreachable=0    failed=0    
> skipped=0    rescued=0    ignored=0   
>
> On 12/29/21 9:46 PM, Marian Saldhana wrote:
>
> Thanks for your reply. 
>
> *Expected value is: -  Linux hostname 4.18.0-193.el8.x86_64 ( The customer 
> has RHEL 8.2 running in its env )*
> I have 100 such lines given to me by the customer ( OS inventory ) where 
> 80% of the values that I receive by running the ansible standard module 
> matches with the expected value given by the customer. I need to understand 
> how these values can be matched with the values given by the customer.
>
>
>
>
> On Wednesday, December 29, 2021 at 10:56:06 PM UTC+5:30 [email protected] 
> wrote:
>
>> What, exactly, do the "values given by the customer" look like? It almost 
>> certainly isn't going to match the output of `uname -a`. (I'm guessing. 
>> But please, don't make us guess; give us the details of the actual problem.)
>>
>> On Monday, December 27, 2021 at 11:58:39 PM UTC-5 [email protected] 
>> wrote:
>>
>>> Hi All, 
>>>
>>> This is my code:
>>>
>>> ---
>>> # tasks file for uname
>>>
>>>       - name: Kernel version number
>>>         register: uname_a
>>>         command: "uname -a"
>>>
>>>       - debug:
>>>           var: uname_a.stdout_lines
>>>
>>> +++
>>>
>>> TASK [uname_tab1 : debug] 
>>> ***************************************************************************************************************
>>> ok: [192.168.43.237] => {
>>>     "uname_a.stdout_lines": [
>>>         "Linux ansible-client 4.18.0-348.el8.x86_64 #1 SMP Tue Oct 19 
>>> 15:14:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux"
>>>     ]
>>> }
>>> ok: [192.168.43.6] => {
>>>     "uname_a.stdout_lines": [
>>>         "Linux ansible-client1 4.18.0-348.el8.x86_64 #1 SMP Tue Oct 19 
>>> 15:14:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux"
>>>     ]
>>> }
>>>
>>> ++++
>>>
>>> Now I need to compare these values with the values given by the customer 
>>> ( Linux ansible-client1 4.18.0-348.el8.x86_64 ) hence request your 
>>> assistance out  here to write a program.
>>> On Wednesday, December 22, 2021 at 5:36:21 AM UTC+5:30 [email protected] 
>>> wrote:
>>>
>>>> That kind of info can be obtained with "gather facts" step, which is 
>>>> the first step when running a playbook. 
>>>>
>>>> You just have to comparte returned info in ansible variables like 
>>>> "ansible_distribution" and "ansible_distribution_version" with the 
>>>> expected 
>>>> value. You can store expected value in a local dictionary that uses 
>>>> hostname as the key value.
>>>>
>>>> El martes, 21 de diciembre de 2021 a la(s) 08:15:15 UTC-3, 
>>>> [email protected] escribió:
>>>>
>>>>> Thanks for your reply. 
>>>>>
>>>>> I want to automate tasks such as verifying the OS version of remote 
>>>>> nodes.
>>>>>
>>>>> The customer has given me the expected value i.e. Centos version 8.2
>>>>>
>>>>> Through automation I wish to get the OS version of the remotes nodes 
>>>>> and then compare that value with the value that I have received from the 
>>>>> customer through ansible playbooks.
>>>>> On Tuesday, December 21, 2021 at 4:06:57 PM UTC+5:30 
>>>>> [email protected] wrote:
>>>>>
>>>>>> You need to elaborate some more, I can't make anything of your story. 
>>>>>> Give some real world examples of the tasks that you're trying to 
>>>>>> automate. 
>>>>>>
>>>>>> On Tue, 21 Dec 2021 at 07:22, Marian Saldhana <[email protected]> 
>>>>>> wrote:
>>>>>>
>>>>>>> Hi All, 
>>>>>>>
>>>>>>> As I am new to ansible i need to write a role which compares input 
>>>>>>> /output value.
>>>>>>>
>>>>>>> Let me elaborate.
>>>>>>>
>>>>>>> I need to write a role where I already have expected value, for eg 
>>>>>>> hostname of ansible remote node - abc.
>>>>>>>
>>>>>>> Now I need to write a role which first will fetch the value from the 
>>>>>>> remote node and then compare the fetched value with the expected value 
>>>>>>> ( 
>>>>>>> abc ) I have with me.
>>>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>>
>>>>>>> -- 
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "Ansible Project" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>> send an email to [email protected].
>>>>>>> To view this discussion on the web visit 
>>>>>>> https://groups.google.com/d/msgid/ansible-project/b708d4e2-ded7-44f0-b68a-866e93ec860bn%40googlegroups.com
>>>>>>>  
>>>>>>> <https://groups.google.com/d/msgid/ansible-project/b708d4e2-ded7-44f0-b68a-866e93ec860bn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>> -- 
>>>>>> Sent from a mobile device - please excuse the brevity, spelling and 
>>>>>> punctuation.
>>>>>>
>>>>> -- 
> You received this message because you are subscribed to the Google Groups 
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
>
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/3f4e20ff-2ece-4441-ae03-d70a5802ca2cn%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/ansible-project/3f4e20ff-2ece-4441-ae03-d70a5802ca2cn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> ​
>
> -- 
> Todd
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/da19fb7a-9207-4cc5-a99b-4eca86ef3f31n%40googlegroups.com.

Reply via email to