Rote Install busted on Mac El Capitan

OKAY

the problem was my home directory, where my Projects are all held on machine1. The path is too long for a UNIX socket name, when $HOME has all the .ansible stuff added to it.

I was getting, at the end of my “vagrant up” or “vagrant provision”

==> default: Running provisioner: ansible…
default: Running ansible-playbook…

PLAY [WordPress Server: Install LEMP Stack with PHP 7.0 and MariaDB MySQL] *****

TASK [setup] *******************************************************************
System info:
Ansible 2.0.2.0; Vagrant 1.8.5; Darwin
Trellis at “Fix #639 - WP 4.6 compatibility: update WP-CLI to 0.24.1”

Failed to connect to the host via ssh.
fatal: [default]: UNREACHABLE! => {“changed”: false, “unreachable”: true}
to retry, use: --limit @/private/tmp/wordpress-tiogadigital.com/trellis/dev.retry

PLAY RECAP *********************************************************************
default : ok=0 changed=0 unreachable=1 failed=0

Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.

AND SO I tried to do a …

ansible-playbook dev.yml -i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory -vvvv --ssh-extra-args="-o 'StrictHostKeyChecking no'"

and that would generate the same error. BUT It would also show me the ssh command it was trying to run:

<127.0.0.1> ESTABLISH SSH CONNECTION FOR USER: vagrant

<127.0.0.1> SSH: EXEC ssh -C -vvv -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s -o Port=2222 -o ‘IdentityFile="/private/tmp/wordpress-tiogadigital.com/trellis/.vagrant/machines/default/virtualbox/private_key"’ -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=vagrant -o ConnectTimeout=10 -o ‘StrictHostKeyChecking no’ -o ControlPath=/ReallyReallyReallyReallyReallyReallyLongPathNameWITHBigDISKSANDSTUFF/.ansible/cp/ansible-ssh-%h-%p-%r 127.0.0.1 ‘/bin/sh -c ‘"’"’( umask 22 && mkdir -p “echo $HOME/.ansible/tmp/ansible-tmp-1472140876.0-237841704934245” && echo “echo $HOME/.ansible/tmp/ansible-tmp-1472140876.0-237841704934245” )’"’"’’

SO I COPIED that SSH command to the shell and after much digital spewing, I’d get this at the end of the failed SSH command…

...
debug1: Trying private key: /private/tmp/wordpress-tiogadigital.com/trellis/.vagrant/machines/default/virtualbox/private_key
debug3: sign_and_send_pubkey: RSA SHA256:eVk08+u0E5XjV18cANRyURTWnNgmBKGUq2apMnBMVAA
debug2: we sent a publickey packet, wait for reply
debug1: Enabling compression at level 6.
debug1: Authentication succeeded (publickey).
Authenticated to 127.0.0.1 ([127.0.0.1]:2222).
debug1: setting up multiplex master socket
debug3: muxserver_listen: temporary control path /ReallyReallyReallyReallyReallyReallyLongPathNameWITHBigDISKSANDSTUFF/.ansible/cp/ansible-ssh-127.0.0.1-2222-vagrant.pFWB58BSPaBLzwmM
unix_listener: "/ReallyReallyReallyReallyReallyReallyLongPathNameWITHBigDISKSANDSTUFF/.ansible/cp/ansible-ssh-127.0.0.1-2222-vagrant.pFWB58BSPaBLzwmM" too long for Unix domain socket

huh?

(!!!!) .... too long for Unix domain socket

So then some googling and I made ansible.cfg in my trellis directory look like

<<...other stuff in file snipped...>>

[ssh_connection]
control_path = %(directory)s/%%h-%%r
ssh_args = -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s

See that control_path? it forces the path shorter, and then “good dog, have a chewie!”

yes, then I can vagrant provision and the ssh works fine.

SOLVED

3 Likes