Environnement de dev++ #16

Merged
mpepin merged 11 commits from Kerl/dev_env into master 2017-05-18 18:45:40 +02:00
mpepin commented 2017-05-17 11:19:14 +02:00 (Migrated from git.eleves.ens.fr)

GE est servi de deux façons différentes dans la VM :

  • La classique python manage.py runserver 0.0.0.0:8000
  • Daphne + Nginx sur le port 80 (sur la VM) / 8080 (sur l'hôte) pour reproduire les conditions de la prod

Au provisionning, Vagrant setup correctement la version Nginx qui devrait marcher out of the box. Lorsque des modifications sont faites dans le code, il faut que Daphne et manage.py runworker les prennent en compte. Pour cela, entrer les deux commandes suivantes :

python manage.py collectstatic
sudo systemctl restart daphne.service worker.service

Notez que l'utilisation de Daphne est un peu anticipée mais ça évite de refaire le setup quand les websockets arriveront.

Review

J'aimerais que le script de provisionning reste maintenable donc s'il vous plaît indiquez moi les endroits où les choses ne sont pas claires et je documenterai un peu plus, j'ai parfois été avare en commentaires.

Les boxes vagrant Debian elles sont pas sympa…

Les boxes Debian ne supportent pas les synced folders à la VirtualBox (ce dont on a l'habitude sur GestioCOF), j'ai essayé de les activer et j'ai une erreur lié à un certain filesystem non disponible sur Debian (si vous voulez chercher plus loin je peux vous dire où j'ai arrêté). Donc la méthode utilisée pour synchroniser le dossier où l'on code (sur l'hôte) et le dossier /vagrant sur la VM est rsync. Ça a deux inconvénients majeurs :

  1. C'est à sens unique : les modifs sur l'hôte son répercutées sur la VM, les modifs sur la VM sont perdues à chaque sync. Donc pas de modifs sur la VM sauf sur le fichier secret.py qui est ignoré par rsync.

  2. La synchronisation ne se fait pas en temps réel… Soit il faut taper vagrant rsync pour faire la synchro (très relou) soit il faut taper une fois vagrant rsync-auto quand la VM est up et laisser ce programme tourner en permanence. C'est pas top je sais mais c'est le prix à payer pour une Debian (et on est sur Debian en prod).

