csirtgadgets/bearded-avenger-deploymentkit

Install of latest rc fails on Ubuntu 16.04 due to outdated system python-dateutil package

Closed this issue · 7 comments

Do you have an active https://csirtg.io/support account ? :)

Nope.

Expected behavior and actual behavior.

Expected: installation succeeds.
Actual: installation fails.

Steps to reproduce the problem

Bash the easy button on the latest rc.

Relevant logs as a result of the actual behavior

fatal: [localhost]: FAILED! => {"changed": true, "cmd": ["pip", "install", "-r", "dev_requirements.txt"], "delta": "0:00:05.084042", "end": "2018-06-29 10:53:09.132214", "failed": true, "msg": "non-zero return code", "rc": 1, "start": "2018-06-29 10:53:04.048172", "stderr": "pendulum 2.0.2 has requirement python-dateutil<3.0,>=2.6, but you'll have python-dateutil 2.4.2 which is incompatible.\nCannot uninstall 'pyzmq'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.", "stderr_lines": ["pendulum 2.0.2 has requirement python-dateutil<3.0,>=2.6, but you'll have python-dateutil 2.4.2 which is incompatible.", "Cannot uninstall 'pyzmq'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall."], "stdout": "Requirement already satisfied: coverage>=4.2 in /usr/local/lib/python2.7/dist-packages (from -r dev_requirements.txt (line 1)) (4.5.1)\nRequirement already satisfied: pytest-cov>=2.2.1 in /usr/local/lib/python2.7/dist-packages (from -r dev_requirements.txt (line 2)) (2.5.1)\nRequirement already satisfied: pytest<3.0,>=2.8.0 in /usr/lib/python2.7/dist-packages (from -r dev_requirements.txt (line 3)) (2.8.7)\nCollecting setuptools>=36 (from -r requirements.txt (line 1))\n Using cached https://files.pythonhosted.org/packages/7f/e1/820d941153923aac1d49d7fc37e17b6e73bfbd2904959fffbad77900cf92/setuptools-39.2.0-py2.py3-none-any.whl\nRequirement already satisfied: cython>=0.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 2)) (0.28.3)\nCollecting pyzmq<17.0,>=16.0.2 (from -r requirements.txt (line 3))\n Using cached https://files.pythonhosted.org/packages/55/d4/ba19676a287705ef72837809b5b9d454123b451e8bca91926103b9dc3e48/pyzmq-16.0.4-cp27-cp27mu-manylinux1_x86_64.whl\nCollecting csirtg_indicator<2.0,>=1.0.0 (from -r requirements.txt (line 4))\nCollecting cifsdk<4.0,>=3.0.0rc2 (from -r requirements.txt (line 5))\nCollecting Flask-Limiter<1.0,>=0.9.4 (from -r requirements.txt (line 6))\nCollecting limits<1.2,>=1.1.1 (from -r requirements.txt (line 7))\nCollecting maxminddb<1.3,>=1.2.0 (from -r requirements.txt (line 8))\nCollecting geoip2<2.9,>=2.8.0 (from -r requirements.txt (line 9))\n Using cached https://files.pythonhosted.org/packages/2c/ba/52b5d7a638220182f948d7314f3b339ff24d69eb2021f577a9c80e8b586b/geoip2-2.8.0-py2.py3-none-any.whl\nCollecting pygeoip==0.3.2 (from -r requirements.txt (line 10))\n Using cached https://files.pythonhosted.org/packages/f2/48/a3ce59694fa05605fee44273fe2d8b7e9df0d808cdf3914de1771b8986c4/pygeoip-0.3.2-py2.py3-none-any.whl\nCollecting dnspython<1.16,>=1.15.0 (from -r requirements.txt (line 11))\n Using cached https://files.pythonhosted.org/packages/a6/72/209e18bdfedfd78c6994e9ec96981624a5ad7738524dd474237268422cb8/dnspython-1.15.0-py2.py3-none-any.whl\nCollecting Flask==0.12.2 (from -r requirements.txt (line 12))\n Using cached https://files.pythonhosted.org/packages/77/32/e3597cb19ffffe724ad4bf0beca4153419918e7fa4ba6a34b04ee4da3371/Flask-0.12.2-py2.py3-none-any.whl\nCollecting flask-cors<4.0,>=3.0 (from -r requirements.txt (line 13))\n Using cached https://files.pythonhosted.org/packages/d1/db/f3495569d5c3e2bdb9fb8a66c54503364abb6f35a9da2227cf5c9c50dc42/Flask_Cors-3.0.6-py2.py3-none-any.whl\nRequirement already satisfied: PyYAML<4.0,>=3.11 in /usr/lib/python2.7/dist-packages (from -r requirements.txt (line 14)) (3.11)\nCollecting SQLAlchemy<1.1,>=1.0.14 (from -r requirements.txt (line 15))\nCollecting elasticsearch<5.5,>=5.3 (from -r requirements.txt (line 16))\n Using cached https://files.pythonhosted.org/packages/0e/f2/971f07f2c9bb3744103081619b8af14fa4b366cf8bc57b80504a2cd5d36e/elasticsearch-5.4.0-py2.py3-none-any.whl\nCollecting elasticsearch-dsl<5.5,>=5.3 (from -r requirements.txt (line 17))\n Using cached https://files.pythonhosted.org/packages/6f/e0/51bd2b3310499bbc06ee7f43cb0e8ea1c91f8f595912bcb08bb3208c0aa0/elasticsearch_dsl-5.4.0-py2.py3-none-any.whl\nCollecting ujson>=1.35 (from -r requirements.txt (line 18))\nCollecting html5lib==1.0b8 (from -r requirements.txt (line 19))\nCollecting msgpack-python<0.5.0,>=0.4.8 (from -r requirements.txt (line 20))\nCollecting apwgsdk==0.0.0a6 (from -r requirements.txt (line 21))\nCollecting csirtg_smrt<2.0,>=0.0.0rc2 (from -r requirements.txt (line 22))\nCollecting csirtg_dnsdb==0.0.0a4 (from -r requirements.txt (line 23))\n Using cached https://files.pythonhosted.org/packages/a2/3d/14fe56b94d29dcc8787bbd20b11b435edd17445f8b42301b5c26d936defc/csirtg_dnsdb-0.0.0a4-py2.py3-none-any.whl\nCollecting tornado<5.0,>=4.4.1 (from -r requirements.txt (line 24))\nCollecting faker==0.7.11 (from -r requirements.txt (line 25))\n Using cached https://files.pythonhosted.org/packages/70/74/b189e29ed26cef69a31d495999a7da38c11547464576d7eb2ce7711529c1/Faker-0.7.11-py2.py3-none-any.whl\nCollecting Flask-Bootstrap==3.3.6.0 (from -r requirements.txt (line 26))\nCollecting gevent==1.2.1 (from -r requirements.txt (line 27))\n Using cached https://files.pythonhosted.org/packages/a1/41/65eee925d5fe1e1a83ab75e2e83952515f6789aaf561a8183e4c515b49a6/gevent-1.2.1-cp27-cp27mu-manylinux1_x86_64.whl\nCollecting gunicorn==19.7.1 (from -r requirements.txt (line 28))\n Using cached https://files.pythonhosted.org/packages/64/32/becbd4089a4c06f0f9f538a76e9fe0b19a08f010bcb47dcdbfbc640cdf7d/gunicorn-19.7.1-py2.py3-none-any.whl\nCollecting arrow>=0.7.0 (from csirtg_indicator<2.0,>=1.0.0->-r requirements.txt (line 4))\nCollecting prettytable>=0.7.2 (from csirtg_indicator<2.0,>=1.0.0->-r requirements.txt (line 4))\nRequirement already satisfied: ipaddress>=1.0.16 in /usr/local/lib/python2.7/dist-packages (from csirtg_indicator<2.0,>=1.0.0->-r requirements.txt (line 4)) (1.0.22)\nCollecting pendulum>=0.5.2 (from csirtg_indicator<2.0,>=1.0.0->-r requirements.txt (line 4))\nCollecting pytricia>=0.9.0 (from csirtg_indicator<2.0,>=1.0.0->-r requirements.txt (line 4))\nCollecting pyaml>=15.03.1 (from cifsdk<4.0,>=3.0.0rc2->-r requirements.txt (line 5))\n Using cached https://files.pythonhosted.org/packages/17/c1/5892f756109e54ed53c753129b0da4acf6b6add8dff5a85b18667553b16d/pyaml-17.12.1-py2.py3-none-any.whl\nRequirement already satisfied: requests>=2.6.0 in /usr/lib/python2.7/dist-packages (from cifsdk<4.0,>=3.0.0rc2->-r requirements.txt (line 5)) (2.9.1)\nRequirement already satisfied: urllib3>=1.10.2 in /usr/lib/python2.7/dist-packages (from cifsdk<4.0,>=3.0.0rc2->-r requirements.txt (line 5)) (1.13.1)\nRequirement already satisfied: six>=1.4.1 in /usr/lib/python2.7/dist-packages (from Flask-Limiter<1.0,>=0.9.4->-r requirements.txt (line 6)) (1.10.0)\nRequirement already satisfied: Jinja2>=2.4 in /usr/lib/python2.7/dist-packages (from Flask==0.12.2->-r requirements.txt (line 12)) (2.8)\nCollecting Werkzeug>=0.7 (from Flask==0.12.2->-r requirements.txt (line 12))\n Using cached https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl\nCollecting click>=2.0 (from Flask==0.12.2->-r requirements.txt (line 12))\n Using cached https://files.pythonhosted.org/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl\nCollecting itsdangerous>=0.21 (from Flask==0.12.2->-r requirements.txt (line 12))\nRequirement already satisfied: python-dateutil in /usr/lib/python2.7/dist-packages (from elasticsearch-dsl<5.5,>=5.3->-r requirements.txt (line 17)) (2.4.2)\nCollecting csirtg-mail<1.0,>=0.0.0a1 (from csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))\nCollecting nltk<3.3,>=3.2 (from csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))\nCollecting python-magic>=0.4.6 (from csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))\n Using cached https://files.pythonhosted.org/packages/42/a1/76d30c79992e3750dac6790ce16f056f870d368ba142f83f75f694d93001/python_magic-0.4.15-py2.py3-none-any.whl\nCollecting docker==2.2.1 (from csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))\n Using cached https://files.pythonhosted.org/packages/d9/af/a02ebab0c9791f66addb7e460dc3085240c4ec2c8f33c146fddc18156968/docker-2.2.1-py2.py3-none-any.whl\nRequirement already satisfied: chardet>=2.3.0 in /usr/lib/python2.7/dist-packages (from csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22)) (2.3.0)\nCollecting feedparser>=5.2.1 (from csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))\nCollecting backports-abc>=0.4 (from tornado<5.0,>=4.4.1->-r requirements.txt (line 24))\n Using cached https://files.pythonhosted.org/packages/7d/56/6f3ac1b816d0cd8994e83d0c4e55bc64567532f7dc543378bd87f81cebc7/backports_abc-0.5-py2.py3-none-any.whl\nCollecting certifi (from tornado<5.0,>=4.4.1->-r requirements.txt (line 24))\n Using cached https://files.pythonhosted.org/packages/7c/e6/92ad559b7192d846975fc916b65f667c7b8c3a32bea7372340bfe9a15fa5/certifi-2018.4.16-py2.py3-none-any.whl\nCollecting singledispatch (from tornado<5.0,>=4.4.1->-r requirements.txt (line 24))\n Using cached https://files.pythonhosted.org/packages/c5/10/369f50bcd4621b263927b0a1519987a04383d4a98fb10438042ad410cf88/singledispatch-3.4.0.3-py2.py3-none-any.whl\nCollecting dominate (from Flask-Bootstrap==3.3.6.0->-r requirements.txt (line 26))\nCollecting visitor (from Flask-Bootstrap==3.3.6.0->-r requirements.txt (line 26))\nCollecting greenlet>=0.4.10 (from gevent==1.2.1->-r requirements.txt (line 27))\n Using cached https://files.pythonhosted.org/packages/b9/e5/191ba8664e4c388646b91c9891e15381cb1b515e9c9059d1e6485d5ebbe3/greenlet-0.4.13-cp27-cp27mu-manylinux1_x86_64.whl\nCollecting backports.functools-lru-cache>=1.2.1; python_version == "2.7" (from arrow>=0.7.0->csirtg_indicator<2.0,>=1.0.0->-r requirements.txt (line 4))\n Using cached https://files.pythonhosted.org/packages/03/8e/2424c0e65c4a066e28f539364deee49b6451f8fcd4f718fefa50cc3dcf48/backports.functools_lru_cache-1.5-py2.py3-none-any.whl\nCollecting typing<4.0,>=3.6; python_version < "3.5" (from pendulum>=0.5.2->csirtg_indicator<2.0,>=1.0.0->-r requirements.txt (line 4))\n Using cached https://files.pythonhosted.org/packages/0d/4d/4e5985d075d241d686a1663fa1f88b61d544658d08c1375c7c6aac32afc3/typing-3.6.4-py2-none-any.whl\nCollecting pytzdata>=2018.3 (from pendulum>=0.5.2->csirtg_indicator<2.0,>=1.0.0->-r requirements.txt (line 4))\n Using cached https://files.pythonhosted.org/packages/2b/b8/a007eedc118838b27247da7c31f25c2b9e68e68ed2ffafed3d340d379e84/pytzdata-2018.5-py2.py3-none-any.whl\nRequirement already satisfied: MarkupSafe in /usr/lib/python2.7/dist-packages (from Jinja2>=2.4->Flask==0.12.2->-r requirements.txt (line 12)) (0.23)\nCollecting pyzmail<2.0,>=1.0.3 (from csirtg-mail<1.0,>=0.0.0a1->csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))\nCollecting lxml<4.0,>=3.5.0 (from csirtg-mail<1.0,>=0.0.0a1->csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))\n Using cached https://files.pythonhosted.org/packages/1b/e8/ce25c547daf9b84cafea605eb8a5709524fb53e1b3bb5ef6884e561b9d34/lxml-3.8.0-cp27-cp27mu-manylinux1_x86_64.whl\nCollecting beautifulsoup4<4.5,>=4.4.0 (from csirtg-mail<1.0,>=0.0.0a1->csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))\n Using cached https://files.pythonhosted.org/packages/33/62/f3e97eaa87fc4de0cb9b8c51d253cf0df621c6de6b25164dcbab203e5ff7/beautifulsoup4-4.4.1-py2-none-any.whl\nCollecting backports.ssl-match-hostname>=3.5; python_version < "3.5" (from docker==2.2.1->csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))\nCollecting docker-pycreds>=0.2.1 (from docker==2.2.1->csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))\n Using cached https://files.pythonhosted.org/packages/ea/bf/7e70aeebc40407fbdb96fa9f79fc8e4722ea889a99378303e3bcc73f4ab5/docker_pycreds-0.3.0-py2.py3-none-any.whl\nCollecting websocket-client>=0.32.0 (from docker==2.2.1->csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))\n Using cached https://files.pythonhosted.org/packages/8a/a1/72ef9aa26cfe1a75cee09fc1957e4723add9de098c15719416a1ee89386b/websocket_client-0.48.0-py2.py3-none-any.whl\nInstalling collected packages: setuptools, pyzmq, backports.functools-lru-cache, arrow, prettytable, faker, typing, pytzdata, pendulum, pytricia, csirtg-indicator, pyaml, ujson, msgpack-python, cifsdk, limits, Werkzeug, click, itsdangerous, Flask, Flask-Limiter, maxminddb, geoip2, pygeoip, dnspython, flask-cors, SQLAlchemy, elasticsearch, elasticsearch-dsl, html5lib, apwgsdk, pyzmail, lxml, beautifulsoup4, csirtg-mail, nltk, python-magic, backports.ssl-match-hostname, docker-pycreds, websocket-client, docker, backports-abc, certifi, singledispatch, tornado, feedparser, csirtg-smrt, csirtg-dnsdb, dominate, visitor, Flask-Bootstrap, greenlet, gevent, gunicorn\n Found existing installation: setuptools 33.1.1\n Uninstalling setuptools-33.1.1:\n Successfully uninstalled setuptools-33.1.1\n Found existing installation: pyzmq 15.2.0", "stdout_lines": ["Requirement already satisfied: coverage>=4.2 in /usr/local/lib/python2.7/dist-packages (from -r dev_requirements.txt (line 1)) (4.5.1)", "Requirement already satisfied: pytest-cov>=2.2.1 in /usr/local/lib/python2.7/dist-packages (from -r dev_requirements.txt (line 2)) (2.5.1)", "Requirement already satisfied: pytest<3.0,>=2.8.0 in /usr/lib/python2.7/dist-packages (from -r dev_requirements.txt (line 3)) (2.8.7)", "Collecting setuptools>=36 (from -r requirements.txt (line 1))", " Using cached https://files.pythonhosted.org/packages/7f/e1/820d941153923aac1d49d7fc37e17b6e73bfbd2904959fffbad77900cf92/setuptools-39.2.0-py2.py3-none-any.whl", "Requirement already satisfied: cython>=0.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 2)) (0.28.3)", "Collecting pyzmq<17.0,>=16.0.2 (from -r requirements.txt (line 3))", " Using cached https://files.pythonhosted.org/packages/55/d4/ba19676a287705ef72837809b5b9d454123b451e8bca91926103b9dc3e48/pyzmq-16.0.4-cp27-cp27mu-manylinux1_x86_64.whl", "Collecting csirtg_indicator<2.0,>=1.0.0 (from -r requirements.txt (line 4))", "Collecting cifsdk<4.0,>=3.0.0rc2 (from -r requirements.txt (line 5))", "Collecting Flask-Limiter<1.0,>=0.9.4 (from -r requirements.txt (line 6))", "Collecting limits<1.2,>=1.1.1 (from -r requirements.txt (line 7))", "Collecting maxminddb<1.3,>=1.2.0 (from -r requirements.txt (line 8))", "Collecting geoip2<2.9,>=2.8.0 (from -r requirements.txt (line 9))", " Using cached https://files.pythonhosted.org/packages/2c/ba/52b5d7a638220182f948d7314f3b339ff24d69eb2021f577a9c80e8b586b/geoip2-2.8.0-py2.py3-none-any.whl", "Collecting pygeoip==0.3.2 (from -r requirements.txt (line 10))", " Using cached https://files.pythonhosted.org/packages/f2/48/a3ce59694fa05605fee44273fe2d8b7e9df0d808cdf3914de1771b8986c4/pygeoip-0.3.2-py2.py3-none-any.whl", "Collecting dnspython<1.16,>=1.15.0 (from -r requirements.txt (line 11))", " Using cached https://files.pythonhosted.org/packages/a6/72/209e18bdfedfd78c6994e9ec96981624a5ad7738524dd474237268422cb8/dnspython-1.15.0-py2.py3-none-any.whl", "Collecting Flask==0.12.2 (from -r requirements.txt (line 12))", " Using cached https://files.pythonhosted.org/packages/77/32/e3597cb19ffffe724ad4bf0beca4153419918e7fa4ba6a34b04ee4da3371/Flask-0.12.2-py2.py3-none-any.whl", "Collecting flask-cors<4.0,>=3.0 (from -r requirements.txt (line 13))", " Using cached https://files.pythonhosted.org/packages/d1/db/f3495569d5c3e2bdb9fb8a66c54503364abb6f35a9da2227cf5c9c50dc42/Flask_Cors-3.0.6-py2.py3-none-any.whl", "Requirement already satisfied: PyYAML<4.0,>=3.11 in /usr/lib/python2.7/dist-packages (from -r requirements.txt (line 14)) (3.11)", "Collecting SQLAlchemy<1.1,>=1.0.14 (from -r requirements.txt (line 15))", "Collecting elasticsearch<5.5,>=5.3 (from -r requirements.txt (line 16))", " Using cached https://files.pythonhosted.org/packages/0e/f2/971f07f2c9bb3744103081619b8af14fa4b366cf8bc57b80504a2cd5d36e/elasticsearch-5.4.0-py2.py3-none-any.whl", "Collecting elasticsearch-dsl<5.5,>=5.3 (from -r requirements.txt (line 17))", " Using cached https://files.pythonhosted.org/packages/6f/e0/51bd2b3310499bbc06ee7f43cb0e8ea1c91f8f595912bcb08bb3208c0aa0/elasticsearch_dsl-5.4.0-py2.py3-none-any.whl", "Collecting ujson>=1.35 (from -r requirements.txt (line 18))", "Collecting html5lib==1.0b8 (from -r requirements.txt (line 19))", "Collecting msgpack-python<0.5.0,>=0.4.8 (from -r requirements.txt (line 20))", "Collecting apwgsdk==0.0.0a6 (from -r requirements.txt (line 21))", "Collecting csirtg_smrt<2.0,>=0.0.0rc2 (from -r requirements.txt (line 22))", "Collecting csirtg_dnsdb==0.0.0a4 (from -r requirements.txt (line 23))", " Using cached https://files.pythonhosted.org/packages/a2/3d/14fe56b94d29dcc8787bbd20b11b435edd17445f8b42301b5c26d936defc/csirtg_dnsdb-0.0.0a4-py2.py3-none-any.whl", "Collecting tornado<5.0,>=4.4.1 (from -r requirements.txt (line 24))", "Collecting faker==0.7.11 (from -r requirements.txt (line 25))", " Using cached https://files.pythonhosted.org/packages/70/74/b189e29ed26cef69a31d495999a7da38c11547464576d7eb2ce7711529c1/Faker-0.7.11-py2.py3-none-any.whl", "Collecting Flask-Bootstrap==3.3.6.0 (from -r requirements.txt (line 26))", "Collecting gevent==1.2.1 (from -r requirements.txt (line 27))", " Using cached https://files.pythonhosted.org/packages/a1/41/65eee925d5fe1e1a83ab75e2e83952515f6789aaf561a8183e4c515b49a6/gevent-1.2.1-cp27-cp27mu-manylinux1_x86_64.whl", "Collecting gunicorn==19.7.1 (from -r requirements.txt (line 28))", " Using cached https://files.pythonhosted.org/packages/64/32/becbd4089a4c06f0f9f538a76e9fe0b19a08f010bcb47dcdbfbc640cdf7d/gunicorn-19.7.1-py2.py3-none-any.whl", "Collecting arrow>=0.7.0 (from csirtg_indicator<2.0,>=1.0.0->-r requirements.txt (line 4))", "Collecting prettytable>=0.7.2 (from csirtg_indicator<2.0,>=1.0.0->-r requirements.txt (line 4))", "Requirement already satisfied: ipaddress>=1.0.16 in /usr/local/lib/python2.7/dist-packages (from csirtg_indicator<2.0,>=1.0.0->-r requirements.txt (line 4)) (1.0.22)", "Collecting pendulum>=0.5.2 (from csirtg_indicator<2.0,>=1.0.0->-r requirements.txt (line 4))", "Collecting pytricia>=0.9.0 (from csirtg_indicator<2.0,>=1.0.0->-r requirements.txt (line 4))", "Collecting pyaml>=15.03.1 (from cifsdk<4.0,>=3.0.0rc2->-r requirements.txt (line 5))", " Using cached https://files.pythonhosted.org/packages/17/c1/5892f756109e54ed53c753129b0da4acf6b6add8dff5a85b18667553b16d/pyaml-17.12.1-py2.py3-none-any.whl", "Requirement already satisfied: requests>=2.6.0 in /usr/lib/python2.7/dist-packages (from cifsdk<4.0,>=3.0.0rc2->-r requirements.txt (line 5)) (2.9.1)", "Requirement already satisfied: urllib3>=1.10.2 in /usr/lib/python2.7/dist-packages (from cifsdk<4.0,>=3.0.0rc2->-r requirements.txt (line 5)) (1.13.1)", "Requirement already satisfied: six>=1.4.1 in /usr/lib/python2.7/dist-packages (from Flask-Limiter<1.0,>=0.9.4->-r requirements.txt (line 6)) (1.10.0)", "Requirement already satisfied: Jinja2>=2.4 in /usr/lib/python2.7/dist-packages (from Flask==0.12.2->-r requirements.txt (line 12)) (2.8)", "Collecting Werkzeug>=0.7 (from Flask==0.12.2->-r requirements.txt (line 12))", " Using cached https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl", "Collecting click>=2.0 (from Flask==0.12.2->-r requirements.txt (line 12))", " Using cached https://files.pythonhosted.org/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl", "Collecting itsdangerous>=0.21 (from Flask==0.12.2->-r requirements.txt (line 12))", "Requirement already satisfied: python-dateutil in /usr/lib/python2.7/dist-packages (from elasticsearch-dsl<5.5,>=5.3->-r requirements.txt (line 17)) (2.4.2)", "Collecting csirtg-mail<1.0,>=0.0.0a1 (from csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))", "Collecting nltk<3.3,>=3.2 (from csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))", "Collecting python-magic>=0.4.6 (from csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))", " Using cached https://files.pythonhosted.org/packages/42/a1/76d30c79992e3750dac6790ce16f056f870d368ba142f83f75f694d93001/python_magic-0.4.15-py2.py3-none-any.whl", "Collecting docker==2.2.1 (from csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))", " Using cached https://files.pythonhosted.org/packages/d9/af/a02ebab0c9791f66addb7e460dc3085240c4ec2c8f33c146fddc18156968/docker-2.2.1-py2.py3-none-any.whl", "Requirement already satisfied: chardet>=2.3.0 in /usr/lib/python2.7/dist-packages (from csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22)) (2.3.0)", "Collecting feedparser>=5.2.1 (from csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))", "Collecting backports-abc>=0.4 (from tornado<5.0,>=4.4.1->-r requirements.txt (line 24))", " Using cached https://files.pythonhosted.org/packages/7d/56/6f3ac1b816d0cd8994e83d0c4e55bc64567532f7dc543378bd87f81cebc7/backports_abc-0.5-py2.py3-none-any.whl", "Collecting certifi (from tornado<5.0,>=4.4.1->-r requirements.txt (line 24))", " Using cached https://files.pythonhosted.org/packages/7c/e6/92ad559b7192d846975fc916b65f667c7b8c3a32bea7372340bfe9a15fa5/certifi-2018.4.16-py2.py3-none-any.whl", "Collecting singledispatch (from tornado<5.0,>=4.4.1->-r requirements.txt (line 24))", " Using cached https://files.pythonhosted.org/packages/c5/10/369f50bcd4621b263927b0a1519987a04383d4a98fb10438042ad410cf88/singledispatch-3.4.0.3-py2.py3-none-any.whl", "Collecting dominate (from Flask-Bootstrap==3.3.6.0->-r requirements.txt (line 26))", "Collecting visitor (from Flask-Bootstrap==3.3.6.0->-r requirements.txt (line 26))", "Collecting greenlet>=0.4.10 (from gevent==1.2.1->-r requirements.txt (line 27))", " Using cached https://files.pythonhosted.org/packages/b9/e5/191ba8664e4c388646b91c9891e15381cb1b515e9c9059d1e6485d5ebbe3/greenlet-0.4.13-cp27-cp27mu-manylinux1_x86_64.whl", "Collecting backports.functools-lru-cache>=1.2.1; python_version == "2.7" (from arrow>=0.7.0->csirtg_indicator<2.0,>=1.0.0->-r requirements.txt (line 4))", " Using cached https://files.pythonhosted.org/packages/03/8e/2424c0e65c4a066e28f539364deee49b6451f8fcd4f718fefa50cc3dcf48/backports.functools_lru_cache-1.5-py2.py3-none-any.whl", "Collecting typing<4.0,>=3.6; python_version < "3.5" (from pendulum>=0.5.2->csirtg_indicator<2.0,>=1.0.0->-r requirements.txt (line 4))", " Using cached https://files.pythonhosted.org/packages/0d/4d/4e5985d075d241d686a1663fa1f88b61d544658d08c1375c7c6aac32afc3/typing-3.6.4-py2-none-any.whl", "Collecting pytzdata>=2018.3 (from pendulum>=0.5.2->csirtg_indicator<2.0,>=1.0.0->-r requirements.txt (line 4))", " Using cached https://files.pythonhosted.org/packages/2b/b8/a007eedc118838b27247da7c31f25c2b9e68e68ed2ffafed3d340d379e84/pytzdata-2018.5-py2.py3-none-any.whl", "Requirement already satisfied: MarkupSafe in /usr/lib/python2.7/dist-packages (from Jinja2>=2.4->Flask==0.12.2->-r requirements.txt (line 12)) (0.23)", "Collecting pyzmail<2.0,>=1.0.3 (from csirtg-mail<1.0,>=0.0.0a1->csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))", "Collecting lxml<4.0,>=3.5.0 (from csirtg-mail<1.0,>=0.0.0a1->csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))", " Using cached https://files.pythonhosted.org/packages/1b/e8/ce25c547daf9b84cafea605eb8a5709524fb53e1b3bb5ef6884e561b9d34/lxml-3.8.0-cp27-cp27mu-manylinux1_x86_64.whl", "Collecting beautifulsoup4<4.5,>=4.4.0 (from csirtg-mail<1.0,>=0.0.0a1->csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))", " Using cached https://files.pythonhosted.org/packages/33/62/f3e97eaa87fc4de0cb9b8c51d253cf0df621c6de6b25164dcbab203e5ff7/beautifulsoup4-4.4.1-py2-none-any.whl", "Collecting backports.ssl-match-hostname>=3.5; python_version < "3.5" (from docker==2.2.1->csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))", "Collecting docker-pycreds>=0.2.1 (from docker==2.2.1->csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))", " Using cached https://files.pythonhosted.org/packages/ea/bf/7e70aeebc40407fbdb96fa9f79fc8e4722ea889a99378303e3bcc73f4ab5/docker_pycreds-0.3.0-py2.py3-none-any.whl", "Collecting websocket-client>=0.32.0 (from docker==2.2.1->csirtg_smrt<2.0,>=0.0.0rc2->-r requirements.txt (line 22))", " Using cached https://files.pythonhosted.org/packages/8a/a1/72ef9aa26cfe1a75cee09fc1957e4723add9de098c15719416a1ee89386b/websocket_client-0.48.0-py2.py3-none-any.whl", "Installing collected packages: setuptools, pyzmq, backports.functools-lru-cache, arrow, prettytable, faker, typing, pytzdata, pendulum, pytricia, csirtg-indicator, pyaml, ujson, msgpack-python, cifsdk, limits, Werkzeug, click, itsdangerous, Flask, Flask-Limiter, maxminddb, geoip2, pygeoip, dnspython, flask-cors, SQLAlchemy, elasticsearch, elasticsearch-dsl, html5lib, apwgsdk, pyzmail, lxml, beautifulsoup4, csirtg-mail, nltk, python-magic, backports.ssl-match-hostname, docker-pycreds, websocket-client, docker, backports-abc, certifi, singledispatch, tornado, feedparser, csirtg-smrt, csirtg-dnsdb, dominate, visitor, Flask-Bootstrap, greenlet, gevent, gunicorn", " Found existing installation: setuptools 33.1.1", " Uninstalling setuptools-33.1.1:", " Successfully uninstalled setuptools-33.1.1", " Found existing installation: pyzmq 15.2.0"]}

