Skip to content

Google Cloud: Connection reset by peer #14741

Open

Description

Describe the bug

When setting up algo on Google Cloud Compute, it returns an error saying Connection reset by peer
this issue keeps happening

To Reproduce

Steps to reproduce the behavior:

  1. Install as normal
  2. run ./algo
  3. wait for it and boom error Connection reset by peer

Expected behavior

I expected it to finish with success

Additional context

Im using europe-west-6 if that helps
also i am on macos sequoia 15.1 beta 2
python 3.12.5

Full log

❯ ./algo -e "provider=gce" -e "gce_credentials_file=$(pwd)/configs/gce.json"     

PLAY [localhost] *****************************************************************************************************************************************************************************************

TASK [Gathering Facts] ***********************************************************************************************************************************************************************************
ok: [localhost]

TASK [Playbook dir stat] *********************************************************************************************************************************************************************************
ok: [localhost]

TASK [Ensure Ansible is not being run in a world writable directory] *************************************************************************************************************************************
ok: [localhost] => {
    "changed": false,
    "msg": "All assertions passed"
}
[DEPRECATION WARNING]: Use 'ansible.utils.ipaddr' module instead. This feature will be removed from ansible.netcommon in a release after 2024-01-01. Deprecation warnings can be disabled by setting 
deprecation_warnings=False in ansible.cfg.
[WARNING]: The value '' is not a valid IP address or network, passing this value to ipaddr filter might result in breaking change in future.

TASK [Ensure the requirements installed] *****************************************************************************************************************************************************************
ok: [localhost]

TASK [Set required ansible version as a fact] ************************************************************************************************************************************************************
ok: [localhost] => (item=ansible==9.1.0)

TASK [Just get the list from default pip] ****************************************************************************************************************************************************************
ok: [localhost]

TASK [Verify Python meets Algo VPN requirements] *********************************************************************************************************************************************************
ok: [localhost] => {
    "changed": false,
    "msg": "All assertions passed"
}

TASK [Verify Ansible meets Algo VPN requirements] ********************************************************************************************************************************************************
ok: [localhost] => {
    "changed": false,
    "msg": "All assertions passed"
}
[WARNING]: Found variable using reserved name: no_log

PLAY [Ask user for the input] ****************************************************************************************************************************************************************************

TASK [Gathering Facts] ***********************************************************************************************************************************************************************************
ok: [localhost]

TASK [Set facts based on the input] **********************************************************************************************************************************************************************
ok: [localhost]
[VPN server name prompt]
Name the vpn server
[algo]
:

TASK [VPN server name prompt] ****************************************************************************************************************************************************************************
ok: [localhost]
[Cellular On Demand prompt]
Do you want macOS/iOS clients to enable "Connect On Demand" when connected to cellular networks?
[y/N]
:

TASK [Cellular On Demand prompt] *************************************************************************************************************************************************************************
ok: [localhost]
[Wi-Fi On Demand prompt]
Do you want macOS/iOS clients to enable "Connect On Demand" when connected to Wi-Fi?
[y/N]
:

TASK [Wi-Fi On Demand prompt] ****************************************************************************************************************************************************************************
ok: [localhost]
[DNS adblocking prompt]
Do you want to enable DNS ad blocking on this VPN server?
[y/N]
:

TASK [DNS adblocking prompt] *****************************************************************************************************************************************************************************
ok: [localhost]
[SSH tunneling prompt]
Do you want each user to have their own account for SSH tunneling?
[y/N]
:

TASK [SSH tunneling prompt] ******************************************************************************************************************************************************************************
ok: [localhost]

TASK [Set facts based on the input] **********************************************************************************************************************************************************************
ok: [localhost]

PLAY [Provision the server] ******************************************************************************************************************************************************************************

TASK [Gathering Facts] ***********************************************************************************************************************************************************************************
ok: [localhost]

--> Please include the following block of text when reporting issues:

