title: Ansible suddenly uses svr4pkg as a backend of yum
body: <p>Declared <strong>YUM</strong> task as below:</p>
  
  <pre><code>---
  - hosts: all
    vars:
    tasks:
  
    - name: install package
      yum:
          name: ntp
          state: present
  </code></pre>
  
  <p>Ran following command:</p>
  
  <pre class="lang-sh prettyprint-override"><code>ansible-playbook test.yml -i localhost, --connection=local -vvvv
  </code></pre>
  
  <p>Receiving error message:</p>
  
  <pre><code>TASK [install package] ***************************************************************************************************************************************************
  task path: /home/osuser/dod/test.yml:6
  Using module file /usr/lib/python2.7/site-packages/ansible/modules/system/setup.py
  &lt;localhost&gt; ESTABLISH LOCAL CONNECTION FOR USER: osuser
  &lt;localhost&gt; EXEC /bin/sh -c '/usr/bin/python &amp;&amp; sleep 0'
  Running svr4pkg as the backend for the yum action plugin
  Using module file /usr/lib/python2.7/site-packages/ansible/modules/packaging/os/svr4pkg.py
  &lt;localhost&gt; EXEC /bin/sh -c '/usr/bin/python &amp;&amp; sleep 0'
  fatal: [localhost]: FAILED! =&gt; {
      "ansible_facts": {
          "pkg_mgr": "svr4pkg"
      },
      "changed": false,
      "invocation": {
          "module_args": {
              "category": false,
              "name": "ntp",
              "proxy": null,
              "response_file": null,
              "src": null,
              "state": "present",
              "zone": "all"
          }
      },
      "msg": "src is required when state=present",
      "name": "ntp"
  </code></pre>
  
  <p>Note the following message in debug:</p>
  
  <blockquote>
    <p>Running svr4pkg as the backend for the yum action plugin</p>
  </blockquote>
  
  <p>Ansible decided to use "<strong>srv4pkg</strong>" module (which requires <code>src</code> parameter) as backend of <strong>yum</strong>.</p>
  
  <p><strong><em>Workaround:</em></strong>
  Set <code>use_backend: yum</code> parameter on yum module... if possible ! (I cannot modify the yaml file in my real usage).</p>
  
  <p>Running Ansible 2.7.15 on CentOS 7.6.. with yum installed so there is absolutely no reason <code>svr4pkg</code> as a back-end (which is not supported/documented by yum module).</p>
  
  <p>However, as it seems to be defined as an ansible_fact, I have done following test (result is filtered):</p>
  
  <pre class="lang-sh prettyprint-override"><code>ansible -i localhost, all -m setup -k
  </code></pre>
  
  <pre><code>SUCCESS =&gt; {
      "ansible_facts": {
          "ansible_distribution": "CentOS",
          "ansible_distribution_file_parsed": true,
          "ansible_distribution_file_path": "/etc/redhat-release",
          "ansible_distribution_file_variety": "RedHat",
          "ansible_distribution_major_version": "7",
          "ansible_distribution_release": "Core",
          "ansible_distribution_version": "7.6.1810",
          "ansible_os_family": "RedHat",
          "ansible_pkg_mgr": "svr4pkg",
          "ansible_python_version": "2.7.5",
          "module_setup": true
      },
      "changed": false
  }
  </code></pre>
  
  <p>Any clue of the reason and how to enforce <code>ansible_pkg_mgr</code> ?</p>