Projet

Général

Profil

Bug #10226

améliorer le package hobo-piwik

Ajouté par Josué Kouka il y a environ 8 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Josué Kouka
Catégorie:
-
Version cible:
-
Début:
07 mars 2016
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Oui
Planning:

Fichiers

0001-improve-hobo-piwik-package-10226.patch (5,42 ko) 0001-improve-hobo-piwik-package-10226.patch Josué Kouka, 07 mars 2016 19:34
0001-improve-hobo-piwik-package-10226.patch (5,33 ko) 0001-improve-hobo-piwik-package-10226.patch Josué Kouka, 07 mars 2016 22:00
0004-piwik-manage-use-http-when-https-connection-fails-10.patch (1,7 ko) 0004-piwik-manage-use-http-when-https-connection-fails-10.patch Josué Kouka, 08 mars 2016 10:57
0003-hobo-piwik-add-and-use-hobo-piwik-user-10226.patch (2,87 ko) 0003-hobo-piwik-add-and-use-hobo-piwik-user-10226.patch Josué Kouka, 08 mars 2016 10:57
0002-piwik-manage-use-rotating-file-logger-10226.patch (1,25 ko) 0002-piwik-manage-use-rotating-file-logger-10226.patch Josué Kouka, 08 mars 2016 10:57
0001-piwik-manage-get-hobo_json-from-stdin-10226.patch (1,12 ko) 0001-piwik-manage-get-hobo_json-from-stdin-10226.patch Josué Kouka, 08 mars 2016 10:57
0001-hobo-piwik-add-and-use-hobo-piwik-user-10226.patch (3,23 ko) 0001-hobo-piwik-add-and-use-hobo-piwik-user-10226.patch Josué Kouka, 08 mars 2016 12:16
0001-piwik-manage-get-hobo_json-from-stdin-10226.patch (1,62 ko) 0001-piwik-manage-get-hobo_json-from-stdin-10226.patch Josué Kouka, 08 mars 2016 14:47
0005-piwik-sevice-ignore-hobo_notify-10226.patch (767 octets) 0005-piwik-sevice-ignore-hobo_notify-10226.patch Josué Kouka, 09 mars 2016 10:35
0004-piwik-manage-get-hobo_json-from-stdin-10226.patch (1,53 ko) 0004-piwik-manage-get-hobo_json-from-stdin-10226.patch Josué Kouka, 09 mars 2016 10:35
0003-hobo-piwik-add-and-use-hobo-piwik-user-10226.patch (3,24 ko) 0003-hobo-piwik-add-and-use-hobo-piwik-user-10226.patch Josué Kouka, 09 mars 2016 10:35
0002-piwik-manage-use-http-when-https-connection-fails-10.patch (1,7 ko) 0002-piwik-manage-use-http-when-https-connection-fails-10.patch Josué Kouka, 09 mars 2016 10:35
0001-piwik-manage-use-rotating-file-logger-10226.patch (1,25 ko) 0001-piwik-manage-use-rotating-file-logger-10226.patch Josué Kouka, 09 mars 2016 10:35
0007-remove-attempt-to-connect-piwik-through-https-and-ht.patch (1,7 ko) 0007-remove-attempt-to-connect-piwik-through-https-and-ht.patch Josué Kouka, 19 mai 2016 18:40
0006-log-to-syslog-instead-of-file-10226.patch (2,63 ko) 0006-log-to-syslog-instead-of-file-10226.patch Josué Kouka, 19 mai 2016 18:40
0004-piwik-manage-get-hobo_json-from-stdin-10226.patch (1,53 ko) 0004-piwik-manage-get-hobo_json-from-stdin-10226.patch Josué Kouka, 19 mai 2016 18:40
0003-hobo-piwik-add-and-use-hobo-piwik-user-10226.patch (3,3 ko) 0003-hobo-piwik-add-and-use-hobo-piwik-user-10226.patch Josué Kouka, 19 mai 2016 18:40
0005-fix-Piwik-has-no-attribute-get_admin_zones-10227.patch (1012 octets) 0005-fix-Piwik-has-no-attribute-get_admin_zones-10227.patch Josué Kouka, 19 mai 2016 18:40
0002-piwik-manage-use-http-when-https-connection-fails-10.patch (1,7 ko) 0002-piwik-manage-use-http-when-https-connection-fails-10.patch Josué Kouka, 19 mai 2016 18:40
0001-piwik-manage-use-rotating-file-logger-10226.patch (1,25 ko) 0001-piwik-manage-use-rotating-file-logger-10226.patch Josué Kouka, 19 mai 2016 18:40
0005-fix-typo-in-sudo-hobo-agent-10226.patch (933 octets) 0005-fix-typo-in-sudo-hobo-agent-10226.patch Josué Kouka, 20 mai 2016 09:57
0004-log-to-syslog-instead-of-file-10226.patch (2,33 ko) 0004-log-to-syslog-instead-of-file-10226.patch Josué Kouka, 20 mai 2016 09:57
0003-fix-Piwik-has-no-attribute-get_admin_zones-10227.patch (1012 octets) 0003-fix-Piwik-has-no-attribute-get_admin_zones-10227.patch Josué Kouka, 20 mai 2016 09:57
0002-piwik-manage-get-hobo_json-from-stdin-10226.patch (1,23 ko) 0002-piwik-manage-get-hobo_json-from-stdin-10226.patch Josué Kouka, 20 mai 2016 09:57
0001-hobo-piwik-add-and-use-hobo-piwik-user-10226.patch (3,3 ko) 0001-hobo-piwik-add-and-use-hobo-piwik-user-10226.patch Josué Kouka, 20 mai 2016 09:57
0004-log-to-syslog-instead-of-file-10226.patch (4,63 ko) 0004-log-to-syslog-instead-of-file-10226.patch Josué Kouka, 20 mai 2016 12:38
0003-fix-Piwik-has-no-attribute-get_admin_zones-10227.patch (1012 octets) 0003-fix-Piwik-has-no-attribute-get_admin_zones-10227.patch Josué Kouka, 20 mai 2016 12:38
0002-piwik-manage-get-hobo_json-from-stdin-10226.patch (1,21 ko) 0002-piwik-manage-get-hobo_json-from-stdin-10226.patch Josué Kouka, 20 mai 2016 12:38
0001-hobo-piwik-add-and-use-hobo-piwik-user-10226.patch (18 ko) 0001-hobo-piwik-add-and-use-hobo-piwik-user-10226.patch Josué Kouka, 20 mai 2016 12:38
0005-improve-piwik-logging-coverage-and-return-response-a.patch (3,41 ko) 0005-improve-piwik-logging-coverage-and-return-response-a.patch Josué Kouka, 23 mai 2016 11:02
0004-log-to-syslog-instead-of-file-10226.patch (4,63 ko) 0004-log-to-syslog-instead-of-file-10226.patch Josué Kouka, 23 mai 2016 11:02
0003-fix-Piwik-has-no-attribute-get_admin_zones-10227.patch (1012 octets) 0003-fix-Piwik-has-no-attribute-get_admin_zones-10227.patch Josué Kouka, 23 mai 2016 11:02
0002-piwik-manage-get-hobo_json-from-stdin-10226.patch (1,21 ko) 0002-piwik-manage-get-hobo_json-from-stdin-10226.patch Josué Kouka, 23 mai 2016 11:02
0001-hobo-piwik-add-and-use-hobo-piwik-user-10226.patch (18 ko) 0001-hobo-piwik-add-and-use-hobo-piwik-user-10226.patch Josué Kouka, 23 mai 2016 11:02
0006-hobo-piwik-improve-piwik-logging-coverage-10226.patch (1,76 ko) 0006-hobo-piwik-improve-piwik-logging-coverage-10226.patch Josué Kouka, 23 mai 2016 18:07
0005-hobo-piwik-return-response-content-as-json-11028.patch (2,18 ko) 0005-hobo-piwik-return-response-content-as-json-11028.patch Josué Kouka, 23 mai 2016 18:07
0004-log-to-syslog-instead-of-file-10226.patch (4,63 ko) 0004-log-to-syslog-instead-of-file-10226.patch Josué Kouka, 23 mai 2016 18:07
0003-fix-Piwik-has-no-attribute-get_admin_zones-10227.patch (1012 octets) 0003-fix-Piwik-has-no-attribute-get_admin_zones-10227.patch Josué Kouka, 23 mai 2016 18:07
0002-piwik-manage-get-hobo_json-from-stdin-10226.patch (1,21 ko) 0002-piwik-manage-get-hobo_json-from-stdin-10226.patch Josué Kouka, 23 mai 2016 18:07
0001-hobo-piwik-add-and-use-hobo-piwik-user-10226.patch (18 ko) 0001-hobo-piwik-add-and-use-hobo-piwik-user-10226.patch Josué Kouka, 23 mai 2016 18:07
0001-hobo-piwik-improve-piwik-logging-coverage-10226.patch (1,75 ko) 0001-hobo-piwik-improve-piwik-logging-coverage-10226.patch Josué Kouka, 23 mai 2016 18:50

