- name: Basic system checks hosts: all become: yes become_user: root tasks: - name: Check to make sure the package manager is apt fail: msg: "Package manager is not apt" when: "ansible_pkg_mgr != 'apt'" - name: Install git hosts: all tasks: - name: Install git apt: name: git state: present - name: Check out the pricer repository hosts: all tasks: - name: Checkout pricer repository git: repo: https://gogs.gtsplab.com:5432/SVIG/pricer.git dest: /opt/pricer version: main - name: Install Python requirements hosts: all tasks: - name: "Install setuptools + distutils + pkg-resources + pip" apt: name: - python3-setuptools - python3-distutils - python3-pkg-resources - python3-pip state: present - name: Install the pricer Python package dependencies ansible.builtin.pip: requirements: /opt/pricer/requirements.txt - name: Check missing packages command: "pip show {{ item }}" register: pip_packages changed_when: false failed_when: "'WARNING: Package(s) not found' not in pip_packages.stderr" loop: "{{ lookup('file', '/opt/pricer/requirements.txt').splitlines() }}" - name: Install missing packages with apt apt: name: "{{ item }}" state: present loop: "{{ pip_packages.results | map(attribute='item') | list }}"