[scodoc-devel] Mauvais nom de base suite à mise à jour

Cyril Pain-Barre cyril.pain-barre at univ-amu.fr
Ven 2 Déc 11:23:25 CET 2016


Voici :

$ python
Python 2.7.3 (default, Jun 21 2016, 18:38:19)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import psycopg2
>>> psycopg2.__version__
'2.6.1 (dt dec pq3 ext)'
>>>

Donc a priori, pas la même version du module que vous.
Pourtant, j'ai bien le paquet de wheezy :

# dpkg-query -s python-psycopg2
Package: python-psycopg2
Status: install ok installed
Priority: optional
Section: python
Installed-Size: 855
Maintainer: Fabio Tranchitella <kobold at debian.org>
Architecture: amd64
Source: psycopg2
Version: 2.4.5-1
Provides: python2.6-psycopg2, python2.7-psycopg2
Depends: python2.7 | python2.6, python (>= 2.6.6-7~), python (<< 2.8), libc6 (>=
2.3), libpq5 (>= 8.3~)
Recommends: python-egenix-mxdatetime
Suggests: python-psycopg2-doc
Description: Python module for PostgreSQL
 psycopg is a PostgreSQL database adapter for the Python programming language

Après une réinstallation de ce paquet, j'obtiens toujours la même version 2.6.1.

Cela dit, j'ai relancé upgrade.sh et la modification que vous avez faite sur le
SVN a réglé le problème
d'appel.
Ma base et le serveur sont de nouveau opérationnels :-)

Un grand merci !!
Amitiés,
Cyril

