Ansible-role-postgresql: Le module psycopg2 est requis (module présent)

Créé le 27 juil. 2018  ·  6Commentaires  ·  Source: geerlingguy/ansible-role-postgresql

  1. la liste des pip affiche psycopg2 (2.7.5)
  2. yum montre ce package python-psycopg2-2.7.5-1.rhel7.x86_64 déjà installé et la dernière version
    2a : python --version : Python 2.7.5
  3. Ansible yml a ceci:
  roles:
    - role: ansible-role-postgresql
      become: yes
      postgresql_enablerepo: "pgdg96"
      postgresql_restarted_state: "restarted"
      postgresql_python_library: python-psycopg2
      postgresql_bin_path: /usr/pgsql-9.6/bin
      postgresql_daemon: postgresql-9.6.service 
  1. L'erreur renvoyée est la suivante :

TASK [ansible-role-postgresql : Ensure PostgreSQL databases are present.] **************************************************************************** failed: [clpaxd-iwh01.na.ad.rrd.com] (item={u'owner': u'manifold', u'login_user': u'manifold', u'name': u'manifoldcf', u'login_password': u'manifold'}) => {"changed": false, "item": {"login_password": "manifold", "login_user": "manifold", "name": "manifoldcf", "owner": "manifold"}, "msg": "the python psycopg2 module is required"}
Environnement:

  1. Centos 7
  2. Python 2.7.5
  3. ansible 2.7.0.dev0 (stable-2.6 28d0a173db) dernière mise à jour 2018/06/25 12:12:39 (GMT -500)

Une idée de comment régler ça ?

stale

Commentaire le plus utile

J'avais déjà installé python3-psycopg2 mais il a toujours échoué avec;
postgresql_python_library : python3-psycopg2

J'ai donc ajouté ce qui suit à mon playbook ;
ansible_python_interpreter : /usr/bin/python3

On dirait que par défaut, il vient d'utiliser /usr/bin/python

sur debian 10 ;
/usr/bin/python --version
Python 2.7.16

Tous les 6 commentaires

essayez avec pip install -U --no-cache-dir --force psycopg2

Ce bogue est un peu ennuyeux à comprendre car no_log est utilisé dans les cas où il apparaît, par exemple en créant des utilisateurs, en masquant le vrai problème.

Personnellement, je l'ai corrigé en utilisant package pour installer python3-psycopg2 avant que le rôle Postgres ne soit importé.

Ancien fil (mais ouvert) même problème ici sur Ubuntu. la suppression de no_log m'a donné le message d'erreur du package manquant. Après l'installation manuelle de psycopg2, la tâche des utilisateurs fonctionne. Une étape supplémentaire pour installer le package python requis devrait résoudre le problème.

J'avais déjà installé python3-psycopg2 mais il a toujours échoué avec;
postgresql_python_library : python3-psycopg2

J'ai donc ajouté ce qui suit à mon playbook ;
ansible_python_interpreter : /usr/bin/python3

On dirait que par défaut, il vient d'utiliser /usr/bin/python

sur debian 10 ;
/usr/bin/python --version
Python 2.7.16

Ce problème a été marqué « obsolète » en raison du manque d'activité récente. S'il n'y a plus d'activité, le problème sera clos dans 30 jours. Nous vous remercions de votre contribution!

Veuillez lire cet article de blog pour voir les raisons pour lesquelles je marque les problèmes comme obsolètes.

Ce problème a été fermé pour cause d'inactivité. Si vous pensez qu'il s'agit d'une erreur, veuillez rouvrir le problème ou déposer un nouveau problème avec les détails pertinents.

Cette page vous a été utile?
0 / 5 - 0 notes