Ansible version 1.5.3
Out playbook look like below:
debug.ym:
- hosts:
> - cnode463
> tasks:
> - include: roles/conf/tasks/hadoop.yml
hadoop.yml
> - name: copy hadoop conf
> sudo: yes
> template: src={{ TEMPLATE_DIR }}/hadoop/{{item}}.j2
> dest=/etc/hadoop/conf/{{item}}
> with_items:
> - core-site.xml
> - hdfs-site.xml
> - hdfs-site.private.xml
> - log4j.properties
> - hadoop-env.sh
when running the playbook, sometime we get failed.
TASK: [copy hbase conf] *******************************************************
ok: [cnode463] => (item=hbase-site.xml)
ok: [cnode463] => (item=log4j.properties)
failed: [cnode463] => (item=hbase-env.sh) => {"failed": true, "item":
"hbase-env.sh", "parsed": false}
FATAL: all hosts have already failed -- aborting
PLAY RECAP ********************************************************************
cnode463 : ok=1 changed=0 unreachable=0 failed=1
I debug the ansible code and add below code to print the result of running
runner._low_level_exec_command
print "****"
print "cmd "+str(cmd)
print "out "+str(out)
print "err "+str(err)
print "____"
And last I found that _low_level_exec_command may not get the output of the
cmd correctly.
the debug log is below:
****
cmd mkdir -p $HOME/.ansible/tmp/ansible-tmp-1396508595.41-255928955172534 &&
chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1396508595.41-255928955172534 && echo
$HOME/.ansible/tmp/ansible-tmp-1396508595.41-255928955172534
out /home/hadoop/.ansible/tmp/ansible-tmp-1396508595.41-255928955172534
err
____
****
cmd rc=0; [ -r "/etc/hadoop/conf/yarn-site.private.xml" ] || rc=2; [ -f
"/etc/hadoop/conf/yarn-site.private.xml" ] || rc=1; [ -d
"/etc/hadoop/conf/yarn-site.private.xml" ] && echo 3 && exit 0;
(/usr/bin/md5sum /etc/hadoop/conf/yarn-site.private.xml ) || (/sbin/md5sum -q
/etc/hadoop/conf/yarn-site.private.xml ) || (/usr/bin/digest -a md5
/etc/hadoop/conf/yarn-site.private.xml ) || (/sbin/md5 -q
/etc/hadoop/conf/yarn-site.private.xml ) || (/usr/bin/md5 -n
/etc/hadoop/conf/yarn-site.private.xml ) || (/bin/md5 -q
/etc/hadoop/conf/yarn-site.private.xml ) || (/usr/bin/csum -h MD5
/etc/hadoop/conf/yarn-site.private.xml ) || (/bin/csum -h MD5
/etc/hadoop/conf/yarn-site.private.xml ) || (echo "${rc}
/etc/hadoop/conf/yarn-site.private.xml")
out
err
____
****
cmd /usr/bin/python
/home/hadoop/.ansible/tmp/ansible-tmp-1396508595.41-255928955172534/copy; rm
-rf /home/hadoop/.ansible/tmp/ansible-tmp-1396508595.41-255928955172534/
>/dev/null 2>&1
out
err
____
failed: [cnode463] => (item=yarn-site.private.xml) => {"failed": true, "item":
"yarn-site.private.xml", "parsed": false}
This problem appear more and more frequently.Is it possible to fix it ?
--
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 post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/ebfbbec6-d60c-4885-9cf9-912dc2edefd7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.