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

Emmanuel Viennet emmanuel.viennet at univ-paris13.fr
Ven 2 Déc 10:58:27 CET 2016


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>
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
> > 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> <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> <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 <+33%204%2042%2093%2090%2043> - Fax : +33(0)4 42 93 90 74 <+33%204%2042%2093%2090%2074>
>> Site : http://infodoc.aix.univ-amu.fr/~pain-barre - Email :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 listscodoc-devel at listes.univ-paris13.frhttps://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 <+33%204%2042%2093%2090%2043> - Fax : +33(0)4
>> 42 93 90 74 <+33%204%2042%2093%2090%2074>
>> Site : http://infodoc.aix.univ-amu.fr/~pain-barre - Email :
>> 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 <+33%204%2042%2093%2090%2043> - Fax : +33(0)4 42
> 93 90 74 <+33%204%2042%2093%2090%2074>
> Site : http://infodoc.aix.univ-amu.fr/~pain-barre - Email :
> 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/e5ef4626/attachment-0001.htm 


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