Algo: update-users script fails at Install Tools task

Created on 30 Mar 2017  Â·  2Comments  Â·  Source: trailofbits/algo

OS / Environment

Mac OS 10.11.6

Ansible version

2.2.0.0

Version of components from requirements.txt

boto3 1.4.4
boto 2.46.1
apache-libcloud 1.5.0
six 1.10.0
pyOpenSSL 16.2.0
setuptools 34.3.3
dopy 0.3.5
azure 2.0.0rc5
msrest 0.4.1
jinja2 2.8
pyOpenSSL 16.2.0
apache-libcloud 1.5.0

Summary of the problem

When I run ./algo update-users after updating the config.cfg file everything goes well until the Install tools task:

TASK [common : Install tools] **************************************************
fatal: [54.215.250.226]: FAILED! => {"failed": true, "msg": "'tools' is undefined"}

Steps to reproduce the behavior

  1. Add two users to config.cfg file
  2. Run ./algo update-users

The way of deployment (cloud or local)

cloud - AWS

Expected behavior

Should add users to VPN host and create certs, mobileconfigs, etc to configs/x.x.x.x/ directory.

Actual behavior

Fails at Install tools task of update-users script.

Full log

(env) ➜  algo git:(master) ✗ ./algo update-users

Enter the IP address of your server: (or use localhost for local installation)
: X.X.X.X

What user should we use to login on the server? (note: passwordless login required, or ignore if you're deploying to localhost)
[root]: ubuntu

Do you want each user to have their own account for SSH tunneling?
[y/N]:

Enter the public IP address of your server: (IMPORTANT! This IP is used to verify the certificate)
: X.X.X.X

Enter the password for the private CA key:
[pasted values will not be displayed]
:
PLAY [localhost] ***************************************************************

TASK [Add the server to the vpn-host group] ************************************
changed: [localhost]

TASK [Wait until SSH becomes ready...] *****************************************
ok: [localhost -> localhost]

PLAY [User management] *********************************************************

TASK [setup] *******************************************************************
ok: [X.X.X.X]

TASK [Check the system] ********************************************************
changed: [X.X.X.X]

TASK [Ubuntu | Install prerequisites] ******************************************
changed: [X.X.X.X]

TASK [Ubuntu | Configure defaults] *********************************************
changed: [X.X.X.X]

TASK [FreeBSD / HardenedBSD | Install prerequisites] ***************************
skipping: [X.X.X.X]

TASK [FreeBSD / HardenedBSD | Configure defaults] ******************************
skipping: [X.X.X.X]

TASK [set_fact] ****************************************************************
skipping: [X.X.X.X]

TASK [Ensure the algo ssh key exist on the server] *****************************
ok: [X.X.X.X]

TASK [set_fact] ****************************************************************
ok: [X.X.X.X]

TASK [common : Gather Facts] ***************************************************
skipping: [X.X.X.X]

TASK [common : Install software updates] ***************************************
skipping: [X.X.X.X]

TASK [common : Check if reboot is required] ************************************
skipping: [X.X.X.X]

TASK [common : Reboot] *********************************************************
skipping: [X.X.X.X]

TASK [common : Wait until SSH becomes ready...] ********************************
skipping: [X.X.X.X]

TASK [common : Disable MOTD on login and SSHD] *********************************
skipping: [X.X.X.X] => (item={u'regexp': u'^session.*optional.*pam_motd.so.*', u'line': u'# MOTD DISABLED', u'file': u'/etc/pam.d/login'})
skipping: [X.X.X.X] => (item={u'regexp': u'^session.*optional.*pam_motd.so.*', u'line': u'# MOTD DISABLED', u'file': u'/etc/pam.d/sshd'})

TASK [common : Loopback for services configured] *******************************
skipping: [X.X.X.X]

TASK [common : Loopback included into the network config] **********************
skipping: [X.X.X.X]

TASK [common : Check apparmor support] *****************************************
skipping: [X.X.X.X]

TASK [common : set_fact] *******************************************************
skipping: [X.X.X.X]

TASK [common : set_fact] *******************************************************
skipping: [X.X.X.X]

TASK [common : set_fact] *******************************************************
skipping: [X.X.X.X]

TASK [common : Loopback included into the rc config] ***************************
skipping: [X.X.X.X]

TASK [common : Enable the gateway features] ************************************
skipping: [X.X.X.X] => (item={u'value': u'"YES"', u'param': u'firewall_enable'})
skipping: [X.X.X.X] => (item={u'value': u'"open"', u'param': u'firewall_type'})
skipping: [X.X.X.X] => (item={u'value': u'"YES"', u'param': u'gateway_enable'})
skipping: [X.X.X.X] => (item={u'value': u'"YES"', u'param': u'natd_enable'})
skipping: [X.X.X.X] => (item={u'value': u'""', u'param': u'natd_interface'})
skipping: [X.X.X.X] => (item={u'value': u'"-dynamic -m"', u'param': u'natd_flags'})

TASK [common : FreeBSD | Activate IPFW] ****************************************
skipping: [X.X.X.X]

TASK [common : Install tools] **************************************************
fatal: [X.X.X.X]: FAILED! => {"failed": true, "msg": "'tools' is undefined"}

PLAY RECAP *********************************************************************
X.X.X.X             : ok=6    changed=3    unreachable=0    failed=1
localhost           : ok=2    changed=1    unreachable=0    failed=0
ansible_server_deploy bug

Most helpful comment

I see the same error with Digital Ocean.

All 2 comments

I see the same error with Digital Ocean.

Same issue here when installing to localhost except this was during initial setup when running ./algo

Was this page helpful?
0 / 5 - 0 ratings

Related issues

dguido picture dguido  Â·  3Comments

baimafeima picture baimafeima  Â·  5Comments

sebasmurphy picture sebasmurphy  Â·  5Comments

ShlomiPorush picture ShlomiPorush  Â·  3Comments

mikaelf picture mikaelf  Â·  5Comments