firewalld module

914 views
Skip to first unread message

Michael DiDomenico

unread,
Jan 9, 2023, 9:29:56 AM1/9/23
to ansible...@googlegroups.com
this probably a question for redhat, but i'm hoping someone already
asked and answered this.

according to this blog post
https://www.redhat.com/en/blog/updates-using-ansible-rhel-86-and-90
redhat switched from ansible to ansible-core. which means to me that
when i install ansible-core i get the updated version to ansible-core
2.13, okay great.

but when i try to run a firewalld task in ansible i get

"msg": "Python Module not found: firewalld and its python module are
required for this module, version 0.2.11 or newer required (0.3.9 or
newer for offline operations)"

this is because there is no python 3.9 version of the firewalld
modules only python 3.6. but ansible is installed with 3.9 and as i
understood requires 3.9+.

however, when i set the python interpreter to 3.6 in ansible.cfg the
firewalld tasks run fine.

so i guess i'm confused. what is the repercussion of setting
python3.6 as the ansible interpreter vs python3.9, if there's none
then what's forcing ansible to mandate 3.9 instead of just using the
redhat default of 3.6? is there a reason i shouldn't just set py36 as
the default interpreter on all my rhel8 hosts?

before i attempt to navigate redhat support, does anyone know off hand
how/if redhat plans to rev the py3.6 modules to py3.9 in rhel8 for
ansible? i see rhel9 already made the leap, but i can't goto rhel9

Richard Megginson

unread,
Jan 9, 2023, 11:50:37 AM1/9/23
to ansible...@googlegroups.com
Are you by any chance using `localhost` as the managed host?  If so, see https://access.redhat.com/solutions/6726561

--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CABOsP2ONsjiy75MRrd%3DK9pYoCJHhOfLbnH3xqNX%2BxTMTu1UCRg%40mail.gmail.com.

Michael DiDomenico

unread,
Jan 9, 2023, 12:08:50 PM1/9/23
to ansible...@googlegroups.com
yes, i am working on the localhost and have connection: local in the
playbook. the error message doesn't match what i see, but the symptom
is close

in my case ansible for the most part seems to be working okay, its
just when ansible calls a system py module (firewalld in this case),
it's missing from the /usr/lib/python3.9. it's almost like redhat
missed a dependancy in the ansible chain
> To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CALF5A-%2Bj74%2BpXDZECU5w4HQh95b0uhqH_%2BVZqBBbHRG0d62yng%40mail.gmail.com.

Richard Megginson

unread,
Jan 9, 2023, 12:13:57 PM1/9/23
to ansible...@googlegroups.com
On Mon, Jan 9, 2023 at 10:08 AM Michael DiDomenico <mdidom...@gmail.com> wrote:
yes, i am working on the localhost and have connection: local in the
playbook.  the error message doesn't match what i see, but the symptom
is close

I'm pretty sure it is the same issue - the python39 module used by ansible is missing most of the usual system python 3.6 libraries, so you have to force ansible to use the system python 3.6 instead to run modules, using the instructions in the KB article.
 

in my case ansible for the most part seems to be working okay, its
just when ansible calls a system py module (firewalld in this case),
it's missing from the /usr/lib/python3.9.  it's almost like redhat
missed a dependancy in the ansible chain

No, it is deliberate - ansible runs with the python39 module - that is only supported to run ansible itself, not the myriad of modules and filters that might be used, so for localhost you need to use system python 3.6 libraries for firewall, storage, et. al. you must follow the instructions in https://access.redhat.com/solutions/6726561
 
Reply all
Reply to author
Forward
0 new messages