Hey there,
We are experiencing a new Trellis issue that is keeping us from provisioning our production droplet on DigitalOcean. All of our group_vars and hosts ymls appear to have the correct settings. However, when attempting to provision the server, we are presented with the following:
PLAY [WordPress Server - Install LEMP Stack with PHP 7.0 and MariaDB MySQL] ****
TASK [setup] *******************************************************************
<192.241.132.229> ESTABLISH SSH CONNECTION FOR USER: admin
<192.241.132.229> SSH: EXEC ssh -C -vvv -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=admin -o ConnectTimeout=10 -o ControlPath=/Users/danielbell/.ansible/cp/ansible-ssh-%h-%p-%r 192.241.132.229 '/bin/sh -c '"'"'( umask 22 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1469472862.88-238052591265956 `" && echo "` echo $HOME/.ansible/tmp/ansible-tmp-1469472862.88-238052591265956 `" )'"'"''
fatal: [192.241.132.229]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh.", "unreachable": true}
to retry, use: --limit @server.retry
We also followed the steps in this article: Failure to establish connection when provisioning via ansible-playbook server.yml
Specifically step #3
“3. ansible-playbook server.yml -e env=staging -vvvv --key-file=~/.ssh/dummy_rsa --ask-become-pass”
and this presented us with the following when trying to use the root password:
PLAY [WordPress Server - Install LEMP Stack with PHP 7.0 and MariaDB MySQL] ****
TASK [setup] *******************************************************************
<192.241.132.229> ESTABLISH SSH CONNECTION FOR USER: admin
<192.241.132.229> SSH: EXEC ssh -C -vvv -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s -o 'IdentityFile="/Users/danielbell/.ssh/id_rsa.pub"' -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=admin -o ConnectTimeout=10 -o ControlPath=/Users/danielbell/.ansible/cp/ansible-ssh-%h-%p-%r 192.241.132.229 '/bin/sh -c '"'"'( umask 22 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1469472595.82-90509434497259 `" && echo "` echo $HOME/.ansible/tmp/ansible-tmp-1469472595.82-90509434497259 `" )'"'"''
fatal: [192.241.132.229]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh.", "unreachable": true}
to retry, use: --limit @server.retry
We’ve upgraded our version of Ansible to 2.0.2 with no effect.
We can access the Droplet just fine when connecting with the Root user.
I see in the error log it’s telling me that it’s using the “admin” user (not sure why it’s not using root). I changed the “admin_user” var value to “root” and get the following when trying to provision again:
PLAY [WordPress Server - Install LEMP Stack with PHP 7.0 and MariaDB MySQL] ****
TASK [setup] *******************************************************************
<192.241.132.229> ESTABLISH SSH CONNECTION FOR USER: root
<192.241.132.229> SSH: EXEC ssh -C -vvv -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 -o ControlPath=/Users/danielbell/.ansible/cp/ansible-ssh-%h-%p-%r 192.241.132.229 '/bin/sh -c '"'"'mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1469473515.95-9391108655998 `" && echo "` echo $HOME/.ansible/tmp/ansible-tmp-1469473515.95-9391108655998 `"'"'"''
<192.241.132.229> PUT /var/folders/0f/lrlygfvn021gpmf2sg4n_y2c0000gn/T/tmpWUf2rC TO /root/.ansible/tmp/ansible-tmp-1469473515.95-9391108655998/setup
<192.241.132.229> SSH: EXEC sftp -b - -C -vvv -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 -o ControlPath=/Users/danielbell/.ansible/cp/ansible-ssh-%h-%p-%r '[192.241.132.229]'
<192.241.132.229> ESTABLISH SSH CONNECTION FOR USER: root
<192.241.132.229> SSH: EXEC ssh -C -vvv -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 -o ControlPath=/Users/danielbell/.ansible/cp/ansible-ssh-%h-%p-%r -tt 192.241.132.229 '/bin/sh -c '"'"'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /root/.ansible/tmp/ansible-tmp-1469473515.95-9391108655998/setup; rm -rf "/root/.ansible/tmp/ansible-tmp-1469473515.95-9391108655998/" > /dev/null 2>&1'"'"''
fatal: [192.241.132.229]: FAILED! => {"changed": false, "failed": true, "invocation": {"module_name": "setup"}, "module_stderr": "OpenSSH_6.9p1, LibreSSL 2.1.8\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: /etc/ssh/ssh_config line 21: Applying options for *\r\ndebug1: auto-mux: Trying existing master\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug2: mux_client_hello_exchange: master version 4\r\ndebug3: mux_client_forwards: request forwardings: 0 local, 0 remote\r\ndebug3: mux_client_request_session: entering\r\ndebug3: mux_client_request_alive: entering\r\ndebug3: mux_client_request_alive: done pid = 8057\r\ndebug3: mux_client_request_session: session request sent\r\ndebug1: mux_client_request_session: master session id: 2\r\ndebug3: mux_client_read_packet: read header failed: Broken pipe\r\ndebug2: Received exit status from master 0\r\nShared connection to 192.241.132.229 closed.\r\n", "module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n", "msg": "MODULE FAILURE", "parsed": false}
Anyone else experiencing this and have any additional thoughts on what this issue could be?