# I installed WSL (Ubuntu 22.04) and Ansible via PIP (2.17.9) and no jobs will run

**URL:** <https://forum.ansible.com/t/i-installed-wsl-ubuntu-22-04-and-ansible-via-pip-2-17-9-and-no-jobs-will-run/41111>\
**Category:** Get Help\
**Tags:** ubuntu\
**Created:** [March 18, 2025, 10:28pm UTC](https://forum.ansible.com/t/i-installed-wsl-ubuntu-22-04-and-ansible-via-pip-2-17-9-and-no-jobs-will-run/41111 "2025-03-18T22:28:07Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![dpflick](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/dpflick/32/7922_2.png) [@dpflick](https://forum.ansible.com/u/dpflick)\
**Post date:** [March 18, 2025, 10:28pm UTC](https://forum.ansible.com/t/i-installed-wsl-ubuntu-22-04-and-ansible-via-pip-2-17-9-and-no-jobs-will-run/41111/1 "2025-03-18T22:28:07Z")

</div>

When running the test.yml from the install documentation, I am expecting “Ansible Works” but I get the following message

```auto
msg: No fact modules available and we could not find a fact module for your network OS (None), try setting one via the `FACTS_MODULES` configuration.

```

No other jobs work as well. The CPU is a snapdragon and I have an identical machine using the same configuration with the same install process and it works fine. Any Ideas? Google has failed me.

---

<div class="post-metadata">

**Author:** ![hugonz](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/hugonz/32/503_2.png) [@hugonz](https://forum.ansible.com/u/hugonz)\
**Post date:** [March 19, 2025, 6:16am UTC](https://forum.ansible.com/t/i-installed-wsl-ubuntu-22-04-and-ansible-via-pip-2-17-9-and-no-jobs-will-run/41111/2 "2025-03-19T06:16:24Z")

</div>

Looks like you have some connection configured other than ssh, so that you should have a network os. Can you post the playbook you’re trying to run, as well as your Ansible configuration?

$ ansible-config dump

---

<div class="post-metadata">

**Author:** ![dpflick](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/dpflick/32/7922_2.png) [@dpflick](https://forum.ansible.com/u/dpflick)\
**Post date:** [March 19, 2025, 11:26am UTC](https://forum.ansible.com/t/i-installed-wsl-ubuntu-22-04-and-ansible-via-pip-2-17-9-and-no-jobs-will-run/41111/3 "2025-03-19T11:26:58Z")

</div>

## playbook

- hosts: localhost  
tasks:
  - debug: msg=“Ansible works!”  
…

Dump:  
ACTION\_WARNINGS(default) = True  
AGNOSTIC\_BECOME\_PROMPT(default) = True  
ALLOW\_WORLD\_READABLE\_TMPFILES(default) = False  
ANSIBLE\_CONNECTION\_PATH(default) = None  
ANSIBLE\_COW\_PATH(default) = None  
ANSIBLE\_COW\_SELECTION(default) = default  
ANSIBLE\_COW\_WHITELIST(default) = [‘bud-frogs’, ‘bunny’, ‘cheese’, ‘daemon’, ‘default’, ‘dragon’, ‘elephant-in-snake’, ‘elephant’, ‘eyes’, ‘hellokitty’, ‘kitty’, ‘luke-koala’, ‘meow’, ‘milk’, ‘moofa\>  
ANSIBLE\_FORCE\_COLOR(default) = False  
ANSIBLE\_NOCOLOR(default) = False  
ANSIBLE\_NOCOWS(default) = False  
ANSIBLE\_PIPELINING(default) = False  
ANSIBLE\_SSH\_ARGS(default) = -C -o ControlMaster=auto -o ControlPersist=60s  
ANSIBLE\_SSH\_CONTROL\_PATH(default) = None  
ANSIBLE\_SSH\_CONTROL\_PATH\_DIR(default) = ~/.ansible/cp  
ANSIBLE\_SSH\_EXECUTABLE(default) = ssh  
ANSIBLE\_SSH\_RETRIES(default) = 0  
ANY\_ERRORS\_FATAL(default) = False  
BECOME\_ALLOW\_SAME\_USER(default) = False  
BECOME\_PLUGIN\_PATH(default) = [’/home/devops/.ansible/plugins/become’, ‘/usr/share/ansible/plugins/become’]  
CACHE\_PLUGIN(default) = memory  
CACHE\_PLUGIN\_CONNECTION(default) = None  
CACHE\_PLUGIN\_PREFIX(default) = ansible\_facts  
CACHE\_PLUGIN\_TIMEOUT(default) = 86400  
COLLECTIONS\_PATHS(default) = [‘/home/devops/.ansible/collections’, ‘/usr/share/ansible/collections’]  
COLOR\_CHANGED(default) = yellow  
COLOR\_CONSOLE\_PROMPT(default) = white  
COLOR\_DEBUG(default) = dark gray  
COLOR\_DEPRECATE(default) = purple  
COLOR\_DIFF\_ADD(default) = green  
COLOR\_DIFF\_LINES(default) = cyan  
COLOR\_DIFF\_REMOVE(default) = red  
COLOR\_ERROR(default) = red  
COLOR\_HIGHLIGHT(default) = white  
COLOR\_OK(default) = green  
COLOR\_SKIP(default) = cyan  
COLOR\_UNREACHABLE(default) = bright red  
COLOR\_VERBOSE(default) = blue  
COLOR\_WARN(default) = bright purple  
COMMAND\_WARNINGS(default) = True  
CONDITIONAL\_BARE\_VARS(default) = True  
CONNECTION\_FACTS\_MODULES(default) = {‘eos’: ‘eos\_facts’, ‘frr’: ‘frr\_facts’, ‘ios’: ‘ios\_facts’, ‘iosxr’: ‘iosxr\_facts’, ‘junos’: ‘junos\_facts’, ‘nxos’: ‘nxos\_facts’, ‘vyos’: ‘vyos\_facts’}  
COVERAGE\_REMOTE\_OUTPUT(default) = None  
COVERAGE\_REMOTE\_WHITELIST(default) = \*  
DEFAULT\_ACTION\_PLUGIN\_PATH(default) = [‘/home/devops/.ansible/plugins/action’, ‘/usr/share/ansible/plugins/action’]  
DEFAULT\_ALLOW\_UNSAFE\_LOOKUPS(default) = False  
DEFAULT\_ASK\_PASS(default) = False  
DEFAULT\_ASK\_VAULT\_PASS(default) = False  
DEFAULT\_BECOME(default) = False  
DEFAULT\_BECOME\_ASK\_PASS(default) = False

---

<div class="post-metadata">

**Author:** ![iwt-cmd](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/iwt-cmd/32/9120_2.png) [@iwt-cmd](https://forum.ansible.com/u/iwt-cmd)\
**Post date:** [March 19, 2025, 1:06pm UTC](https://forum.ansible.com/t/i-installed-wsl-ubuntu-22-04-and-ansible-via-pip-2-17-9-and-no-jobs-will-run/41111/4 "2025-03-19T13:06:44Z")

</div>

Hi @dpflick,

I generally tell Ansible that the connection is local when using localhost. Example:

```auto
- hosts: localhost
  connection: local
  tasks:
    - name: Ansible test
      debug:
        msg: "Ansible Works!"

```

Best regards,

Joe

---

<div class="post-metadata">

**Author:** ![dpflick](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/dpflick/32/7922_2.png) [@dpflick](https://forum.ansible.com/u/dpflick)\
**Post date:** [March 19, 2025, 1:12pm UTC](https://forum.ansible.com/t/i-installed-wsl-ubuntu-22-04-and-ansible-via-pip-2-17-9-and-no-jobs-will-run/41111/5 "2025-03-19T13:12:35Z")

</div>

I get the same error even with connection local and none of my other playbooks run. They all get the same error whether using local connections, ssh or httapi

---

<div class="post-metadata">

**Author:** ![iwt-cmd](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/iwt-cmd/32/9120_2.png) [@iwt-cmd](https://forum.ansible.com/u/iwt-cmd)\
**Post date:** [March 19, 2025, 1:21pm UTC](https://forum.ansible.com/t/i-installed-wsl-ubuntu-22-04-and-ansible-via-pip-2-17-9-and-no-jobs-will-run/41111/6 "2025-03-19T13:21:44Z")

</div>

Interesting, for kicks, try turning fact gathering off:

```auto
- hosts: localhost
  connection: local
  gather_facts: false
  tasks:
    - name: Ansible test
      debug:
        msg: "Ansible Works!"

```

Best regards,

Joe

---

<div class="post-metadata">

**Author:** ![dpflick](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/dpflick/32/7922_2.png) [@dpflick](https://forum.ansible.com/u/dpflick)\
**Post date:** [March 19, 2025, 1:33pm UTC](https://forum.ansible.com/t/i-installed-wsl-ubuntu-22-04-and-ansible-via-pip-2-17-9-and-no-jobs-will-run/41111/7 "2025-03-19T13:33:43Z")

</div>

Works with fact gathering off for the test but all other jobs are still failing.  
 ![](https://us1.discourse-cdn.com/ansible/original/2X/2/2c2989d526b298bdc591bbfa19a5d0590f8f51e1.png)  
I have an IDENTICAL machine where it works with fact gathering so something is off. I just can’t figure out what. I think I am going to try the APT install instead of PIP and see if there are any changes.

---

<div class="post-metadata">

**Author:** ![iwt-cmd](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/iwt-cmd/32/9120_2.png) [@iwt-cmd](https://forum.ansible.com/u/iwt-cmd)\
**Post date:** [March 19, 2025, 1:55pm UTC](https://forum.ansible.com/t/i-installed-wsl-ubuntu-22-04-and-ansible-via-pip-2-17-9-and-no-jobs-will-run/41111/8 "2025-03-19T13:55:26Z")

</div>

Sounds good, curious on what the issue is. I’m running WSL 2 with Ubuntu 22.04, Ansible 2.17.2 and python 3.10.12. Had to go back in my history and it looks like I used the APT method of installing it.

Best regards,

Joe

---

<div class="post-metadata">

**Author:** ![bcoca](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/bcoca/32/9269_2.png) [@bcoca](https://forum.ansible.com/u/bcoca)\
**Post date:** [March 19, 2025, 2:24pm UTC](https://forum.ansible.com/t/i-installed-wsl-ubuntu-22-04-and-ansible-via-pip-2-17-9-and-no-jobs-will-run/41111/9 "2025-03-19T14:24:25Z")

</div>

Using `connection: local` is almost always wrong, it won’t break normally but people make incorrect assumptions on how it works and/or interacts with localhost.

---

<div class="post-metadata">

**Author:** ![iwt-cmd](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/iwt-cmd/32/9120_2.png) [@iwt-cmd](https://forum.ansible.com/u/iwt-cmd)\
**Post date:** [March 19, 2025, 3:25pm UTC](https://forum.ansible.com/t/i-installed-wsl-ubuntu-22-04-and-ansible-via-pip-2-17-9-and-no-jobs-will-run/41111/10 "2025-03-19T15:25:47Z")

</div>

@bcoca do you happen to have a link to a doc that explains the “connection: local” functionality? We’ve been using it for a while now but that sounds like more of our ignorance/luck then it being correct. I don’t want to hijack dpflick’s thread so I can start a new one if needed. Thanks!

Best regards,

Joe

---

<div class="post-metadata">

**Author:** ![bcoca](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/bcoca/32/9269_2.png) [@bcoca](https://forum.ansible.com/u/bcoca)\
**Post date:** [March 19, 2025, 3:29pm UTC](https://forum.ansible.com/t/i-installed-wsl-ubuntu-22-04-and-ansible-via-pip-2-17-9-and-no-jobs-will-run/41111/11 "2025-03-19T15:29:23Z")

</div>

> **[Implicit ‘localhost’ — Ansible Community Documentation](https://docs.ansible.com/ansible/latest/inventory/implicit_localhost.html)**

`connection: local` was mostly used in very old version of Ansible for networking modules, since they didn’t really execute on the target and it didn’t matter much that being ‘slightly incorrect’ they would still work as you would not manipulate the ‘python interpreter’ for those targets. This becomes a problem in heterogeneous contexts in which you are targeting execution with normal modules, which do take the interpreter into account.

---

<div class="post-metadata">

**Author:** ![dpflick](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/dpflick/32/7922_2.png) [@dpflick](https://forum.ansible.com/u/dpflick)\
**Post date:** [March 20, 2025, 8:25pm UTC](https://forum.ansible.com/t/i-installed-wsl-ubuntu-22-04-and-ansible-via-pip-2-17-9-and-no-jobs-will-run/41111/12 "2025-03-20T20:25:53Z")

</div>

_ **FIXED** _  
Soooo, for my ARM64 issue, it was not architecture at all! 2 issues total. Issue 1, 2.17.9 is broken with get facts. Known issue and rolled back to 2.17.7. Second issue of all things was an errant /t in the group\_vars\all.yml. It has been there for years but Ansible \>2.17.7 blows up spectacularly.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/ansible/original/1X/1882d9a01da5d8996a862359b0913cc568a39b84.svg) [@system](https://forum.ansible.com/u/system)\
**Post date:** [April 19, 2025, 8:26pm UTC](https://forum.ansible.com/t/i-installed-wsl-ubuntu-22-04-and-ansible-via-pip-2-17-9-and-no-jobs-will-run/41111/13 "2025-04-19T20:26:38Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
