trailofbits / algo

Set up a personal VPN in the cloud
https://blog.trailofbits.com/2016/12/12/meet-algo-the-vpn-that-works/
GNU Affero General Public License v3.0
28.98k stars 2.32k forks source link

algo gets stuck with scaleway as a provider #1471

Closed ghost closed 5 years ago

ghost commented 5 years ago

Describe the bug

./algo gets stuck at "gathering facts" after creating the server.

To Reproduce

Steps to reproduce the behavior:

  1. ./algo
  2. pick scaleway as the provider

Full log

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

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

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

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

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

TASK [Gathering Facts] *************************************************************************************************
ok: [localhost]
[Cloud prompt]
What provider would you like to use?
    1. DigitalOcean
    2. Amazon Lightsail
    3. Amazon EC2
    4. Vultr
    5. Microsoft Azure
    6. Google Compute Engine
    7. Scaleway
    8. OpenStack (DreamCompute optimised)
    9. Install to existing Ubuntu 18.04 or 19.04 server (Advanced)

Enter the number of your desired provider
:

TASK [Cloud prompt] ****************************************************************************************************
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 IPsec 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 IPsec clients to enable "Connect On Demand" when connected to Wi-Fi?
[y/N]
:

TASK [Wi-Fi On Demand prompt] ******************************************************************************************
ok: [localhost]
[Compatible ciphers prompt]
Do you want the VPN to support Windows 10 or Linux Desktop clients? (enables compatible ciphers and key exchange, less secure)
[y/N]
:

TASK [Compatible ciphers prompt] ***************************************************************************************
ok: [localhost]
[Retain the CA key prompt]
Do you want to retain the CA key? (required to add users in the future, but less secure)
[y/N]
:

TASK [Retain the CA key prompt] ****************************************************************************************
ok: [localhost]
[DNS adblocking prompt]
Do you want to install an ad blocking DNS resolver 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: Mac OS X 10.14.5
ZIP file created: Jun  5 06:33:09 2019
Python 2.7.16
Runtime variables:
    algo_provider "scaleway"
    algo_ondemand_cellular "False"
    algo_ondemand_wifi "False"
    algo_ondemand_wifi_exclude "X251bGw="
    algo_windows "False"
    algo_local_dns "False"
    algo_ssh_tunneling "False"
    wireguard_enabled "True"
    dns_encryption "True"

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

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

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

TASK [Generate the SSH public key] *************************************************************************************
ok: [localhost]
[cloud-scaleway : pause]
Enter your auth token (https://trailofbits.github.io/algo/cloud-scaleway.html)
 (output is hidden):

TASK [cloud-scaleway : pause] ******************************************************************************************
ok: [localhost]
[cloud-scaleway : pause]
What region should the server be located in?
    1. par1
    2. ams1

Enter the number of your desired region
[par1]
:

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

TASK [cloud-scaleway : Set scaleway facts] *****************************************************************************
ok: [localhost]

TASK [cloud-scaleway : Gather Scaleway organizations facts] ************************************************************
ok: [localhost]

TASK [cloud-scaleway : Get images] *************************************************************************************
ok: [localhost]

TASK [cloud-scaleway : Set cloud specific facts] ***********************************************************************
ok: [localhost]
FAILED - RETRYING: Create a server (3 retries left).

TASK [cloud-scaleway : Create a server] ********************************************************************************
ok: [localhost]

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

TASK [Set subjectAltName as afact] *************************************************************************************
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...] *********************************************************************************
ok: [localhost]

TASK [debug] ***********************************************************************************************************
ok: [localhost] => {
    "IP_subject_alt_name": "51.158.122.230"
}
Pausing for 20 seconds
(ctrl+C then 'C' = continue early, ctrl+C then 'A' = abort)

TASK [A short pause, in order to be sure the instance is ready] ********************************************************
ok: [localhost]

PLAY [Configure the server and install required software] **************************************************************

TASK [common : Check the system] ***************************************************************************************
ok: [51.158.122.230]
included: /Users/seika/algo-master/roles/common/tasks/ubuntu.yml for 51.158.122.230

TASK [common : Gather facts] *******************************************************************************************
ok: [51.158.122.230]
jackivanov commented 5 years ago

I'm pretty sure there is something to do with scleway's network disks. We will be probably removing the provider from Algo, it has too many issues

TC1977 commented 5 years ago

Try running ./algo -vvv. That "gather facts" step involves running various commands on the remote server, which can be very slow at times with Scaleway. It might help show you if there's actually an error or if it's just really slow.