Hello Michael, Thanks! That worked great. Thought I'd tried that previously but I might have had hostname.domain in the inventory and only hostname in delegate_to so it didn't match perfectly.
Glad to have found the delegate_to functionality - absolutely necessary in certain cases. One of those things you know you need when you need it :). Had I read about it previously in the manual it would have been hard to imagine what it could be used for. Regards, --Ed On Thursday, May 15, 2014 4:27:14 AM UTC-7, Michael DeHaan wrote: > > Ah. > > ""delegate_to: myhost:portnum"" > > Delegate_to takes a hostname but is not meant to take "hostname:port" > syntax. Rather, define the ansible host record in inventory and configure > the portnumber. > > --Michael > > > On Wed, May 14, 2014 at 9:44 PM, <[email protected] <javascript:>> wrote: > >> Hello Michael, >> >> This is using 1.7 git. >> >> The output is as follows: >> >> PLAY [work] >> ******************************************************************* >> >> GATHERING FACTS >> *************************************************************** >> <work1> ESTABLISH CONNECTION FOR USER: root >> <work1> REMOTE_MODULE setup >> <work1> EXEC ['ssh', '-C', '-vvv', '-o', 'ControlMaster=auto', '-o', >> 'ControlPersist=60s', '-o', >> 'ControlPath=/Users/eduardr/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', >> 'KbdInteractiveAuthentication=no', '-o', >> 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', >> '-o', 'PasswordAuthentication=no', '-o', 'User=root', '-o', >> 'ConnectTimeout=10', 'work1', u"/bin/sh -c 'LC_CTYPE=en_US.UTF-8 >> LANG=en_US.UTF-8 /usr/bin/python'"] >> ok: [work1] >> >> TASK: [basic | software directory create] >> ************************************* >> <work1> ESTABLISH CONNECTION FOR USER: root >> <work1> REMOTE_MODULE file path=/srv/software owner='root' group='root' >> mode=0755 state='directory' >> <work1> EXEC ['ssh', '-C', '-vvv', '-o', 'ControlMaster=auto', '-o', >> 'ControlPersist=60s', '-o', >> 'ControlPath=/Users/eduardr/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', >> 'KbdInteractiveAuthentication=no', '-o', >> 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', >> '-o', 'PasswordAuthentication=no', '-o', 'User=root', '-o', >> 'ConnectTimeout=10', 'work1', u"/bin/sh -c 'LC_CTYPE=en_US.UTF-8 >> LANG=en_US.UTF-8 /usr/bin/python'"] >> ok: [work1] => {"changed": false, "gid": 0, "group": "root", "item": "", >> "mode": "0755", "owner": "root", "path": "/srv/software", "size": 4096, >> "state": "directory", "uid": 0} >> >> TASK: [basic | package find name of latest version] >> *************************** >> <repo1:12022> ESTABLISH CONNECTION FOR USER: root >> <repo1:12022> REMOTE_MODULE command find . -name "ansible-[0-9]*" -print >> | sort | tail -1 | sed 's,^[^/]*/,,' chdir=/srv/software/slackware/14.1 >> #USE_SHELL >> <repo1:12022> EXEC ['ssh', '-C', '-vvv', '-o', 'ControlMaster=auto', >> '-o', 'ControlPersist=60s', '-o', >> 'ControlPath=/Users/eduardr/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', >> 'KbdInteractiveAuthentication=no', '-o', >> 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', >> '-o', 'PasswordAuthentication=no', '-o', 'User=root', '-o', >> 'ConnectTimeout=10', '-6', 'repo1:12022', u"/bin/sh -c >> 'LC_CTYPE=en_US.UTF-8 LANG=en_US.UTF-8 /usr/bin/python'"] >> fatal: [work1] => SSH Error: data could not be sent to the remote host. >> Make sure this host can be reached over ssh >> >> FATAL: all hosts have already failed -- aborting >> >> PLAY RECAP >> ******************************************************************** >> to retry, use: --limit @/Users/eduardr/site.yaml.retry >> >> work1 : ok=2 changed=0 unreachable=1 >> failed=0 >> >> >> Thanks, >> --Ed >> >> On Wednesday, May 14, 2014 6:30:23 PM UTC-7, Michael DeHaan wrote: >> >>> Can you please share the output of an ansible-playbook run with "-vvvv" >>> when you hit this scenario. >>> >>> Output from the last task will be sufficient. >>> >>> Please also include the version of ansible you are using. >>> >>> >>> On Wed, May 14, 2014 at 8:34 PM, <[email protected]> wrote: >>> >>>> Hello, >>>> >>>> I'm working through implementing the following scenario: >>>> >>>> - A central software repo host stores various software packages >>>> >>>> - Use Ansible to install the latest version of a particular package on >>>> various target hosts by downloading the latest package version from >>>> the repo host to the target hosts and installing it. >>>> >>>> >>>> In order to do this the playbook needs to do the following: >>>> >>>> 1) Get the latest package name/version from the software repo host >>>> using a command like: >>>> >>>> find . -name "{{ pkgname }}-[0-9]*" -print | sort | tail -1 | sed >>>> 's,^[^/]*/,,' >>>> >>>> 2) Using the results of the above command (for ex. >>>> apache-2.4.1-x86_64-1.txz), >>>> do a wget on the target hosts and then install this package. >>>> >>>> I have not been able to figure out how to get this result data from >>>> another host to >>>> use in the playbooks being applied to the target hosts. I looked at the >>>> "delegate_to" >>>> option - if that is indeed the correct approach, I was not able to get >>>> it to work due >>>> to an error I'm getting when using "delegate_to: myhost:portnum" (note >>>> - portnum for >>>> the delegate host is different from the portnum for the current target >>>> host). >>>> >>>> fatal: [myhost] => SSH Error: data could not be sent to the remote >>>> host. >>>> Make sure this host can be reached over ssh FATAL: all hosts have >>>> already failed -- aborting >>>> >>>> Thanks, >>>> --Ed >>>> >>>> -- >>>> 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/16a321a8-2984-4a75-8429- >>>> 118e4232292a%40googlegroups.com<https://groups.google.com/d/msgid/ansible-project/16a321a8-2984-4a75-8429-118e4232292a%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >> 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] <javascript:>. >> To post to this group, send email to [email protected]<javascript:> >> . >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/ansible-project/8893245e-c35f-4a7e-a9ac-3caf93cda938%40googlegroups.com<https://groups.google.com/d/msgid/ansible-project/8893245e-c35f-4a7e-a9ac-3caf93cda938%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > -- 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/aaf94a0a-68a6-4c6a-ae0d-7164c63f9eac%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