GE est servi de deux façons différentes dans la VM : - La classique `python manage.py runserver 0.0.0.0:8000` - Daphne + Nginx sur le port 80 (sur la VM) / 8080 (sur l'hôte) pour reproduire les conditions de la prod Au provisionning, Vagrant setup correctement la version Nginx qui devrait marcher out of the box. Lorsque des modifications sont faites dans le code, il faut que Daphne et `manage.py runworker` les prennent en compte. Pour cela, entrer les deux commandes suivantes : python manage.py collectstatic sudo systemctl restart daphne.service worker.service Notez que l'utilisation de Daphne est un peu anticipée mais ça évite de refaire le setup quand les websockets arriveront. ### Review J'aimerais que le script de provisionning reste maintenable donc s'il vous plaît indiquez moi les endroits où les choses ne sont pas claires et je documenterai un peu plus, j'ai parfois été avare en commentaires. ### Les boxes vagrant Debian elles sont pas sympa… Les boxes Debian ne supportent pas les synced folders à la VirtualBox (ce dont on a l'habitude sur GestioCOF), j'ai essayé de les activer et j'ai une erreur lié à un certain filesystem non disponible sur Debian (si vous voulez chercher plus loin je peux vous dire où j'ai arrêté). Donc la méthode utilisée pour synchroniser le dossier où l'on code (sur l'hôte) et le dossier `/vagrant` sur la VM est `rsync`. Ça a deux inconvénients majeurs : 1. C'est à sens unique : les modifs sur l'hôte son répercutées sur la VM, les modifs sur la VM sont perdues à chaque sync. Donc pas de modifs sur la VM **sauf** sur le fichier `secret.py` qui est ignoré par `rsync`. 2. La synchronisation ne se fait pas en temps réel… Soit il faut taper `vagrant rsync` pour faire la synchro (très relou) soit il faut taper une fois `vagrant rsync-auto` quand la VM est up et laisser ce programme tourner en permanence. C'est pas top je sais mais c'est le prix à payer pour une Debian (et on est sur Debian en prod).
mpepin commented 2017-05-17 11:25:55 +02:00 (Migrated from git.eleves.ens.fr)

À noter aussi que ce n'est pas la même box que sur master, il faut donc vagrant destroy. Pensez à sauver vos données si vous en avez

À noter aussi que ce n'est pas la même box que sur `master`, il faut donc `vagrant destroy`. Pensez à sauver vos données si vous en avez
mpepin commented 2017-05-17 11:33:47 +02:00 (Migrated from git.eleves.ens.fr)

added 19 commits

  • 21de45b4...5759cd47 - 18 commits from branch master
  • 750f7937 - Merge branch 'master' into Kerl/dev_env

Compare with previous version

added 19 commits * 21de45b4...5759cd47 - 18 commits from branch `master` * 750f7937 - Merge branch 'master' into Kerl/dev_env [Compare with previous version](https://git.eleves.ens.fr/cof-geek/GestionEvenementiel/merge_requests/11/diffs?diff_id=486&start_sha=21de45b42a183440d84d0c2f0ddcb4e43e6f8e86)
mpepin commented 2017-05-17 14:25:11 +02:00 (Migrated from git.eleves.ens.fr)

changed title from Environement de dev++ to Environ{+n+}ement de dev++

changed title from **Environement de dev++** to **Environ{+n+}ement de dev++**
narmanli commented 2017-05-17 16:36:14 +02:00 (Migrated from git.eleves.ens.fr)

Pour le moment on en a besoin :p

À terme il faudrait peut-être faire ça différement. Je sais pas si on en avait parlé mais le but c'est que les utilisateurs ayant déjà un compte y ait accès pour que même les gens n'ayant pas d'identifiants CAS puissent créer un compte.

Pour le moment on en a besoin :p À terme il faudrait peut-être faire ça différement. Je sais pas si on en avait parlé mais le but c'est que les utilisateurs ayant déjà un compte y ait accès pour que même les gens n'ayant pas d'identifiants CAS puissent créer un compte.
narmanli commented 2017-05-17 17:04:25 +02:00 (Migrated from git.eleves.ens.fr)

Si on ne e sert plus de debug_toolbar on en a encore besoin ici ? Je ne sais pas à que pointdebug_panel est un truc qui s'interface avec debug_toolbar ou est indépendant.

Si on ne e sert plus de `debug_toolbar` on en a encore besoin ici ? Je ne sais pas à que point`debug_panel` est un truc qui s'interface avec `debug_toolbar` ou est indépendant.
mpepin commented 2017-05-17 17:18:43 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

  • a35148f7 - Restore the USER_CREATE_KEY

Compare with previous version

added 1 commit * a35148f7 - Restore the USER_CREATE_KEY [Compare with previous version](https://git.eleves.ens.fr/cof-geek/GestionEvenementiel/merge_requests/11/diffs?diff_id=487&start_sha=750f7937b034ff3afd637263b0c24f8d048c793b)
mpepin commented 2017-05-17 17:20:27 +02:00 (Migrated from git.eleves.ens.fr)

C'était involontaire et c'est corrigé

C'était involontaire et c'est corrigé
mpepin commented 2017-05-17 17:24:06 +02:00 (Migrated from git.eleves.ens.fr)

Bon en fait je t'ai dit des bêtises, on utilise toujours ddt, en revanche le middleware ne sert plus à rien, c'était un vestige d'une vieille version du module

Bon en fait je t'ai dit des bêtises, on utilise toujours `ddt`, en revanche le middleware ne sert plus à rien, c'était un vestige d'une vieille version du module
mpepin commented 2017-05-17 17:25:42 +02:00 (Migrated from git.eleves.ens.fr)

À noter aussi qu'on laisser traîner le context processor dans la config des templates dans la mesure où :

  1. L'ajouter seulement dans settings.dev ne serait pas belle du tout
  2. Il est ignoré lorsque DEBUG vaut False
À noter aussi qu'on laisser traîner le _context processor_ dans la config des templates dans la mesure où : 1. L'ajouter seulement dans `settings.dev` ne serait pas belle du tout 2. Il est ignoré lorsque `DEBUG` vaut `False`
mpepin commented 2017-05-17 17:55:58 +02:00 (Migrated from git.eleves.ens.fr)

marked as a Work In Progress

marked as a **Work In Progress**
mpepin commented 2017-05-17 17:57:38 +02:00 (Migrated from git.eleves.ens.fr)

unmarked as a Work In Progress

unmarked as a **Work In Progress**
mpepin commented 2017-05-17 17:59:34 +02:00 (Migrated from git.eleves.ens.fr)

À noter aussi : il faut préciser le module de settings lorsqu'on lance les tests car on ne veut pas settings.dev, settings.common fait très bien l'affaire. Cela donne python manage.py test --settings evenementiel.settings.common.

À noter aussi : il faut préciser le module de settings lorsqu'on lance les tests car on ne veut pas `settings.dev`, `settings.common` fait très bien l'affaire. Cela donne `python manage.py test --settings evenementiel.settings.common`.
delobell commented 2017-05-18 14:39:28 +02:00 (Migrated from git.eleves.ens.fr)

Au premier vagrant up: https://pastebin.com/EEtCvZ2E

Au premier `vagrant up`: https://pastebin.com/EEtCvZ2E
mpepin commented 2017-05-18 14:41:27 +02:00 (Migrated from git.eleves.ens.fr)

@delobell as tu destroy au préalable ?

@delobell as tu `destroy` au préalable ?
delobell commented 2017-05-18 14:42:08 +02:00 (Migrated from git.eleves.ens.fr)

Je partais du néant

Je partais du néant
mpepin commented 2017-05-18 15:51:29 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

  • a43b7ba9 - Roll back to Debian8 for the vagrant VM

Compare with previous version

added 1 commit * a43b7ba9 - Roll back to Debian8 for the vagrant VM [Compare with previous version](https://git.eleves.ens.fr/cof-geek/GestionEvenementiel/merge_requests/11/diffs?diff_id=494&start_sha=a35148f7be58b31620cea35c89360ce3f8ea3268)
narmanli commented 2017-05-18 16:06:37 +02:00 (Migrated from git.eleves.ens.fr)

resolved all discussions

resolved all discussions
narmanli commented 2017-05-18 16:57:51 +02:00 (Migrated from git.eleves.ens.fr)

En ce qui me concerne, en lancant runserver j'ai le problème suivant :

2017-05-18 14:56:36,189 - ERROR - server - Error trying to receive messages: Client sent AUTH, but no password is set 

et avec runworker : https://pastebin.com/FCFTSdkV

En ce qui me concerne, en lancant `runserver` j'ai le problème suivant : ``` 2017-05-18 14:56:36,189 - ERROR - server - Error trying to receive messages: Client sent AUTH, but no password is set ``` et avec `runworker` : https://pastebin.com/FCFTSdkV
mpepin commented 2017-05-18 17:52:35 +02:00 (Migrated from git.eleves.ens.fr)

@narmanli la config a dû changer entre ton dernier provisioning et maintenant. Un vagrant provision devrait résoudre le problème

@narmanli la config a dû changer entre ton dernier provisioning et maintenant. Un `vagrant provision` devrait résoudre le problème
narmanli commented 2017-05-18 18:13:41 +02:00 (Migrated from git.eleves.ens.fr)

Indeed, works fine. Par contre je ne sais pas spécifier le port en utilisant runworker du coup le site n'est pas bien servit. Tu saurais me dire comment faire ?

Indeed, works fine. Par contre je ne sais pas spécifier le port en utilisant `runworker` du coup le site n'est pas bien servit. Tu saurais me dire comment faire ?
narmanli commented 2017-05-18 18:24:07 +02:00 (Migrated from git.eleves.ens.fr)

Du coup bon pour merge selon moi. Je sais pas si @delobell a encore des trucs à voir.

Du coup bon pour merge selon moi. Je sais pas si @delobell a encore des trucs à voir.
narmanli commented 2017-05-18 18:45:40 +02:00 (Migrated from git.eleves.ens.fr)

merged

merged
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: thubrecht/poulpe#16
No description provided.