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/d96c3859-51bb-4d14-a2d2-86b328dcd35dn%40googlegroups.com.