Odoo preprod¶
Purtroppo questa sezione non è stata ancora tradotta in inglese a causa della mancanza di tempo, ogni contributo è ben accetto! :)
Questa sezione copre i concetti riguardanti le procedure per l’installazione e la configurazione degli ambienti di odoo di demo. Per favore leggere prima l’introduzione sulla pagina Odoo.
Per maggiori informazioni riguardanti l’architettura consultare lo schema sulla pagina Odoo e in caso di dubbi rivolgersi al BOFH.
Introduzione¶
L’ambiente di demo gira sotto docker swarm. Ad oggi l’unico nodo
funzionante è docker-be-svil-manager01. Alcuni dei devs odoo già conoscono molte
delle procedure per creare lo stack e la configurazione di Nginx.
Gitlab¶
Important
alcuni branch hanno bisogno di essere taggati anche per essere buildati in demo (ad es. ipi). Seguire lo step successivo solo se non si vede il Job per la build della demo nella tab CI/CD dopo aver pushato
Taggare la release del branch interessato su https://git.webmonks.org/odoo/odoo-docker-compose-recipe. Solitamente la nomenclatura del tag segue la regola
r.<nomebranch>.<numero release>quindi ad esempio la release 8 del branch monk13 sarà taggata conr.monk13.8.Buildare l’immagine della release per la produzione dal pannello CI/CD di gitlab.
Postgres¶
Creare il database su dbcl-preprod:
~$ sudo -i ~$ su - postgres ~$ psql
Creare utente e database rispettando la nomenclatura
odoo<nome>per l’utente eodoo<nome>demoper il database:postgres=# CREATE USER odooappuntamenti WITH PASSWORD 'asdasdasd'; postgres=# CREATE DATABASE odooappuntamentidemo OWNER odooappuntamenti;
Creazione stack Docker swarm¶
Entrare sul nodo docker-be-svil-manager01. È possibile trovare gli
stack di odoo nel percorso /opt/odoo-demo.
se bisogna creare la directory dello stack, ricordarsi di rispettare la nomenclatura!! All’inizio vanno messi i primi 2 digit delle porte usate da quell’odoo
<digit>-odoo-<nome>-demo, quindi ad es.66-odoo-appuntamenti-demoPer deployare uno stack:
~$ cd /opt/odoo-demo/66-odoo-appuntamenti-demo ~$ docker stack deploy -c odooappuntamenti-demo-stack.yml odooappuntamenti-demo
Important
quando crei gli stack se in odoo.conf ci stanno i workers impostati a 0 (quindi workers = 0) allora nello stack sia la porta http che la porta del longpolling di odoo sono uguali. Quindi la config delle porte dello stack dovrà essere:
ports: - "6600:8069" - "6601:8069"
Important
La creazione del database può anche avvenire successivamente al deploy dello stack. In caso di problemi seguire la procedura di riavvio descritta in seguito nei comandi utili.
Inizializzazione database. Per farlo bisogna entrare nel container con il comando:
~$ docker exec -it odooappuntamenti-demo_odoo.1.uebflf3gjolnd223y3007yal7 bash
e lanciare il comando per odoo > 11.0
~$ ./entrypoint.sh --no-http --stop-after-init --workers=0 -i base
altrimenti
~$ ./entrypoint.sh --no-xmlrpc --stop-after-init --workers=0 -i base
Creazione file di config su Nginx:
~$ cd /etc/nginx/sites-available/odoo-demo
e creare e riempire il file di configurazione stando attenti a rispettare la nomenclatura del file
<nome>.odoo-demo.monksoftware.it, ad es.simica.odoo-demo.monksoftware.it. Creare successivamente il link simbolico per abilitarlo:~$ cd /etc/nginx/odoo-enabled ~$ ln -s ../sites-available/odoo-demo/simica.odoo-demo.monksoftware.it
Testare la nuova configurazione di Nginx con
nginx -te se è tutto ok ricaricare la config con il comando:~$ nginx -s reload
Aggiornamento stack docker swarm¶
Alcune demo di odoo presentano già nella CI/CD il Job automatico per l’aggiornamento dell’immagine nello stack in demo. Tuttavia per alcuni ancora è necessario aggiornare manualmente l’immagine dello stack. Per fare questo bisogna seguire dei semplici passaggi:
Entrare sul nodo
docker-be-svil-manager01. È possibile trovare gli stack di odoo nel percorso/opt/odoo-demo.Una volta identificata la directory dello stack editare il file
yamlal suo interno, aggiornando la versione dell’immagine interessata (ad es. all’interno del fileodooappuntamenti-demo-stack.yml).Lanciare il comando:
~$ docker stack deploy -c odooappuntamenti-demo-stack.yml odooappuntamenti-demo
Comandi utili¶
per vedere i log del servizio (ad esempio odoo) su
docker-be-svil-manager01:
~$ docker service logs -f odooappuntamenti-demo_odoo
in caso di problemi per riavviare un servizio dello stack senza distruggere lo stack (ad esempio odoo):
~$ docker service scale odooappuntamenti-demo_odoo=0
~$ docker service scale odooappuntamenti-demo_odoo=1