n7consulting / Incipio

ERP / CRM for Junior-Entreprises.
http://jeyser-crm.n7consulting.fr
GNU Affero General Public License v3.0
42 stars 17 forks source link

Erreur migration vers Jeyser 3.0 #330

Closed alex3475me closed 4 years ago

alex3475me commented 4 years ago

Bonjour,

Lors de la migration vers Jeyser 3.0, j'ai suivi l'ensemble des étapes de migration : https://github.com/n7consulting/Incipio/releases/tag/v3.0.0

Cependant, lors de commande : docker-compose exec web php bin/console -n doctrine:migration:migrate Voici le message d'erreur que j'ai eu :

Capture d’écran 2020-08-10 à 00 18 59

Pouvez-vous m'aider ? Depuis j'ai un message d'erreur sur mon crm, impossible d'y accéder : An exception occurred in driver: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

Merci par avance,

Alexis

Stoakes commented 4 years ago

Bonjour,

A première vue, ça ressemble à la base de donnée qui n'est pas disponible. Peux tu stp poster ici le résultat du script suivant:

cd /var/www/Incipio
docker-compose ps

A bientôt

alex3475me commented 4 years ago

Bonjour Antoine,

Merci beaucoup pour ton aide, voici le résultat du script :

Capture

Alexis

Stoakes commented 4 years ago

C'est bien ça, la base de données est en train de redémarrer (ça ne devrait pas être le cas, elle devrait juste être Up).

Peux tu stp coller ici les logs de la base de données ? Tu peux les obtenir en exécutant:

cd /var/www/Incipio # cette commande permet d'aller dans le répertoire d'installation de Jeyser
docker-compose logs --tail=200 database 
alex3475me commented 4 years ago

Voici les logs : Capture1 Capture2 Capture3 Capture4 Capture5 Capture6

Stoakes commented 4 years ago

Ok, merci.

Juste avant de commencer à résoudre le problème, j'ai besoin d'une dernière info. Peux tu stp me donner la version de la base de données utilisée. Tu peux l'obtenir via:

cd /var/www/Incipio
docker inspect incipio_database_1 | grep "Image"

Note: Normalement en sélectionnant le texte sur la console avec la souris, tu devrais ensuite pouvoir le coller dans le ticket via un simple Ctrl + V. Pro Tip: Si la copie du texte fonctionne, tu peux la rendre plus lisible en l'insérant entre les balises markdown d'un bloc de code: https://www.markdownguide.org/extended-syntax/#fenced-code-blocks

alex3475me commented 4 years ago

Voici le résultat de la requette (Merci pour le tips !) :

 "Image": "sha256:141eda20897fd823bde45b0bbe75835551739dc84a2c02b3bd2d2ca7a2fea3be",
            "Image": "mysql:5",
Stoakes commented 4 years ago

La version de base de donnée est correcte, donc ce n'est pas un problème que l'on avait sur les vieilles versions de Jeyser où j'ai déjà vu des mises à jour mettre à jour la base de données sans précautions supplémentaires.

Est-ce que le disque du serveur pourrait être plein ? ie quel est résultat de la commande df / ?

alex3475me commented 4 years ago

Voici le résultat de cette commande (merci bcp pour ton temps et ton aide !) :

Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda1       20145724 10023628  10105712  50% /
Stoakes commented 4 years ago

Je ne suis pas entièrement sûr des étapes suivantes. Que donne la commande docker run --rm mysql:5 mysql --version ?

alex3475me commented 4 years ago

mysql Ver 14.14 Distrib 5.7.25, for Linux (x86_64) using EditLine wrapper

Stoakes commented 4 years ago