Révisions associées

Révision b4232b24 (diff)
Ajouté par Josué Kouka il y a presque 8 ans

hobo piwik : add and use hobo-piwik user(#10226)

Révision f0b2c3ed (diff)
Ajouté par Josué Kouka il y a presque 8 ans

piwik-manage : get hobo_json from stdin (#10226)

Révision a9e30ce2 (diff)
Ajouté par Josué Kouka il y a presque 8 ans

log to syslog instead of file (#10226)

Révision 3f51ea4a (diff)
Ajouté par Josué Kouka il y a presque 8 ans

hobo-piwik: improve piwik logging coverage (#10226)

Historique

#1

Mis à jour par Josué Kouka il y a environ 8 ans

#2

Mis à jour par Frédéric Péters il y a environ 8 ans

Hum, "améliorer" c'est vraiment trop vague. Et en l'espèce c'est vague parce qu'il y a des tonnes de trucs différents, dont des passages sur lesquels je m'interroge lourdement, genre .replace('https','http'), ou hobo_json = sys.stdin.readlines()[0].

#3

Mis à jour par Josué Kouka il y a environ 8 ans

Oui je reconnais que c'est assez vague.
Concernant le self.piwik_service['base_url'].replace('https','http'), la configuration est de tel sorte que c'est la machine didier ( "hyperviseur" de la vm) qui se charge de faire le https, sinon en local (sur la vm piwik meme) c'est du simple http.

#4

Mis à jour par Frédéric Péters il y a environ 8 ans

Oui je reconnais que c'est assez vague.

Reste à séparer le commit et à associer des messages corrects. (un pourrait concerner le logging, un autre la création et l'utilisation d'un utilisateur "hobo-piwik").

Concernant le self.piwik_service['base_url'].replace('https','http'), […]

Ça m'ennuie quand même vraiment d'avoir ce code, lié à une particularité du moment, et s'il doit vraiment être mis en place parce que sinon c'est trop compliqué, ça m'ennuie de l'avoir sans la moindre explication d'accompagnement. (et ça doit être un commit distinct).

#7

Mis à jour par Frédéric Péters il y a environ 8 ans

Concernant "get hobo_json from stdin", le fonctionnement des autres hobo_notify c'est d'utiliser stdin quand le chemin passé vaut "-"; le même comportement devrait être adopté ici.

#9

Mis à jour par Frédéric Péters il y a environ 8 ans

C'est un vieux patch qui a été attaché à nouveau ? (i.e. il ne répond pas du tout à mon commentaire comme quoi il faut regarder ce qui est passé et si c'est "-" alors utiliser stdin).

Aussi, il mêle un "elif cmd == 'hobo_notify'" qui n'a aucun rapport avec le sujet du commit.

#11

Mis à jour par Frédéric Péters il y a presque 8 ans

0004-piwik-manage-get-hobo_json-from-stdin-10226.patch : le code faisait avant sys.argv2, fait maintenant sys.argv3, comment ?

0001-piwik-manage-use-rotating-file-logger-10226.patch : même si le code ne change pas vraiment ça, [%(name)s.%(module)s.%(funcName)s] ça va donner [__main__.piwik-manage.<module>], c'est pas terrible.

0002-piwik-manage-use-http-when-https-connection-fails-10.patch : je continue à trouver ça très très bizarre et pas vraiment désirable, certainement pas sans une bonne explication du pourquoi, dans le code.

#12

Mis à jour par Benjamin Dauvergne il y a presque 8 ans

Pour le 0001 la pratique c'est d'envoyer à syslog, voir graylog, pas dans un fichier.

#14

Mis à jour par Josué Kouka il y a presque 8 ans

Frédéric Péters a écrit :

0004-piwik-manage-get-hobo_json-from-stdin-10226.patch : le code faisait avant sys.argv2, fait maintenant sys.argv3, comment ?

Oui, pour la simple raison qu'au départ, j'avais omis le base_url (J'aurai du faire un autre patch)

0001-piwik-manage-use-rotating-file-logger-10226.patch : même si le code ne change pas vraiment ça, [%(name)s.%(module)s.%(funcName)s] ça va donner [__main__.piwik-manage.<module>], c'est pas terrible.

J'avoue,

0002-piwik-manage-use-http-when-https-connection-fails-10.patch : je continue à trouver ça très très bizarre et pas vraiment désirable, certainement pas sans une bonne explication du pourquoi, dans le code.

Vu que la machine piwik est hébergée sur didier, c'est didier qui fait proxy. Le script piwik-manage.py lui s'execute sur la vm piwik. Maintenant que tu me fais reflechir
à ça, j'ai 2 solutions pour l'instant :
  • travailler uniquement en http
  • faire écouter piwik.monitoring.entrouvert.org sur 443
#15

Mis à jour par Josué Kouka il y a presque 8 ans

Benjamin Dauvergne a écrit :

Pour le 0001 la pratique c'est d'envoyer à syslog, voir graylog, pas dans un fichier.

Je corrige

#16

Mis à jour par Josué Kouka il y a presque 8 ans

Vu que la machine piwik est hébergée sur didier, c'est didier qui fait proxy. Le script piwik-manage.py lui s'execute sur la vm piwik. Maintenant que tu me fais reflechir
à ça, j'ai 2 solutions pour l'instant :
  • travailler uniquement en http
  • faire écouter piwik.monitoring.entrouvert.org sur 443

Thomas a fait la config pour que Piwik écoute sur le 443. Je vais modifier le code en conséquence

#18

Mis à jour par Benjamin Dauvergne il y a presque 8 ans

Faudrait virer les patchs 1 et 2, globalement il faudrait rebaser (il y a des scories dans le patch 4 aussi); aussi il y a une typo dans sudo-hobo-agent à la fin,

#20

Mis à jour par Benjamin Dauvergne il y a presque 8 ans

1. Enlever le .py à piwik-manage
2. Ne pas logger le ValueError, encadrer plutôt tout le traitement dans un try/except: log.exception() histoire de pouvoir brancher sentry, graylog, etc.. à un moment
4. Ajouter ce qu'il faut pour sentry à partir de la variable d'environnement SENTRY_DSN, voir debian/debian_config_common.py
5. À rebaser dans 0001

#22

Mis à jour par Benjamin Dauvergne il y a presque 8 ans

Les erreurs dans cmd.deploy() ne sont pas journalisées comme je le faisais remarquer dans mon point 2 plus haut, comme je le disais je mettrai un try/catch autour de tout le bloc « main ».

#24

Mis à jour par Benjamin Dauvergne il y a presque 8 ans

Dans le patch 5 il me semble que tu as mélangé un changement dans les retours des requêtes d'API (.json()) avec l'ajout du try/except..

Aussi dans tu pourrais mettre quelque chose dans le log.exception('').

#26

Mis à jour par Benjamin Dauvergne il y a presque 8 ans

Ok je pensais plus à un truc du genre exception(u"Error in piwik-manage hobo-deploy: %s", e).

#28

Mis à jour par Benjamin Dauvergne il y a presque 8 ans

Je me demande si le sys.exit() ne va pas se prendre les pieds dans le except(Exception) (c'est équivalent à raise SystemExit(x) normalement).

#29

Mis à jour par Josué Kouka il y a presque 8 ans

Benjamin Dauvergne a écrit :

Je me demande si le sys.exit() ne va pas se prendre les pieds dans le except(Exception) (c'est équivalent à raise SystemExit(x) normalement).

Après test, non il n'est pas capturé

#30

Mis à jour par Benjamin Dauvergne il y a presque 8 ans

Permet moi d'en douter:

$ python
>>> import sys
>>> try:
...    sys.exit(1)
... except:
...    print 'exit'
... 
exit
#31

Mis à jour par Benjamin Dauvergne il y a presque 8 ans

Non tu as raison, SystemExit n'a pas Exception pour parent, ack.

#32

Mis à jour par Josué Kouka il y a presque 8 ans

  • Statut changé de En cours à Résolu (à déployer)
  • % réalisé changé de 0 à 100
#33

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF