Test de la version Docker

Bonjour à tous,

Je sais que vous êtes déjà nombreux à tester la version 1.6.17 sur vos serveurs, mais si certains d’entre vous en ont la possibilité, j’aimerai avoir des retours sur la version Docker de cette 1.6.17. Vous pouvez la récupérer par

docker pull duniter/duniter-ts:test

Pour un bref mode d’emploi, vous pouvez regarder la description de l’image sur Docker Hub :

https://hub.docker.com/r/duniter/duniter-ts/

Si vous confirmez que la version Docker fonctionne aussi bien que la version normale, nous pourrons valider la MR et automatiser la génération des images.

Par ailleurs, si vous savez pourquoi mon image passe de 4 à 452MB, je suis également preneur, parce que ça me parait quand même beaucoup. Y aurait-il des caches que l’on pourrait supprimer (pour yarn, par exemple)…

1 « J'aime »

Je me réponds partiellement à moi-même : j’ai trouvé un répertoire de près de 300MB sur /usr/local/share/.cache/yarn. Est-ce que je peux le supprimer sans risque que ça ne fonctionne plus ?

Je pense que oui, yarn ne sert qu’a packager, et n’est pas utilisé par le binaire normalement :slight_smile:

1 « J'aime »

Dans ce cas, je re-génère une image.

Ah bah oui, je suis quand même passé à moins de 230MB ! Je fais quelques tests de routine et je remplace l’image précédente. Merci d’attendre quelques minutes (heures !) avant de récupérer l’image et la tester… EDIT : C’est bon, vous pouvez la prendre ! :slight_smile:

2 « J'aime »

J’ai (enfin) généré une nouvelle version pour la 1.6.21. Si certains veulent la tester :

docker pull duniter/duniter-ts:test
1 « J'aime »

Je suis en train de tester la version Docker. Comme je suis sur une machine derrière un routeur/pare-feu, je me demande quels sont les ports à ouvrir/transférer/exposer. Pour le moment, je transfère le port 20999 (que j’ai paramétré comme port visible de l’extérieur) sur le port 20901 de ma machine, qui est censé correspondre au 20901 de mon container. Tout ça en protocole TCP. Est-ce suffisant ? Pour le moment, mon nœud sur Docker n’arrive à se connecter à aucun pair, et j’ai ça dans la trace :

2018-03-09T06:36:48+00:00 info WS2P: init: bundle of peers 5/6
2018-03-09T06:36:48+00:00 error WS2P >>> >>> WS ERROR: REJECTED_PUBKEY_OR_INCORRECT_ASK_SIGNATURE_FROM_REMOTE
2018-03-09T06:36:48+00:00 error WS2P >>> >>> WS ERROR: REJECTED_PUBKEY_OR_INCORRECT_ASK_SIGNATURE_FROM_REMOTE
2018-03-09T06:36:56+00:00 error WS2P >>> >>> WS ERROR: REJECTED_PUBKEY_OR_INCORRECT_ASK_SIGNATURE_FROM_REMOTE
2018-03-09T06:37:03+00:00 info WS2P: Could not connect to peer ChU8caZa using `WS2P potager.foyerruralct.fr 20902: WS2P connection timeout`
2018-03-09T06:37:03+00:00 info WS2P: Could not connect to peer HmH5beJq using `WS2P g1.le-sou.org 10091: WS2P connection timeout`
2018-03-09T06:37:03+00:00 info WS2P: Could not connect to peer FEkbc4Bf using `WS2P me.jytou.fr 9009: WS2P connection timeout`
2018-03-09T06:37:03+00:00 info WS2P: Could not connect to peer DsEx1pS3 using `WS2P 51.15.2.211 10900: WS2P connection timeout`
2018-03-09T06:37:03+00:00 info WS2P: Could not connect to peer 9UuWHs3Z using `WS2P g1.neptura.org 20901: WS2P connection timeout`
2018-03-09T06:37:03+00:00 info WS2P: init: bundle of peers 6/6
2018-03-09T06:37:03+00:00 error WS2P >>> >>> WS ERROR: INCORRECT_PUBKEY_FOR_REMOTE
2018-03-09T06:37:03+00:00 error WS2P >>> >>> WS ERROR: REJECTED_PUBKEY_OR_INCORRECT_ASK_SIGNATURE_FROM_REMOTE
2018-03-09T06:37:05+00:00 error WS2P >>> >>> WS ERROR: REJECTED_PUBKEY_OR_INCORRECT_ASK_SIGNATURE_FROM_REMOTE
2018-03-09T06:37:18+00:00 info WS2P: Could not connect to peer 4FgeWzpW using `WS2P duniter.rml9-lehavre.tk 20901: WS2P connection timeout`
2018-03-09T06:37:18+00:00 info WS2P: Could not connect to peer 5MLgK7EK using `WS2P 88.174.120.187 20900: WS2P connection timeout`
2018-03-09T06:37:18+00:00 info WS2P: Could not connect to peer AmDcZSEB using `WS2P 91.161.185.155 20901: WS2P connection timeout`
2018-03-09T06:37:18+00:00 info WS2P: Could not connect to peer 2sZF6j2P using `WS2P duniter.g1.1000i100.fr 443: WS2P connection timeout`
2018-03-09T06:38:21+00:00 error Error: timeout
    at Timeout._onTimeout (/duniter/duniter-ts/node_modules/nat-upnp/lib/nat-upnp/client.js:187:14)
    at ontimeout (timers.js:475:11)
    at tryOnTimeout (timers.js:310:5)
    at Timer.listOnTimeout (timers.js:270:5)