Le 02/12/2016 à 10:58, Emmanuel Viennet a écrit :
> L'erreur est lié à un problème python / psycopg2 et non à une config de base
> de donnée:
>
> TypeError: 'autocommit' is an invalid keyword argument when the dsn is specified
>
> En principe on observe ceci:
>
> su postgres
>
> postgres at scodoc-d7:/opt/scodoc/Products/ScoDoc$ python
>
> Python 2.7.3 (default, Jun 21 2016, 18:38:19) 
>
> [GCC 4.7.2] on linux2
>
> Type "help", "copyright", "credits" or "license" for more information.
>
> >>> import psycopg2
>
> >>> psycopg2.__version__
>
> '2.4.5 (dt dec mx pq3 ext)'
>
> >>> 
>
>
> et chez vous ?
>
>
>
>
>
>
>
>
> Le 2 décembre 2016 à 10:08, Cyril Pain-Barre <cyril.pain-barre at univ-amu.fr
> <mailto:cyril.pain-barre at univ-amu.fr>> a écrit :
>
>     Je ne pense pas avoir fait quelque chose de particulier avec la
>     configuration de postgresql.
>
>     Voici le résultat de la mise à jour :
>
>     Using SVN to update /opt/scodoc/Products/ScoDoc...
>     At revision 1587.
>     Executing post-upgrade script...
>     Trying to upgrade your Apache configuration...
>     Executing post-upgrade database script...
>
>     Checking database for dept InfoAix
>
>     *** Error: departement InfoAix not upgraded ! ***
>
>     connexion string was "dbname=SCOINFOAIX"
>     Traceback (most recent call last):
>       File "/opt/scodoc/Products/ScoDoc/config/postupgrade-db.py", line 24, in
>     <module>
>         cnx = psycopg2.connect( cnx_string, autocommit=False )
>       File "/usr/local/lib/python2.7/dist-packages/psycopg2/__init__.py", line
>     155, in connect
>         % items[0][0])
>     TypeError: 'autocommit' is an invalid keyword argument when the dsn is
>     specified
>
>     Checking users database
>
>     Starting ScoDoc...
>     $Starting Zope: /opt/scodoc/instance/bin/zopectl start
>     .
>     daemon process started, pid=19924
>
>
>     Je suis assez perplexe du résultat.
>     Pensez-vous que ce soit un problème de version de python ?
>
>     Merci
>
>
>     Le 02/12/2016 à 09:57, Emmanuel Viennet a écrit :
>>     il est normal que root n'ait pas accès à la base.
>>
>>     Les accès se font via les utilisateurs "postgres" (scripts, notamment de
>>     mise à jour) et "www-data" (serveur scodoc)
>>
>>     Il faut comprendre pourquoi la connexion échoue: vous n'avez pas modifié
>>     la configuration de postgresql ?
>>
>>     J'ai enrichi le message d'erreur: essayez d'appliquer la mise à jour et
>>     renvoyez moi les erreurs affichées.
>>
>>
>>
>>
>>
>>     Le 2 décembre 2016 à 09:42, Cyril Pain-Barre
>>     <cyril.pain-barre at univ-amu.fr <mailto:cyril.pain-barre at univ-amu.fr>> a
>>     écrit :
>>
>>         Bonjour,
>>
>>         Voici le détail de "notes_formsemestre" (psql SCOINFOAIX exécuté en
>>         user postgres) :
>>
>>                              Table "public.notes_formsemestre"
>>                 Column        |  Type   |                
>>         Modifiers                
>>         ----------------------+---------+-------------------------------------------
>>          formsemestre_id      | text    | not null default
>>         notes_newid('SEM'::text)
>>          formation_id         | text    |
>>          semestre_id          | integer |
>>          titre                | text    |
>>          date_debut           | date    |
>>          date_fin             | date    |
>>          responsable_id       | text    |
>>          etat                 | integer | default 1
>>          gestion_compensation | integer | default 0
>>          bul_hide_xml         | integer | default 0
>>          gestion_semestrielle | integer | default 0
>>          bul_bgcolor          | text    | default 'white'::text
>>          etape_apo            | text    |
>>          etape_apo2           | text    |
>>          etape_apo3           | text    |
>>          etape_apo4           | text    |
>>          modalite             | text    |
>>          resp_can_edit        | integer | default 0
>>          resp_can_change_ens  | integer | default 1
>>          ens_can_edit_eval    | integer | default 0
>>          elt_sem_apo          | text    |
>>          elt_annee_apo        | text    |
>>         Indexes:
>>         ...
>>
>>         Effectivement, l'attribut "etape_apo" est toujours là (si j'ai bien
>>         suivi ce que vous voulez controler).
>>
>>         D'après ce que je comprends, l'appel de "psycopg2.connect()" échoue
>>         dans "postupgrade-db.py"
>>         et du coup rien ne s'opère sur la base.
>>         "depts/InfoAix.cfg" contient bien "dbname=SCOINFOAIX"
>>
>>         Pourrait-il s'agir d'une mauvaise installation des droits  (car root
>>         n'a pas acces à la base) ?
>>
>>         Merci
>>         Cyril
>>
>>
>>
>>         Le 02/12/2016 à 09:30, Emmanuel Viennet a écrit :
>>>         D'après le diagnostic envoyé:
>>>
>>>         - la base s'appelle SCOINFOAIX et le département InfoAix
>>>         ce qui est absolument normal (les bases ScoDoc sont en majuscule et
>>>         préfixées par SCO).
>>>
>>>         - il vous manque la table "notes_formsemestre_etapes"
>>>         qui est créée par la mise à jour
>>>
>>>         Je ne sais pas pourquoi cette table n'est pas créée. Il faudrait voir
>>>         le message d'erreur complet lors de la mise à jour.
>>>
>>>         Aussi, voir
>>>         psql SCOINFOAIX
>>>         \d notes_formsemestre
>>>
>>>         (pour les amateurs, c'est pour vérifier si les champs modifiés par la
>>>         mise à jour ont été affectés ou pas, car le script fait en gros
>>>         CREATE TABLE notes_formsemestre_etapes ( ...)
>>>
>>>         puis
>>>         INSERT into notes_formsemestre_etapes (formsemestre_id, etape_apo)
>>>         SELECT formsemestre_id, etape_apo FROM notes_formsemestre WHERE
>>>         etape_apo is not NULL;
>>>
>>>         puis
>>>         ALTER table notes_formsemestre DROP column etape_apo;
>>>         ...
>>>
>>>
>>>         le but étant de passer d'un code étape par semestre à un nombre quelconque
>>>         )
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>         Le 2 décembre 2016 à 09:07, Emmanuel Viennet
>>>         <emmanuel.viennet at univ-paris13.fr>
>>>         <mailto:emmanuel.viennet at univ-paris13.fr> a écrit :
>>>>         Bonjour
>>>>
>>>>         il me semble très eu probable que le script de mise à jour soit en cause:
>>>>         non seulement ce serait un bug très bizarre, mais surtout parce que des
>>>>         dizaines de mise à jour ont eu lieu sans problème: quand une mise à jour
>>>>         "casse" ScoDoc, je suis en général informé dans les heures qui suivent.
>>>>
>>>>         Donc il est probable que votre installation soit non standard, soit que vous
>>>>         ayiez effectué une configuration inhabituelle, soit une commande erronée.
>>>>
>>>>         Je crois que vous m'avez envoyé un "diagnostic", je vais regarder.
>>>>
>>>>         Amitiés,
>>>>         Emmanuel
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>         Le 2 décembre 2016 à 08:19, Cyril Pain-Barre <cyril.pain-barre at univ-amu.fr> <mailto:cyril.pain-barre at univ-amu.fr>
>>>>         a écrit :
>>>>>         Bonjour,
>>>>>
>>>>>         Je poursuis un échange entamé avec Emmanuel sur cette liste car le
>>>>>         problème a peut être déjà été rencontré et résolu ? (je viens de m'abonner à
>>>>>         la liste)
>>>>>
>>>>>         En appliquant la dernière mise à jour via upgrade.sh (mais la précédente
>>>>>         datait de septembre/octobre), celle-ci se termine avec l'erreur :
>>>>>
>>>>>         *** Error: departement InfoAix not upgraded ! ***
>>>>>
>>>>>         où InfoAix est l'unique département géré par le serveur.
>>>>>
>>>>>         En conséquence, le département n'est plus accessible sur scodoc qui
>>>>>         affiche des messages d'erreur.
>>>>>
>>>>>         Je me suis rendu compte que le problème vient du nommage de la base du
>>>>>         département.
>>>>>         Initialement, la base du département InfoAix a automatiquement été nommée
>>>>>         par (le script de) scodoc avec des majuscules : SCOINFOAIX.
>>>>>         Or, il semble que désormais les scripts de mise à jour cherchent la base
>>>>>         InfoAix et échouent.
>>>>>         Je ne sais pas si la solution est de renommer la base, ou plutôt modifier
>>>>>         les scripts pour qu'ils utilisent (à nouveau ?) le nom en majuscules...
>>>>>
>>>>>         Quelqu'un a-t-il eu le même problème ? Merci
>>>>>
>>>>>         Cyril Pain-Barre
>>>>>         --
>>>>>         Cyril Pain-Barre - Maître de Conférences - Département Informatique, Aix
>>>>>         IUT Aix-Marseille - 413 Avenue Gaston Berger - 13625 Aix-en-Provence
>>>>>         Tél: +33(0)4 42 93 90 43 <tel:+33%204%2042%2093%2090%2043> - Fax : +33(0)4 42 93 90 74 <tel:+33%204%2042%2093%2090%2074>
>>>>>         Site : http://infodoc.aix.univ-amu.fr/~pain-barre
>>>>>         <http://infodoc.aix.univ-amu.fr/%7Epain-barre> - Email :
>>>>>         cyril.pain-barre at univ-amu.fr <mailto:cyril.pain-barre at univ-amu.fr>
>>>>>         Afin de respecter l'environnement, merci de n'imprimer cet email que si
>>>>>         nécessaire.
>>>>>
>>>>>         _______________________________________________
>>>>>         scodoc-devel mailing list
>>>>>         scodoc-devel at listes.univ-paris13.fr
>>>>>         <mailto:scodoc-devel at listes.univ-paris13.fr>
>>>>>         https://listes.univ-paris13.fr/mailman/listinfo/scodoc-devel
>>>>>         <https://listes.univ-paris13.fr/mailman/listinfo/scodoc-devel>
>>         -- 
>>         Cyril Pain-Barre /- //Maître de Conférences - Département
>>         Informatique, Aix /
>>         IUT Aix-Marseille - 413 Avenue Gaston Berger - 13625 Aix-en-Provence
>>         Tél: +33(0)4 42 93 90 43 <tel:+33%204%2042%2093%2090%2043> - Fax :
>>         +33(0)4 42 93 90 74 <tel:+33%204%2042%2093%2090%2074>
>>         Site : http://infodoc.aix.univ-amu.fr/~pain-barre
>>         <http://infodoc.aix.univ-amu.fr/%7Epain-barre> - Email :
>>         cyril.pain-barre at univ-amu.fr <mailto:cyril.pain-barre at univ-amu.fr>
>>         /Afin de respecter l'environnement, merci de n'imprimer cet email que
>>         si nécessaire./
>>
>     -- 
>     Cyril Pain-Barre /- //Maître de Conférences - Département Informatique, Aix /
>     IUT Aix-Marseille - 413 Avenue Gaston Berger - 13625 Aix-en-Provence
>     Tél: +33(0)4 42 93 90 43 <tel:+33%204%2042%2093%2090%2043> - Fax : +33(0)4
>     42 93 90 74 <tel:+33%204%2042%2093%2090%2074>
>     Site : http://infodoc.aix.univ-amu.fr/~pain-barre
>     <http://infodoc.aix.univ-amu.fr/%7Epain-barre> - Email :
>     cyril.pain-barre at univ-amu.fr <mailto:cyril.pain-barre at univ-amu.fr>
>     /Afin de respecter l'environnement, merci de n'imprimer cet email que si
>     nécessaire./
>
-- 
Cyril Pain-Barre /- //Maître de Conférences - Département Informatique, Aix /
IUT Aix-Marseille - 413 Avenue Gaston Berger - 13625 Aix-en-Provence
Tél: +33(0)4 42 93 90 43 - Fax : +33(0)4 42 93 90 74
Site : http://infodoc.aix.univ-amu.fr/~pain-barre
<http://infodoc.aix.univ-amu.fr/%7Epain-barre> - Email :
cyril.pain-barre at univ-amu.fr <mailto:cyril.pain-barre at univ-amu.fr>
/Afin de respecter l'environnement, merci de n'imprimer cet email que si
nécessaire./
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: https://listes.univ-paris13.fr/pipermail/scodoc-devel/attachments/20161202/05d698ef/attachment-0001.htm 
-------------- section suivante --------------
Une pièce jointe non texte a été nettoyée...
Nom: logo_iut.jpg
Type: image/jpeg
Taille: 20596 octets
Desc: non disponible
Url: https://listes.univ-paris13.fr/pipermail/scodoc-devel/attachments/20161202/05d698ef/attachment-0001.jpg 
-------------- section suivante --------------
Une pièce jointe non texte a été nettoyée...
Nom: cyril_pain-barre.vcf
Type: text/x-vcard
Taille: 435 octets
Desc: non disponible
Url: https://listes.univ-paris13.fr/pipermail/scodoc-devel/attachments/20161202/05d698ef/attachment-0001.vcf 


Plus d'informations sur la liste de diffusion scodoc-devel