Après quelques recherches, une autre possibilité serait que le dossier où la base de donnée stocke ses fichiers ne soit pas accessible en écriture ou contienne certains élément invalides. (Quelque chose comme ce ticket: https://github.com/docker-library/mysql/issues/69 )

Pour vérifier ça, il faudrait le résultat des 3 commandes suivantes (exécutées depuis le dossier racine de Jeyser, cd /var/www/Incipio une fois après la connexion au serveur):

Rien à voir avec la solution, mais j'ai oublié de vérifier à quelle version de Jeyser tu étais actuellement. Que retourne git rev-parse HEAD stp (exécuté depuis le dossier racine de Jeyser) ?

Pour info, j'ai testé hier une installation de Jeyser version 2.8 puis une mise à jour vers la version 3.0 en suivant le process de migration donné dans la release note et il n'y a pas eu de problème particulier.

alex3475me commented 4 years ago

Bonjour Antoine,

root@vps644426:/var/www/Incipio# ls -alh | grep docker
drwxr-xr-x  6 root     root     4,0K août   9 23:42 docker
-rw-r--r--  1 root     root     2,6K août  10 00:10 docker-compose.yml
-rw-r--r--  1 root     root     2,6K août   9 23:42 docker-compose.yml.dist
-rw-r--r--  1 root     root     2,6K août   9 23:58 docker-compose.yml.old
-rw-r--r--  1 root     root      204 août   9 23:42 .dockerignore
root@vps644426:/var/www/Incipio# ls -alh docker/
total 24K
drwxr-xr-x  6 root root   4,0K août   9 23:42 .
drwxr-xr-x 16 root root   4,0K août  10 00:11 ..
drwxr-xr-x  2 root root   4,0K févr.  4  2019 mail
drwxr-xr-x  2  999 docker 4,0K août  20 08:07 mysql
drwxr-xr-x  3 root root   4,0K août   9 23:42 traefik
drwxr-xr-x  2 root root   4,0K août   9 23:42 web
root@vps644426:/var/www/Incipio# ls -alh docker/mysql/
total 12K
drwxr-xr-x 2  999 docker 4,0K août  20 08:07 .
drwxr-xr-x 6 root root   4,0K août   9 23:42 ..
-rw-r--r-- 1  999 docker    0 févr.  4  2019 .gitkeep
-rw-r----- 1  999 docker  735 août   9 23:51 ib_buffer_pool

Pour la version de Jeyser : root@vps644426:/var/www/Incipio# git rev-parse HEAD 16db79635c46a6cfe45e6a5b8df4cb95274aa492

Stoakes commented 4 years ago

Je suis assez surpris par le résultat de ls -alh docker/mysql/; est ce qu'il ne manquerait pas une partie du résultat ?

Edit: désolé pour la fermeture/réouverture du ticket, mauvais click depuis mon téléphone.

alex3475me commented 4 years ago

Je te confirme le résultat précédent je viens de retenter la commande :

root@vps644426:/var/www/Incipio# ls -alh docker/mysql
total 12K
drwxr-xr-x 2  999 docker 4,0K août  20 09:52 .
drwxr-xr-x 6 root root   4,0K août   9 23:42 ..
-rw-r--r-- 1  999 docker    0 févr.  4  2019 .gitkeep
-rw-r----- 1  999 docker  735 août   9 23:51 ib_buffer_pool
alex3475me commented 4 years ago

Je ne sais pas si cela peut t'aide, mais quand j'essaye d'entrer sur le CRM, voici le message d'erreur :

Si tu n'as pas peur du code : 500 Internal Server Error An exception occurred in driver: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

Stoakes commented 4 years ago

😨 Si la commande ne retourne que ce résultat, c'est problématique. Je ne sais pas ce qu'il s'est passé mais vous n'avez apparemment plus les fichiers de base de données. C'est bien une installation existante que vous avez essayé de mettre à jour ? J'essaye de comprendre comment nous avons pu en arriver là.

Pour comparaison, voici le résultat sur le CRM N7C:

stoakes@crm:/var/www/Incipio$ ls -alh docker/mys
ql/
total 186M
drwxrwxr-x 6 telegraf docker  4.0K Aug 19 16:54 .
drwxrwxr-x 6 thomas   n7c     4.0K Nov  1  2019 ..
-rw-r--r-- 1 telegraf root   1005K Aug 19 12:19 2020-0
8-19-jeyser.sql
-rw-rw---- 1 telegraf docker    56 Apr 27  2017 auto.c
nf
-rw--w---- 1 telegraf docker  1.7K Apr 27  2017 ca-key
.pem
-rw-rw-r-- 1 telegraf docker  1.1K Apr 27  2017 ca.pem
-rw-rw-r-- 1 telegraf docker  1.1K Apr 27  2017 client
-cert.pem
-rw--w---- 1 telegraf docker  1.7K Apr 27  2017 client
-key.pem
-rw-r--r-- 1 telegraf docker  734K Jul  4  2018 dump.s
ql
-rw-rw-r-- 1 telegraf docker     0 Apr 27  2017 .gitke
ep
-rw-r----- 1 telegraf docker   709 Aug 19 16:52 ib_buf
fer_pool
-rw-rw---- 1 telegraf docker   76M Aug 19 16:55 ibdata
1
-rw-rw---- 1 telegraf docker   48M Aug 19 16:55 ib_log
file0
-rw-rw---- 1 telegraf docker   48M Apr 27  2017 ib_log
file1
-rw-r----- 1 telegraf docker   12M Aug 19 16:54 ibtmp1
drwxrwx--- 2 telegraf docker  4.0K Jul 11 15:10 jeyser
drwxrwx--- 2 telegraf docker  4.0K Aug 19 16:54 mysql
-rw-r--r-- 1 root     root       6 Aug 19 16:54 mysql_
upgrade_info
drwxr-x--- 2 telegraf docker  4.0K Aug 19 16:54 perfor
mance_schema
-rw--w---- 1 telegraf docker  1.7K Apr 27  2017 privat
e_key.pem
-rw-rw-r-- 1 telegraf docker   451 Apr 27  2017 public
_key.pem
-rw-rw-r-- 1 telegraf docker  1.1K Apr 27  2017 server
-cert.pem
-rw--w---- 1 telegraf docker  1.7K Apr 27  2017 server
-key.pem
drwxrwx--- 2 telegraf docker   12K Aug 19 16:54 sys
alex3475me commented 4 years ago

ah.... Tout fonctionnait bien jusque là, on a seulement essayé de mettre à jour vers Jeyser 3.0.0 Que devons-nous faire...? :(

alex3475me commented 4 years ago

Est-ce que tu penses qu'il est possible auprès du VPS ovh (notre hebergeur) d'utiliser une sauvegarde automatique pour reset toutes nos actions notamment celles de MAJ vers Jeyser 3.0.0 ?

Stoakes commented 4 years ago

Si vous avez souscrit à cette option, oui vous pouvez essayez de restaurer une sauvegarde d'avant la mise à jour, ça sera le plus simple. Je te contacte par mail dans les prochains jours pour la suite des actions.

Stoakes commented 4 years ago

Solved with a screen sharing session.

In a word, database files had been stashed with an unfortunate external command. We unstashed them and things went back on track.