Dears,
I customized a python module to help on dcos package installation, the package installed successfully(per checking in dcos), while ansible fails with share connection close error, may u kindly help on this, thanks~
ansible version
`
ansible 2.7.10
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/admin/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.15rc1 (default, Nov 12 2018, 14:31:15) [GCC 7.3.0]
`
Customized python module
`
`
- name: Ensure cassandra is installed
dcos_package:
name: cassandra
app_id: cassandra
version: "{{cassandra_version}}"
options: >
{
"nodes": {
"count": 3,
"cpus": 0.3,
"mem": 3072,
"disk": 3584,
"heap": {
"size": 1536
},
"placement_constraint": "[[\"hostname\", \"MAX_PER\", \"1\"],[\"role\", \"LIKE\", \"cassandra\" ]]"
}
}
register: install_cassandra
- debug: var=install_cassandra
`
log output with -vvv
`
TASK [dcos_packages : Ensure cassandra is installed] ****************************************************************************************************************************************************************************************
task path: /terraform-ansible/roles/dcos_packages/tasks/main.yml:2
<XXX.XXX.XXX.XXX> ESTABLISH SSH CONNECTION FOR USER: admin
<XXX.XXX.XXX.XXX> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=120s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=admin -o ConnectTimeout=10 -o StrictHostKeyChecking=no -o ‘ProxyCommand=ssh -W %h:22 -q -p 22 admin@bastion_host’ -o ControlPath=/home/admin/.ansible/cp/1e34139989 XXX.XXX.XXX.XXX ‘/bin/sh -c ‘"’“‘echo ~admin && sleep 0’”’“‘’
<XXX.XXX.XXX.XXX> (0, ‘/home/admin\n’, ‘’)
<XXX.XXX.XXX.XXX> ESTABLISH SSH CONNECTION FOR USER: admin
<XXX.XXX.XXX.XXX> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=120s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=admin -o ConnectTimeout=10 -o StrictHostKeyChecking=no -o ‘ProxyCommand=ssh -W %h:22 -q -p 22 admin@bastion_host’ -o ControlPath=/home/admin/.ansible/cp/1e34139989 XXX.XXX.XXX.XXX '/bin/sh -c '”‘"’( umask 77 && mkdir -p “echo /home/admin/.ansible/tmp/ansible-tmp-1559208567.96-144121008933299
” && echo ansible-tmp-1559208567.96-144121008933299=“echo /home/admin/.ansible/tmp/ansible-tmp-1559208567.96-144121008933299
” ) && sleep 0’“'”‘’
<XXX.XXX.XXX.XXX> (0, ‘ansible-tmp-1559208567.96-144121008933299=/home/admin/.ansible/tmp/ansible-tmp-1559208567.96-144121008933299\n’, ‘’)
Using module file /terraform-ansible/library/dcos_package.py
<XXX.XXX.XXX.XXX> PUT /home/admin/.ansible/tmp/ansible-local-28131ZNQ5K/tmpszdroA TO /home/admin/.ansible/tmp/ansible-tmp-1559208567.96-144121008933299/AnsiballZ_dcos_package.py
<XXX.XXX.XXX.XXX> SSH: EXEC scp -C -o ControlMaster=auto -o ControlPersist=120s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=admin -o ConnectTimeout=10 -o StrictHostKeyChecking=no -o ‘ProxyCommand=ssh -W %h:22 -q -p 22 admin@bastion_host’ -o ControlPath=/home/admin/.ansible/cp/1e34139989 /home/admin/.ansible/tmp/ansible-local-28131ZNQ5K/tmpszdroA ‘[XXX.XXX.XXX.XXX]:/home/admin/.ansible/tmp/ansible-tmp-1559208567.96-144121008933299/AnsiballZ_dcos_package.py’
<XXX.XXX.XXX.XXX> (0, ‘’, ‘’)
<XXX.XXX.XXX.XXX> ESTABLISH SSH CONNECTION FOR USER: admin
<XXX.XXX.XXX.XXX> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=120s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=admin -o ConnectTimeout=10 -o StrictHostKeyChecking=no -o ‘ProxyCommand=ssh -W %h:22 -q -p 22 admin@bastion_host’ -o ControlPath=/home/admin/.ansible/cp/1e34139989 XXX.XXX.XXX.XXX ‘/bin/sh -c ‘"’“‘chmod u+x /home/admin/.ansible/tmp/ansible-tmp-1559208567.96-144121008933299/ /home/admin/.ansible/tmp/ansible-tmp-1559208567.96-144121008933299/AnsiballZ_dcos_package.py && sleep 0’”’“‘’
<XXX.XXX.XXX.XXX> (0, ‘’, ‘’)
<XXX.XXX.XXX.XXX> ESTABLISH SSH CONNECTION FOR USER: admin
<XXX.XXX.XXX.XXX> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=120s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=admin -o ConnectTimeout=10 -o StrictHostKeyChecking=no -o ‘ProxyCommand=ssh -W %h:22 -q -p 22 admin@bastion_host’ -o ControlPath=/home/admin/.ansible/cp/1e34139989 -tt XXX.XXX.XXX.XXX '/bin/sh -c '”‘“'sudo -H -S -n -u root /bin/sh -c '”’“'”‘"’“'”‘"’“‘echo BECOME-SUCCESS-imgjrgyfedfryywgodhpumidkfxbyzyh; /usr/bin/python /home/admin/.ansible/tmp/ansible-tmp-1559208567.96-144121008933299/AnsiballZ_dcos_package.py’”‘"’“'”‘"’“'”‘"’ && sleep 0’“'”‘’
Escalation succeeded
<XXX.XXX.XXX.XXX> (0, ‘looking for package cassandra app_id cassandra\r\ncassandra current version: None\r\nPackage cassandra not in desired state\r\nDC/OS: installing package cassandra version 2.5.0-3.11.3\r\noptions as \r\n{\r\n “nodes”: {\r\n “count”: 3,\r\n “cpus”: 0.3,\r\n “mem”: 3072,\r\n “disk”: 3584,\r\n “heap”: {\r\n “size”: 1536\r\n },\r\n “placement_constraint”: “[[\“hostname\”, \“MAX_PER\”, \“1\”],[\“role\”, \“LIKE\”, \“cassandra\” ]]”\r\n }\r\n}\r\n\r\ncommand: dcos package install cassandra --yes --package-version=2.5.0-3.11.3 --options=/tmp/tmpZ225kn\r\n\r\n{“invocation”: {“module_args”: {“version”: “2.5.0-3.11.3”, “app_id”: “cassandra”, “name”: “cassandra”, “options”: “{\n \“nodes\”: {\n \“count\”: 3,\n \“cpus\”: 0.3,\n \“mem\”: 3072,\n \“disk\”: 3584,\n \“heap\”: {\n \“size\”: 1536\n },\n \“placement_constraint\”: \”[[\\\“hostname\\\”, \\\“MAX_PER\\\”, \\\“1\\\”],[\\\“role\\\”, \\\“LIKE\\\”, \\\“cassandra\\\” ]]\“\n }\n}\n”}}, “changed”: true, “meta”: {“action”: “[Install] no cassandra found, do install target version”, “current_version”: null, “param”: {“version”: “2.5.0-3.11.3”, “app_id”: “cassandra”, “name”: “cassandra”, “options”: “{\n \“nodes\”: {\n \“count\”: 3,\n \“cpus\”: 0.3,\n \“mem\”: 3072,\n \“disk\”: 3584,\n \“heap\”: {\n \“size\”: 1536\n },\n \“placement_constraint\”: \”[[\\\“hostname\\\”, \\\“MAX_PER\\\”, \\\“1\\\”],[\\\“role\\\”, \\\“LIKE\\\”, \\\“cassandra\\\” ]]\“\n }\n}\n”}}}\r\n’, ‘Shared connection to XXX.XXX.XXX.XXX closed.\r\n’)
<XXX.XXX.XXX.XXX> ESTABLISH SSH CONNECTION FOR USER: admin
<XXX.XXX.XXX.XXX> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=120s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=admin -o ConnectTimeout=10 -o StrictHostKeyChecking=no -o ‘ProxyCommand=ssh -W %h:22 -q -p 22 admin@bastion_host’ -o ControlPath=/home/admin/.ansible/cp/1e34139989 XXX.XXX.XXX.XXX ‘/bin/sh -c ‘"’“‘rm -f -r /home/admin/.ansible/tmp/ansible-tmp-1559208567.96-144121008933299/ > /dev/null 2>&1 && sleep 0’”’"‘’
<XXX.XXX.XXX.XXX> (0, ‘’, ‘’)
fatal: [XXX.XXX.XXX.XXX]: FAILED! => changed=false
module_stderr: |-
Shared connection to XXX.XXX.XXX.XXX closed.
module_stdout: |-
looking for package cassandra app_id cassandra
cassandra current version: None
Package cassandra not in desired state
DC/OS: installing package cassandra version 2.5.0-3.11.3
options as
{
“nodes”: {
“count”: 3,
“cpus”: 0.3,
“mem”: 3072,
“disk”: 3584,
“heap”: {
“size”: 1536
},
“placement_constraint”: “[["hostname", "MAX_PER", "1"],["role", "LIKE", "cassandra" ]]”
}
}
command: dcos package install cassandra --yes --package-version=2.5.0-3.11.3 --options=/tmp/tmpZ225kn
{“invocation”: {“module_args”: {“version”: “2.5.0-3.11.3”, “app_id”: “cassandra”, “name”: “cassandra”, “options”: “{\n "nodes": {\n "count": 3,\n "cpus": 0.3,\n "mem": 3072,\n "disk": 3584,\n "heap": {\n "size": 1536\n },\n "placement_constraint": "[[\"hostname\", \"MAX_PER\", \"1\"],[\"role\", \"LIKE\", \"cassandra\" ]]"\n }\n}\n”}}, “changed”: true, “meta”: {“action”: “[Install] no cassandra found, do install target version”, “current_version”: null, “param”: {“version”: “2.5.0-3.11.3”, “app_id”: “cassandra”, “name”: “cassandra”, “options”: “{\n "nodes": {\n "count": 3,\n "cpus": 0.3,\n "mem": 3072,\n "disk": 3584,\n "heap": {\n "size": 1536\n },\n "placement_constraint": "[[\"hostname\", \"MAX_PER\", \"1\"],[\"role\", \"LIKE\", \"cassandra\" ]]"\n }\n}\n”}}}
msg: |-
MODULE FAILURE
See stdout/stderr for the exact error
rc: 0
to retry, use: --limit @/terraform-ansible/deploy-services.retry
PLAY RECAP **********************************************************************************************************************************************************************************************************************************
XXX.XXX.XXX.XXX : ok=1 changed=0 unreachable=0 failed=1
`
Appreciate if any kindly help, thanks~