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

Emmanuel Viennet emmanuel.viennet at univ-paris13.fr
Ven 2 Déc 11:49:12 CET 2016


ok
bref, il est temps de passer tout le monde à Debian 8. A suivre.

Le 2 décembre 2016 à 11:23, Cyril Pain-Barre <cyril.pain-barre at univ-amu.fr>
a écrit :

> 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> <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
> > 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.*
>>
> --
> 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/4ded269a/attachment-0001.htm 


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