--- - hosts: localhost become: false tasks: - name: Ensure the requirements installed debug: msg: "{{ '' | ipaddr }}" ignore_errors: true no_log: true register: ipaddr - name: Set required ansible version as a fact set_fact: required_ansible_version: "{{ item | regex_replace('^ansible[\\s+]?(?P[=,>,<]+)[\\s+]?(?P\\d.\\d(.\\d+)?)$', '{\"op\": \"\\g\",\"ver\": \"\\g\" }') }}" when: '"ansible" in item' with_items: "{{ lookup('file', 'requirements.txt').splitlines() }}" - name: Verify Python meets Algo VPN requirements assert: that: (ansible_python.version.major|string + '.' + ansible_python.version.minor|string)|float is version('3.6', '>=') msg: > Python version is not supported. You must upgrade to at least Python 3.6 to use this version of Algo. See for more details - https://trailofbits.github.io/algo/troubleshooting.html#python-version-is-not-supported - name: Verify Ansible meets Algo VPN requirements assert: that: - ansible_version.full is version(required_ansible_version.ver, required_ansible_version.op) - not ipaddr.failed msg: > Ansible version is {{ ansible_version.full }}. You must update the requirements to use this version of Algo. Try to run python3 -m pip install -U -r requirements.txt - name: Include prompts playbook import_playbook: input.yml - name: Include cloud provisioning playbook import_playbook: cloud.yml - name: Include server configuration playbook import_playbook: server.yml