Algo running on: macOS 15.1
Created from git clone. Last commit: 346437f fix: Fix server selection in update-user while preserving nice display of server along with its alt_name in the list (#14727)
Python 3.12.5
Runtime variables:
    algo_provider "gce"
    algo_dns_adblocking "False"
    algo_ssh_tunneling "False"
    wireguard_enabled "True"
    dns_encryption "True"

TASK [Display the invocation environment] ****************************************************************************************************************************************************************
changed: [localhost]

TASK [Install the requirements] **************************************************************************************************************************************************************************
ok: [localhost]

TASK [Generate the SSH private key] **********************************************************************************************************************************************************************
ok: [localhost]

TASK [Generate the SSH public key] ***********************************************************************************************************************************************************************
ok: [localhost]

TASK [Copy the private SSH key to /tmp] ******************************************************************************************************************************************************************
ok: [localhost]

TASK [Include a provisioning role] ***********************************************************************************************************************************************************************

TASK [cloud-gce : Install requirements] ******************************************************************************************************************************************************************
ok: [localhost]

TASK [cloud-gce : set_fact] ******************************************************************************************************************************************************************************
ok: [localhost]

TASK [cloud-gce : set_fact] ******************************************************************************************************************************************************************************
ok: [localhost]

TASK [cloud-gce : set_fact] ******************************************************************************************************************************************************************************
ok: [localhost]

TASK [cloud-gce : Get regions] ***************************************************************************************************************************************************************************
ok: [localhost]

TASK [cloud-gce : Set facts about the regions] ***********************************************************************************************************************************************************
ok: [localhost]

TASK [cloud-gce : Set facts about the default region] ****************************************************************************************************************************************************
ok: [localhost]
[cloud-gce : pause]
What region should the server be located in?
(https://cloud.google.com/compute/docs/regions-zones/#locations)
    1. africa-south1
    2. asia-east1
    3. asia-east2
    4. asia-northeast1
    5. asia-northeast2
    6. asia-northeast3
    7. asia-south1
    8. asia-south2
    9. asia-southeast1
    10. asia-southeast2
    11. australia-southeast1
    12. australia-southeast2
    13. europe-central2
    14. europe-north1
    15. europe-southwest1
    16. europe-west1
    17. europe-west10
    18. europe-west12
    19. europe-west2
    20. europe-west3
    21. europe-west4
    22. europe-west6
    23. europe-west8
    24. europe-west9
    25. me-central1
    26. me-central2
    27. me-west1
    28. northamerica-northeast1
    29. northamerica-northeast2
    30. southamerica-east1
    31. southamerica-west1
    32. us-central1
    33. us-east1
    34. us-east4
    35. us-east5
    36. us-south1
    37. us-west1
    38. us-west2
    39. us-west3
    40. us-west4
  
Enter the number of your desired region
[33]
:

TASK [cloud-gce : pause] *********************************************************************************************************************************************************************************
ok: [localhost]

TASK [cloud-gce : Set region as a fact] ******************************************************************************************************************************************************************
ok: [localhost]

TASK [cloud-gce : Get zones] *****************************************************************************************************************************************************************************
ok: [localhost]

TASK [cloud-gce : Set random available zone as a fact] ***************************************************************************************************************************************************
ok: [localhost]

TASK [cloud-gce : Network configured] ********************************************************************************************************************************************************************
ok: [localhost]

TASK [cloud-gce : Firewall configured] *******************************************************************************************************************************************************************
ok: [localhost]

TASK [cloud-gce : Instance created] **********************************************************************************************************************************************************************
changed: [localhost]

TASK [cloud-gce : set_fact] ******************************************************************************************************************************************************************************
ok: [localhost]

TASK [Set subjectAltName as a fact] **********************************************************************************************************************************************************************
ok: [localhost]

TASK [Add the server to an inventory group] **************************************************************************************************************************************************************
changed: [localhost]

TASK [Additional variables for the server] ***************************************************************************************************************************************************************
changed: [localhost]

TASK [Wait until SSH becomes ready...] *******************************************************************************************************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ConnectionResetError: [Errno 54] Connection reset by peer
fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n  File \"<stdin>\", line 107, in <module>\n  File \"<stdin>\", line 99, in _ansiballz_main\n  File \"<stdin>\", line 47, in invoke_module\n  File \"<frozen runpy>\", line 226, in run_module\n  File \"<frozen runpy>\", line 98, in _run_module_code\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/var/folders/_l/36934cpj2b9_qkds_by77h6m0000gn/T/ansible_wait_for_payload_x921bozi/ansible_wait_for_payload.zip/ansible/modules/wait_for.py\", line 703, in <module>\n  File \"/var/folders/_l/36934cpj2b9_qkds_by77h6m0000gn/T/ansible_wait_for_payload_x921bozi/ansible_wait_for_payload.zip/ansible/modules/wait_for.py\", line 633, in main\nConnectionResetError: [Errno 54] Connection reset by peer\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}

TASK [include_tasks] *************************************************************************************************************************************************************************************
included: /Users/iunstable0/Work/GitHub/algo/playbooks/rescue.yml for localhost

TASK [debug] *********************************************************************************************************************************************************************************************
ok: [localhost] => {
    "fail_hint": [
        "Sorry, but something went wrong!",
        "Please check the troubleshooting guide.",
        "https://trailofbits.github.io/algo/troubleshooting.html"
    ]
}

TASK [Fail the installation] *****************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Failed as requested from task"}

PLAY RECAP ***********************************************************************************************************************************************************************************************
localhost                  : ok=42   changed=4    unreachable=0    failed=1    skipped=6    rescued=1    ignored=0   

.env
algo on  master [!] via 🐳 desktop-linux via 🐍 v3.12.5 (.env) via ⍱ took 57s 
❯ 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions