Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ansible libselinux-python et virtualenv

Aborting, target uses selinux but python bindings (libselinux-python)

Sujet résolu
    14 octobre 2019 à 17:45:52

    Bonjour, je viens de commencer le cour sur Ansible  et j'en suis à l'upload de mes clé publiques ssh sur mes nodes.

    Mon poste de travail est en fédora 30, je travaille sur deux node CentOS8 sous virtualbox.

    Donc j'ai suivis le cours et ai installé virtualenv

    sudo dnf install python3-virtualenv

    Ensuite j'ai crée mon utilisateur user-ansible et m'y suis connecté.

    J'ai fait :

    virtualenv ansible2.7.10
    source ansible2.7.10/bin/activate
    pip install ansible==2.7.10

    J'ai donc obtenu ce résultat :

    user-ansible@laptop-xxxxx ~]$ source ansible2.7.10/bin/activate
    (ansible2.7.10) [user-ansible@laptop-xxxxxxxx ~]$ ansible --version
    ansible 2.7.10
      config file = None
      configured module search path = ['/home/user-ansible/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
      ansible python module location = /home/user-ansible/ansible2.7.10/lib/python3.7/site-packages/ansible
      executable location = /home/user-ansible/ansible2.7.10/bin/ansible
      python version = 3.7.4 (default, Jul  9 2019, 16:32:37) [GCC 9.1.1 20190503 (Red Hat 9.1.1-1)]


    Et maintenant j'en suis arrivé à l'étape ou on passe des clés publiques ssh sur les node :

    ansible -i inventaire.ini -m authorized_key -a 'user=user-ansible state=present key="{{ lookup("file", "/home/user-ansible/.ssh/id_ecdsa.pub") }}"' --user user-ansible --ask-pass --become --ask-become-pass all

    Et voici le résultat de la commande:

    bdd1 | FAILED! => {
        "changed": false,
        "msg": "Aborting, target uses selinux but python bindings (libselinux-python) aren't installed!"
    }
    http1 | FAILED! => {
        "changed": false,
        "msg": "Aborting, target uses selinux but python bindings () aren't installed!"
    }
    


    J'ai trouvé sur les forum des posts ou les gens avaient simplement installé les libselinux-python sur le master ou sur le nodes pour régler le problème.

    Malheuresement moi j'ai ca sur mon poste:

    xxxxx@laptop-xxxxx ~]$ sudo dnf install libselinux-python
    [sudo] Mot de passe de xxxxxx : 
    Fedora Modular 30 - x86_64                                                                                                                                                34 kB/s |  23 kB     00:00    
    Fedora Modular 30 - x86_64 - Updates                                                                                                                                      23 kB/s |  22 kB     00:00    
    Fedora 30 - x86_64 - Updates                                                                                                                                              38 kB/s |  23 kB     00:00    
    Fedora 30 - x86_64                                                                                                                                                        30 kB/s |  23 kB     00:00    
    RPM Fusion for Fedora 30 - Free - Updates                                                                                                                                 17 kB/s |  11 kB     00:00    
    RPM Fusion for Fedora 30 - Free                                                                                                                                           21 kB/s |  11 kB     00:00    
    RPM Fusion for Fedora 30 - Nonfree - Updates                                                                                                                              18 kB/s |  10 kB     00:00    
    RPM Fusion for Fedora 30 - Nonfree                                                                                                                                        19 kB/s |  10 kB     00:00    
    Le paquet python2-libselinux-2.9-3.1.fc30.x86_64 est déjà installé.
    Dépendances résolues.
    Rien à faire.
    Terminé !

    Ou ça sur mes nodes :

    [xxxxx@bdd1 ~]$ sudo dnf install python3-libselinux
    [sudo] Mot de passe de xxxxxx : 
    CentOS-8 - AppStream                                                                                                                                                     0.0  B/s |   0  B     00:20    
    CentOS-8 - Base                                                                                                                                                          0.0  B/s |   0  B     00:20    
    CentOS-8 - Extras                                                                                                                                                        0.0  B/s |   0  B     00:20    
    Échec de la synchronisation du cache pour le dépôt « AppStream », en ignorant ce dépôt
    Échec de la synchronisation du cache pour le dépôt « BaseOS », en ignorant ce dépôt
    Échec de la synchronisation du cache pour le dépôt « extras », en ignorant ce dépôt
    Package python3-libselinux-2.8-6.el8.x86_64 is already installed.
    Dépendances résolues.
    Rien à faire.
    Terminé !


    Est ce que quelqu'un à une idée de ce que je pourrais faire ou encore mieux à eu le même problème?

    ---------------------


    # Résolution

    C'est bon j'ai fini par comprendre, c'était tout bête.

    Mon venv de mon serveur maître est en python3 et mes nodes n'avaient que python2.

    J'ai donc installer python3 sur mes nodes ce qui m'a amené l'erreur suivante :

    http1 | FAILED! => {
        "changed": false,
        "module_stderr": "Shared connection to http1 closed.\r\n",
        "module_stdout": "/bin/sh: /usr/bin/python: Aucun fichier ou dossier de ce type\r\n",
        "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
        "rc": 127
    }
    

    Sur mes nodes je n'avais pas de "/usr/bin/python"

    J'ai donc juste eu à faire un lien symbolique vers mon python3

    ln -s /usr/bin/python3 /usr/bin/python

    -
    Edité par Heimdall894 15 octobre 2019 à 11:53:24

    • Partager sur Facebook
    • Partager sur Twitter

    Ansible libselinux-python et virtualenv

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown