Unable to install python-minimal

I’m running an Ansible playbook to use the raw module, to install python-minimal.

The host is reachable.
The host can be SSH’ed into as root.

However, when running the playbook below, it fails.

It gives the error:

“module_stdout”: “bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)\r\n/bin/sh: 1: /usr/bin/python: not found\r\n”,

---
# https://gist.github.com/gwillem/4ba393dceb55e5ae276a87300f6b8e6f
- hosts: all

  tasks:
  - name: install python 2
    raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)

However, it works when run manually:

ansible -i all.yml -m raw -a “apt install -y python-minimal”

The problem is that you don't provide the whole error message, if you had you probably would have gotten an answer several days ago.

So without the error message I can only guess, but default Ansible has gather facts on, so you need to turn it off.

This is what we use:

---
- hosts: ubuntu-1604
  gather_facts: no
  pre_tasks:
    # Needed because python is not installed
    - name: install python (if needed)
      raw: test -e /usr/bin/python || (apt update -y && apt install -y python-minimal)
      register: _python_minimal
      changed_when: _python_minimal.stdout_lines | length > 0

gather_facts was what I needed!