Looks like it's complaining about pendulum?

Specifications like the version of the project, operating system, or hardware.

Fresh install of Ubuntu 16.04, latest apt updates already applied. Latest 3.0.0rc3 215bf05.

before you install, try removing python-dateutil first.. i've tried a test install a few different ways and can't reproduce the problem.. also try without updating the image first, see if we can spot the difference and we can go from there...

(i'm assuming you're using Ubuntu16 Server, NOT desktop...)

Yes, Server. :)
Removing python-dateutil did the trick.

After that, everything is working perfectly, the getting started wiki page's suggestion of
cif --itype ipv4 --tags scanner -d
returns data.

In case it's not as obvious to anybody else as it was to me when I wrote it - what I meant by freshly upgraded was this was a base install of 16.04 Server, which I then just did apt update, apt upgrade to in order to get latest packages, then I bashed the easy butan.

reopened because I had a dumb. Should leave this open until the underlying cause is fixed. @wesyoung has great confidence that I can do it despite this being the first time I've ever ansibled. :)

Fresh deploy didn't have this problem. Now that I think of it, the system to which I was installing is managed by another group, and it's possible they have something that installed that package on me (specifically, they use salt to manage). I didn't think they installed anything specifically, but I'll have to check.

Yes, installing salt-minion installs python-dateutil as a dependency. Problem solved, don't use salt to manage your CIF servers. :)