I just updated Ansible to version 2.5.0 tonight, and I came across this issue when I tried to run a playbook for an Ubuntu 16.04 machine:

PLAY [Ansible Playbook for configuring odroid.***.com] ***************************************************************************************

TASK [Gathering Facts] *****************************************************************************************************************************
fatal: [odroid.***.com]: FAILED! => {"changed": false, "cmd": "None -s system-product-name", "msg": "[Errno 2] No such file or directory: 'None'", "rc": 2}

According to the issue #37911, the remote system doesn’t have the dmidecode package installed. This is true in my case, and it can be verified as the following:

# apt-cache policy dmidecode
  Installed: (none)
  Candidate: 3.0-2ubuntu0.1
  Version table:
     3.0-2ubuntu0.1 500
        500 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main armhf Packages
     3.0-2 500
        500 http://ports.ubuntu.com/ubuntu-ports xenial/

After installing dmidecode, I was able to run ansible-playbook on that machine again. I believe there’ll be an update for Ansible 2.5 to exclude demidecode as a requirement coming out soon.