Odoo/troubleshooting

Da zeroincombenze.
Tb arrow up.jpg File:Tb troubleshooting.png File:Tb troubleshooting.png File:Tb troubleshooting.png File:Tb troubleshooting.png Lang english.png


Problemi avvio o esecuzione Odoo

Odoo è un software molto sofisticato, composto da molti moduli che rendono difficile trovare la soluzione.

Il flusso di analisi è il seguente:

  1. Odoo di avvia come processo server da console; vedere Odoo/troubleshooting#Avvio in debug
  2. Odoo si avvia come processo ma non si avvia come servizio; vedere Odoo/troubleshooting#OpenERP non avvia come servizio
  3. Il servizio Odoo si avvia ma non si accede con il browser; vedere Odoo/troubleshooting#Non si vede il login di Odoo
  4. All'accesso con il browser appare la videata di login di Odoo ma poi va in errore



Avvio in debug

Per avviare OpenERP in debug ci sono alcune condizioni da rispettare:

  • non attivare la modalità debug su una macchina di produzione (quando si attiva un breakpoint si ferma il server)
  • occorre avviare il server in modo interattivo e non come servizio


La sequenza è (attenzione: tutte le directory e i nomi file fanno riferimento all'installazione riportata in Odoo/Installazione

  1. Disattivare il servizio sudo service openerp stop
  2. Copiare il file di configurazione del servizio in locale sudo cp /etc/openerp-server.conf /opt/openerp/.openerp_serverrc
  3. Modificare il parametro logfile vim /opt/openerp/.openerp_serverrc con il valore False (vedere OpenERP/Parametri Configurazione)
  4. Avviare il server in modalità debug /opt/openerp/lp/openerp/openerp-server --debug

Visionare i messaggi dal server che potrebbero fornire indicazioni di eventuali errori.


Quando il server intercetta un break-point sono disponibili i seguenti comandi:

  • s (per step): esegue una singola istruzione
  • n (per next): esegue una singola istruzione; se chiamata a funzione non entra nella funzione
  • return (per eseguire sino a primo return): per uscire rapidamente da una funzione
  • print per esaminare una variabile o una proprietà
  • Qualsiasi istruzione (è un inteprete)
  • help per ottenere aiuto
  • c (per cont) per riprendere l'esecuzione del server
  • b (per break) per inserire un brek-point anche in un altro file non ancora caricato

Ricordarsi di ripistinare il parametro logfile.

su - openerp -s /bin/bash
sudo vim /etc/openerp-server.conf
logfile = False



OpenERP non avvia come servizio

Provare ad avviare il processo interattivamente con (attenzione alla shell):

su - openerp -s /bin/bash
/usr/bin/openerp-server

Se parte provare da un altro terminale:

telnet localhost 8069
bye()

Il sistema risponde con una pagina simile alla seguente:

<head>
<title>Error response</title>
</head>
...

Se il sistema non risponde vedere Postgresql#Configurazione firewall interno

Attenzione! Il problema potrebbe essere anche inerente l'accesso alla directory /usr/lib/python2.6/site-packages

La directory deve essere accessibile (anche in scrittura) all'utente openerp. Per sicurezza il utilizzare il comando

chown -R openerp:root /usr/lib/python2.6/site-packages/


Se possibile fare la prova di accesso da terminale di un altro computer collegato alla LAN.

Se risponde fare la prova con il browser sulla porta 8069 del server in cui è installato il server.

Se funziona in avvio diretto ma non come servizio, il problema è in uno di questi oggetti:

  • Directory di log assenti o protette contro l'utente openerp
  • Directory di scrittura del file pid assente o protetta contro l'utente openerp
  • Il file /usr/bin/server-openerp che non è stato creato correttamente. Rincontrollare con attenzine le istruzioni di OpenERP/Installazione in particolare quelle inrenti python setup.py install



Non si vede il login di OpenERP

L'utente di accesso a PostgreSQL deve essere openerp, invece dell'usuale postgres. Se, per qualche motivo, l'utente openerp non accede a nessun database, non è possibile attivare il server web. Vedere i comandi Postgresql inerenti utenti e database.


Couldn't load module web

Il modulo web è piuttosto delicato. Se il sistema rileva alcuni file duplicati, il modulo web non parte,

Controllare la presenza di errori tipo

 The report "report.sale.order" already exists!

In tal caso, rimuove il duplicato (o più probabilmente è duplicata una directory con nomi diversi).


Problemi durante la navigazione dei moduli

Durante la navigazione dei moduli, quando di tenta di visualizzare il dettaglio delle informazioni del modulo appare un messaggio di errore inerente il package docutils.

Il problema è prevalente su macchine CentOS ma potrebbe apparire anche su altre installazioni o piattaforme.

Il motivo dell'errore è dovuto al fatto che alcuni moduli di Odoo sfruttano nuove caratteristiche della V0.12 del package docutils; su CentOS è installata la versione V0.6 ed il comando

yum update python-docutils

non produce effetti, in quanto su CentOS è considerata la versione più aggiornata.

Per risolvere l'inconveniente leggere la documentazione sui Package di Python