Update:
I able to confirm the issue is in ***delegate_to*** 
Even though we see log is printing things getting executed on remote host, 
it's not... 

I replaced execute Mongo code with below code & i only saw local host 
files... 

*    - name: "debug - validate - files in /usr/bin"*
*      shell: "ls -l /usr/bin/m*"*
*      loop: "{{ my_server_list.split(',') }}"*
*      loop_control:*
*        loop_var: server_item*
*      when: (server_item | length > 5)*
*      delegate_to: "{{ server_item }}"*
*      register: work_start*
*      changed_when: false*


I did confirm SSH & Sudo works fine between local & remote host


On Thursday, June 2, 2022 at 3:11:45 PM UTC-4 Ashish Patel wrote:

> Greetings Experts :) 
>
> Thank you for looking at this & sparing your precious time to help me with 
> this.. 
>
> My initial portion of Playbook:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *---- hosts: localhost  connection: local  gather_facts: false  vars:    # 
> change_number - from awx - [format]: CHG[0-9]+    # serverlist - from awx  
>   # mongo_userlst - from awx - [format]: [{'username': {'external_auth': 
> True, 'roles': {'rolename': {'db': 'admin'}, ...}}}]    # mongo_rolelst - 
> from awx - [format]: [{'rolename': {'roles': { 'RolePriv1': {'db': 
> 'database1'}, ...}}}]    # snow_environment - from awx    
> ds_vault_environment: prod    vault_username: "{{ lookup*** }}"    
> vault_password: "{{ lookup*** }}"  roles:    - mongodb_common    - 
> ds_snow_common  tasks:    - name: "xx- Set TOKEN fact to TOKEN environment 
> variable"      set_fact:        TOKEN: "{{ lookup*** }}"      no_log: "{{ 
> hide_sensitive_info | default(True) }}"    - name: "xx- Set TOKEN fact when 
> the TOKEN environment variable was not set."      include_role:        
> name: sensitive_for_pass      when: sensitive_for_pass    - name: "xx- 
> lookup relevant passwords for play"      set_fact:        upassword: "{{ 
> lookup*** }}"        snow_password: "{{ lookup*** }}"    - name: "xx- 
> validate User Definition following Standard"      include_role:        
> name: mongodb_roles_users        tasks_from: validate_definition.yml      
> loop: "{{ mongo_userlst }}"      loop_control:        loop_var: 
> mongodb_user_role      when: (mongo_userlst|default([]) | length > 0)    - 
> name: "xx- validate User Role Definition following Standard"      
> include_role:        name: mongodb_roles_users        tasks_from: 
> validate_definition.yml      loop: "{{ mongo_rolelst }}"      
> loop_control:        loop_var: mongodb_user_role      when: 
> (mongo_rolelst|default([]) | length > 0)    - name: "xx- set required facts 
> for future plays and tasks"      set_fact:        username: "{{ 
> mongo_admin_account }}"        my_user_list: "{{ mongo_userlst }}"        
> my_role_list: "{{ mongo_rolelst }}"        my_server_list: "{{ serverlist | 
> replace(' ', '') }}"        auth_string: " --username {{ 
> mongo_admin_account }} --authenticationMechanism='PLAIN' 
> --authenticationDatabase='admin' -p '{{ upassword }}' admin"    - name: 
> "xx- get all prim servers"      shell: /usr/bin/mongo --port {{ pport }} 
> --host {{ server_item }} {{ auth_string }} -quiet --eval "{{ shell_command 
> }}"      vars:        shell_command: "rs.isMaster().primary"        pport: 
> 123      loop: "{{ my_server_list.split(',') }}"      loop_control:        
> loop_var: server_item      when: (server_item | length > 5)      
> delegate_to: "{{ server_item }}"      register: prim_server_list      
> changed_when: false*
> *...*
> *...*
> *...*
> FYI, *I tried a shell module with proper single quotes & double quotes as 
> well, but got the same error.. *
>
>
> *Error I received:*
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *TASK [xx- get all prim servers] ******************************task path: 
> /tmp/bwrap_1424_dasvtmvy/awx_1424_93abt0t9/project/playbooks/mongodb_gen_account.yml:66<servername.domain>
>  
> ESTABLISH LOCAL CONNECTION FOR USER: root<servername.domain> EXEC /bin/sh 
> -c 'echo ~root && sleep 0'<servername.domain> EXEC /bin/sh -c '( umask 77 
> && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo 
> /root/.ansible/tmp/ansible-tmp-1654194046.0317488-72-17477654263645 `" && 
> echo ansible-tmp-1654194046.0317488-72-17477654263645="` echo 
> /root/.ansible/tmp/ansible-tmp-1654194046.0317488-72-17477654263645 `" ) && 
> sleep 0'<localhost> Attempting python interpreter 
> discovery<servername.domain> EXEC /bin/sh -c 'echo PLATFORM; uname; echo 
> FOUND; command -v '"'"'/usr/bin/python'"'"'; command -v 
> '"'"'python3.7'"'"'; command -v '"'"'python3.6'"'"'; command -v 
> '"'"'python3.5'"'"'; command -v '"'"'python2.7'"'"'; command -v 
> '"'"'python2.6'"'"'; command -v '"'"'/usr/libexec/platform-python'"'"'; 
> command -v '"'"'/usr/bin/python3'"'"'; command -v '"'"'python'"'"'; echo 
> ENDFOUND && sleep 0'<servername.domain> EXEC /bin/sh -c '/usr/bin/python3.6 
> && sleep 0'Using module file 
> /opt/payx-custom-venvs/base/lib/python3.6/site-packages/ansible/modules/command.py<servername.domain>
>  
> PUT /var/lib/awx/.ansible/tmp/ansible-local-21lnly3nd/tmp73xe7ln0 TO 
> /root/.ansible/tmp/ansible-tmp-1654194046.0317488-72-17477654263645/AnsiballZ_command.py<servername.domain>
>  
> EXEC /bin/sh -c 'chmod u+x 
> /root/.ansible/tmp/ansible-tmp-1654194046.0317488-72-17477654263645/ 
> /root/.ansible/tmp/ansible-tmp-1654194046.0317488-72-17477654263645/AnsiballZ_command.py
>  
> && sleep 0'<servername.domain> EXEC /bin/sh -c 
> '/usr/libexec/platform-python 
> /root/.ansible/tmp/ansible-tmp-1654194046.0317488-72-17477654263645/AnsiballZ_command.py
>  
> && sleep 0'<servername.domain> EXEC /bin/sh -c 'rm -f -r 
> /root/.ansible/tmp/ansible-tmp-1654194046.0317488-72-17477654263645/ > 
> /dev/null 2>&1 && sleep 0'failed: [localhost -> servername.domain] 
> (item=servername.domain) => {    "ansible_loop_var": "server_item",    
> "changed": false,    "cmd": "/usr/bin/mongo --port 123 --host 
> servername.domain  --username username --authenticationMechanism='PLAIN' 
> --authenticationDatabase='admin' -p 'password' admin -quiet --eval 
> \\"rs.isMaster().primary\\"",    "delta": "0:00:00.003849",    "end": 
> "2022-06-02 18:20:46.495075",    "invocation": {        "module_args": {    
>         "_raw_params": "/usr/bin/mongo --port 123 --host servername.domain 
>  --username username --authenticationMechanism='PLAIN' 
> --authenticationDatabase='admin' -p 'password' admin -quiet --eval 
> \\"rs.isMaster().primary\\"",            "_uses_shell": true,            
> "argv": null,            "chdir": null,            "creates": null,        
>     "executable": null,            "removes": null,            "stdin": 
> null,            "stdin_add_newline": true,            "strip_empty_ends": 
> true,            "warn": true        }    },    "msg": "non-zero return 
> code",    "rc": 127,    "server_item": "servername.domain",    "start": 
> "2022-06-02 18:20:46.491226",    "stderr": "/bin/sh: /usr/bin/mongo: No 
> such file or directory",    "stderr_lines": [        "/bin/sh: 
> /usr/bin/mongo: No such file or directory"    ],    "stdout": "",    
> "stdout_lines": []}PLAY RECAP 
> *********************************************************************localhost
>  
>                  : ok=14   changed=0    unreachable=0    failed=1   
>  skipped=6    rescued=0    ignored=0  *
>
>
>
>
> I assure that the file exists & has proper permission so the user can 
> execute on the server..
>
>
>
> *0602_145552 me@myVDI playbook ]: ssh servername ls -l 
> /usr/bin/mongo-rwxr-xr-x. 1 root root 59291368 Sep 19  2021 
> /usr/bin/mongo0602_145614 me@myVDI playbook ]:*
>
>  
>
> Thank you for your time,
> Best,
> Ashish
>

-- 
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/979a3e45-e22a-4fbd-ab74-d14f7b95b947n%40googlegroups.com.

Reply via email to