2018-03-09T06:39:48+00:00 info Sibling endpoints:
2018-03-09T06:39:48+00:00 info ✔ PEER 3b2C5JpM
2018-03-09T06:39:48+00:00 info Next peering signal in 32 min

@cgeek ou @elois, vous avez peut-être une idée ? Qui avait déjà fait tourner un nœud sur Docker ?

Je précise que la synchronisation semble s’être bien déroulée.

Oui, c’est un petit UP !

@elois ou @cgeek, j’ai vérifié les paramètres de mon pare-feu, et cela semble fonctionner correctement. Mon image Docker est actuellement joignable en WS2P sur g1.neptura.org:20999.

Pourtant, cela ne fonctionne toujours pas, je ne me connecte à aucun pair. Est-ce que c’était le bug que vous aviez avec Nodejs 8 ?

Est-ce que depuis Docker tu peux accéder au web ? Ce serait une 1ère chose à vérifier.

À priori, je dirai oui, puisque j’ai pu faire la synchronisation…

OK. Peux-tu me donner l’adresse du script Docker ? Que je vérifie les commandes exécutées. A priori je dirais que ton nœud ne connaît tout simplement aucun pair.

Pourtant, dans l’onglet peers, j’ai bien la liste de tout le monde.

Les fichiers de génération de l’image :

Si tu veux récupérer directement l’image pour faire des tests, tu peux faire :

docker pull duniter/duniter-ts:test

OK, tout à l’air bon, mais comme c’est dans un Docker je vais te conseille 2 choses :

  • désactiver WS2P Public
  • recommencer une synchronisation complète

Aussi, peux-tu donner la clé publique du nœud, pour que je surveille ?

La clé publique :

3b2C5JpMhZk5yWS8MSW1w9nagkEpmGRuKmaezUU7J7t9

Qu’est-ce que la désactivation du WS2P public est censé faire ?

OK, j’ai resynchronisé et arrêté le WS2P public. Le nœud est maintenant connecté à 4 pairs (connexions privées).

1 « J'aime »

Est-ce que je remets en place le WS2P public ?

Tu peux essayer oui.

J’ai redémarré les connexions entrantes. Ça continue à fonctionner normalement, mais les connexions entrantes sont toujours refusées :

2018-03-10T15:00:25+00:00 - info: WS2P 3b2C5JpMhZk5yWS8MSW1w9nagkEpmGRuKmaezUU7J7t9: new incoming connection from 163.172.91.39:60012!
2018-03-10T15:00:26+00:00 - info: WS2P 3b2C5JpMhZk5yWS8MSW1w9nagkEpmGRuKmaezUU7J7t9: new incoming connection from 88.189.14.141:60830!
2018-03-10T15:00:27+00:00 - info: ✔ PEER 6Cq3iqhU
2018-03-10T15:00:28+00:00 - info: ⬇ TX 0:10000 from GpoJ1PjsNGNyz7VgfP1iVpU1Kee2rFJ9Ad2i26i94kep
2018-03-10T15:00:28+00:00 - info: ✘ TX 0:10000 from GpoJ1PjsNGNyz7VgfP1iVpU1Kee2rFJ9Ad2i26i94kep
2018-03-10T15:00:28+00:00 - warn:  httpCode=400, ucode=2030, message=Transaction already processed
2018-03-10T15:00:38+00:00 - info: ✔ PEER gtAf2Rm7
2018-03-10T15:00:40+00:00 - warn: WS2P: cannot connect to incoming WebSocket connection: WS2P connection timeout
2018-03-10T15:00:41+00:00 - warn: WS2P: cannot connect to incoming WebSocket connection: WS2P connection timeout

On dirait qu’il commence à accepter des connexions… ?

Je viens de changer les paramètres pour prendre ma clé de membre et voir si les blocs se calculent :

9UuWHs3ZDvV4EiViDGf2zJKNUa8V2ot7hH2zPD1C1sj1

Ça semble bien calculer, mais le nœud a toujours du mal pour accepter les connexions entrantes.