#362 Drop ansible-node, python2-dnf is no more
Closed 5 years ago by sgallagh. Opened 5 years ago by churchyard.
churchyard/fedora-comps drop-ansible-node  into  master

file modified
-12
@@ -106,17 +106,6 @@ 

      </packagelist>

    </group>

    <group>

-     <id>ansible-node</id>

-     <_name>Ansible node</_name>

-     <_description>This group contains packages necessary for the system to be controlled by Ansible.</_description>

-     <default>false</default>

-     <uservisible>true</uservisible>

-     <packagelist>

-       <packagereq type="mandatory">python2-dnf</packagereq>

-       <packagereq type="conditional" requires="selinux-policy">python2-libselinux</packagereq>

-     </packagelist>

-   </group>

-   <group>

      <id>arabic-support</id>

      <_name>Arabic Support</_name>

      <_description/>
@@ -7170,7 +7159,6 @@ 

        <groupid>networkmanager-submodules</groupid>

      </grouplist>

      <optionlist>

-       <groupid>ansible-node</groupid>

        <groupid>arm-tools</groupid>

        <groupid>container-management</groupid>

        <groupid>dogtag</groupid>

See also discussion in PR #358

I guess @sgallagh and @maxamillion should weigh in here?

I'm +1 to dropping this group/merging this...

I pinged @maxamillion on that ticket some time ago. My major point there is that I don't want to drop this if there is a set of packages that we can include that enables the Python 3 version of an Ansible node. I want to make sure that we don't ship Fedora Server media that cannot easily be set up to be managed by Ansible.

Maybe @rbergero might know (or know who else can answer this question).

I'm OK updating this to python 3 instead.

The ansible-node group was created because Fedora moved dnf to python3 and ansible was trying to use python2-dnf with it's dnf module. You could then use @ansible-node in your kickstart or whatever to make sure python2-dnf was installed. python2-dnf now no longer exists. It makes no sense to update it to python3 as python3-dnf is already installed by default. The group would do nothing.

That was my understanding as well.

OK, go ahead and merge this. I'll resurrect it later if we discover there are other reasons for it.

I feel like the SELinux stuff was pretty important though.

If python3-libselinux is needed and not guaranteed to be installed, maybe we need the group after all?

That's part of the open question: I don't know if python3-libselinux is needed/supported by Ansible on python3.

I'm willing to drop the ansible-node group for now though. https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#managed-node-requirements suggests that it's needed on systems with SELinux enabled/permissive, but doesn't address the python3 question. However, it does also recommend the use of the DNF ansible module to install it, so I can assume that this module doesn't require it recursively. I assume then that the common behavior would be to just have ansible ensure that this package is installed and that we don't need to pre-install it for them.

ansible will use python3-libselinux if it's using python3 on that target. I am pretty sure python3-libselinux is default installed... anaconda requires it.

As long as you set python3 for your Fedora targets they should work fine with dnf/selinux. An upcoming ansible release will attempt to autodetect python2 vs python3 and hopefully make that configuration no longer needed.

Note that the ansible detection should prefer /usr/bin/python3 over /usr/bin/python or it'll get a dnf-less python. (That cannot be fixed by a comps group, so a bit OT.)

Commit 82c575e fixes this pull-request

Pull-Request has been merged by sgallagh

5 years ago

I rebased this and pushed it as 82c575e

Pull-Request has been closed by sgallagh

5 years ago
Metadata