Don't do this :)

Use Ansible and if need be, configure jumphosts, or whatever, but Ansible
shouldn't ever *NEED* to call ssh.

Ansible already has lots of wrappers for that.

A good pattern for checking for SSH being up is using the wait_for module
to check if the port is open (usually 22) followed by a pause task of a few
seconds to make sure SSHd is ready.

Ready to go!




On Wed, May 21, 2014 at 5:03 PM, Michael Peters
<[email protected]>wrote:

> I changed pty to False in my ansible.cfg and it has fixed the problem.
> I feel slightly stupid...
>
> On Wed, May 21, 2014 at 1:55 PM, Michael Peters
> <[email protected]> wrote:
> > Btw, it also hangs when I use scp.
> >
> > On Wed, May 21, 2014 at 1:39 PM, Michael Peters
> > <[email protected]> wrote:
> >> Thanks for the suggestion, but unfortunately it doesn't work either.
> >> Still hangs in the same spot.
> >>
> >> On Wed, May 21, 2014 at 1:09 PM, Christian Rusa
> >> <[email protected]> wrote:
> >>> Have you already tried ssh -n?
> >>> I think this could fix your problem as you are not running an
> interactive
> >>> session.
> >>>
> >>>
> >>>
> >>> On 2014-05-21 17:31, Michael Peters wrote:
> >>>>
> >>>> I'm trying to ssh within an ansible task (sounds silly, but is
> >>>> actually part of a delegate_to in a playbook that streams a backup
> >>>> from one server to another) but it just hangs.
> >>>>
> >>>> I've broken it down into simple test case that fails (just hangs and a
> >>>> ^C doesn't kill it) and was hoping someone could help me figure out
> >>>> why.
> >>>>
> >>>> I can definitely execute the command (ssh 10.0.1.75 "ls /"') on the
> >>>> db2 server directly but not using ansible from the control server.
> >>>>
> >>>> # test.yml
> >>>> ---
> >>>> - hosts: all
> >>>>    remote_user: sg
> >>>>    sudo: true
> >>>>    tasks:
> >>>>    - name: testing ssh
> >>>>      raw: 'ssh 10.0.1.86 "ls /"'
> >>>>
> >>>> ]$ ansible-playbook test.yml -l db2 -vvv
> >>>>
> >>>> PLAY [all]
> >>>> ********************************************************************
> >>>>
> >>>> GATHERING FACTS
> >>>> ***************************************************************
> >>>> <10.0.1.75> ESTABLISH CONNECTION FOR USER: sg on PORT 22 TO 10.0.1.75
> >>>> <10.0.1.75> REMOTE_MODULE setup
> >>>> <10.0.1.75> EXEC /bin/sh -c 'mkdir -p
> >>>> $HOME/.ansible/tmp/ansible-tmp-1400685651.86-175650960077921 && chmod
> >>>> a+rx $HOME/.ansible/tmp/ansible-tmp-1400685651.86-175650960077921 &&
> >>>> echo $HOME/.ansible/tmp/ansible-tmp-1400685651.86-175650960077921'
> >>>> <10.0.1.75> PUT /tmp/tmpY_IMMo TO
> >>>> /home/sg/.ansible/tmp/ansible-tmp-1400685651.86-175650960077921/setup
> >>>> <10.0.1.75> EXEC /bin/sh -c 'sudo -k && sudo -H -S -p "[sudo via
> >>>> ansible, key=adxtbqhckpioqfjghxqmtylrksipeooo] password: " -u root
> >>>> /bin/sh -c '"'"'echo SUDO-SUCCESS-adxtbqhckpioqfjghxqmtylrksipeooo;
> >>>> LC_CTYPE=en_US.UTF-8 LANG=en_US.UTF-8 /usr/bin/python
> >>>> /home/sg/.ansible/tmp/ansible-tmp-1400685651.86-175650960077921/setup;
> >>>> rm -rf
> /home/sg/.ansible/tmp/ansible-tmp-1400685651.86-175650960077921/
> >>>>>
> >>>>> /dev/null 2>&1'"'"''
> >>>>
> >>>> ok: [db2]
> >>>>
> >>>> TASK: [testing ssh]
> >>>> ***********************************************************
> >>>> <10.0.1.75> ESTABLISH CONNECTION FOR USER: sg on PORT 22 TO 10.0.1.75
> >>>> <10.0.1.75> EXEC /bin/sh -c 'sudo -k && sudo -H -S -p "[sudo via
> >>>> ansible, key=tjfnvzeisbrjwbikydzfvwexomrgfmzi] password: " -u root
> >>>> $SHELL -c '"'"'echo SUDO-SUCCESS-tjfnvzeisbrjwbikydzfvwexomrgfmzi; ssh
> >>>> 10.0.1.86 "ls /"'"'"''
> >>>>
> >>>>
> >>>> And that's where it hangs indefinitely.
> >>>>
> >>>> I assume it's some kind of ssh-within-ssh problem, but I've got git
> >>>> checkouts over ssh to work with the same ansible setup. Any thoughts?
> >>>>
> >>>
> >>> --
> >>> toscom - the open source company
> >>>
> >>> Christian Rusa
> >>> Breiteneckergasse 32                    1230 Wien
> >>> Mobil: 0699 10205595                    Fax: 01 9249633
> >>> www.toscom.at                           [email protected]
> >>>
> >>> --
> >>> 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/537CDDCA.10208%40toscom.at
> .
> >>> 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/CAJQqANdHOxF7iDqOnwmd36nyavv6jKP1U2u6_CF3va%2Bs7J4rFw%40mail.gmail.com
> .
> 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/CA%2BnsWgw22fNTnO11EpNqJ9DD%3D7fqXotCRFrqOZAcCOCjSJ1aWw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to