##### SUMMARY

I was working on an example of what _not_ to do—namely, using the `yum` module instead of `package` for something meant to be platform agnostic... but then I realized my example (using the `yum` module on Debian) _actually worked_.

When I ran the `yum` task with `-vvvv` I found:

```
Running apt as the backend for the yum action plugin
Using module file /usr/local/lib/python2.7/dist-packages/ansible/modules/packaging/os/apt.py
```

Is this a bug? A feature? I found it can also lead to unexpected weird behavior that I believe is due to strange fallback behavior.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
yum

##### ANSIBLE VERSION

```paste below
ansible 2.8.5
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/Users/jgeerling/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python2.7/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 2.7.16 (default, Apr 12 2019, 15:32:40) [GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.46.3)]
```

##### CONFIGURATION
```paste below
N/A
```

##### OS / ENVIRONMENT
Debian 10


##### STEPS TO REPRODUCE

1. Run a Docker image with Debian 10.

       docker run -it geerlingguy/docker-debian10-ansible /bin/bash

1. Check if stress installed. Nothing listed.

       apt list --installed | grep stress

1. Create a playbook for demonstration.

       cat << EOF > main.yml
       ---
       - hosts: localhost
         gather_facts: false
         connection: local
       
         tasks:
           - apt: update_cache=true
           - yum: name=stress state=present
       EOF

1. Run the playbook.

       ansible-playbook main.yml

1. Check if stress installed.

       apt list --installed | grep stress
       stress/stable,now 1.0.4-4 amd64 [installed]

When run with `-vvvv`, the `yum` task gives: https://pastebin.com/Q4SSduVH

##### EXPECTED RESULTS
I expected a task failure, saying something like "`yum` or `dnf` are not available on this system."

##### ACTUAL RESULTS

The task worked. It said 'changed' or 'ok' and worked idempotently.

I was bewildered. Surprise was apparent. I even said something in IRC about it.
#
#
#
#
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
from ansible.plugins.action import ActionBase
from ansible.utils.display import Display
display = Display()
class ActionModule(ActionBase):