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
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"}
Ambiente:
Alguma ideia de como consertar isso?
tente com pip install -U --no-cache-dir --force psycopg2
Este bug é um pouco chato de descobrir, já que no_log
está sendo usado nos casos em que surge, por exemplo, na criação de usuários, obscurecendo o problema real.
Eu pessoalmente consertei usando package
para instalar python3-psycopg2
antes que a função Postgres seja importada.
Tópico antigo (mas aberto) mesmo problema aqui no Ubuntu. remover no_log me deu a mensagem de erro de pacote ausente. Após a instalação manual do psycopg2, a tarefa para os usuários está funcionando. Uma etapa extra para instalar o pacote Python necessário deve resolver o problema.
Eu já tinha o python3-psycopg2 instalado, mas ainda falhou com;
postgresql_python_library: python3-psycopg2
Então, eu adicionei o seguinte ao meu manual;
ansible_python_interpreter: / usr / bin / python3
Parece que por padrão ele apenas usou / usr / bin / python
No debian 10;
/ usr / bin / python --version
Python 2.7.16
Este problema foi marcado como 'obsoleto' devido à falta de atividade recente. Caso não haja mais atividades, a emissão será encerrada em mais 30 dias. Obrigado pela sua contribuição!
Leia esta postagem do blog para ver os motivos pelos quais eu marco os problemas como obsoletos.
Este problema foi resolvido devido à inatividade. Se você acha que isso é um erro, reabra o problema ou registre um novo problema com os detalhes relevantes.
Comentários muito úteis
Eu já tinha o python3-psycopg2 instalado, mas ainda falhou com;
postgresql_python_library: python3-psycopg2
Então, eu adicionei o seguinte ao meu manual;
ansible_python_interpreter: / usr / bin / python3
Parece que por padrão ele apenas usou / usr / bin / python
No debian 10;
/ usr / bin / python --version
Python 2.7.16