Appel à lancer des noeuds gtest duniter 1.9-dev

Avec @elois @Pini et @vit nous venons de faire fonctionner ce type de docker-compose, configuré pour lancer un noeud g1 test qui va se synchroniser au réseau:

version: '2.4'

services:
  duniter:
    environment:
      DUNITER_AUTO_SYNC: 'true'
      DUNITER_BMA_ENABLED: 'true'
      DUNITER_BMA_IPV4: 0.0.0.0
      DUNITER_BMA_PORT: '10901'
      DUNITER_BMA_REMOTE_HOST: gt1.p2p.legal
      DUNITER_GVA_ENABLED: 'true'
      DUNITER_GVA_REMOTE_HOST: gt1.p2p.legal
      DUNITER_SYNC_HOST: g1-test.duniter.org:443
      DUNITER_WS2_HOST: 0.0.0.0
      DUNITER_WS2_PORT: '20901'
      DUNITER_WS2_PUBLIC: 'true'
      DUNITER_WS2_REMOTE_HOST: gt1.p2p.legal
      DUNITER_WS2_REMOTE_PATH: ws2p
    image: duniter/duniter:dev
    ports:
    - 10901:10901
    - 20901:20901
    - 30901:30901
    volumes:
    - data:/var/lib/duniter
    - etc:/etc/duniter
volumes:
  data: null
  etc: null

Explications:

  • Elois a fait un gros boulo pour faire en sorte de pouvoir passer en variables d’environnements les données utilisateurs nécessaires aux fonctionnement de Duniter
  • Pour lancer plusieurs nœuds sur une seul machine, il vous suffit d’incrémenter les ports de la colonne de gauche (10902,10903, ect …) et de régler votre reverse proxy sur ces ports, seulement si vous désirez que votre nœud soit accessible via url.
  • Par defaut ce sont ici des volumes virtuels qui sont créés, docker les gères très bien tout seul.
    Vous pouvez accéder à ces volumes depuis le host ici: /var/lib/docker/volumes/duniter-test1_data/_data/duniter_default/data/
  • Vous pouvez utiliser docker exec -it pour executer des choses dans les container. Notamment, @elois vous dira un mot sur la nécessité de parfois utiliser dex ou d’autres choses dans les containers, lors de certaines mises à jours notamment.
  • Vous pouvez configurer ce docker-compose comme bon vous semble, tout est possible :slight_smile:

Nous avons besoin de beaucoup de noeuds !

Nous avons besoin qu’un maximum de personnes passent leur noeuds gtest sur duniter1.9-dev, c’est à dire sur le model de ce compose.
Avec une 20n de noeuds gtest, on va enfin pouvoir commencer à tester le réseau via GVA.
J’ai déjà 3 noeuds configurés sur ce compose qui tournent sur une VM de mon infra, sync remote ok, semblent stables depuis 2 jours.

Voici la liste des noeuds gtest 1.9-dev connus actuellement:

Utilisation

mkdir mon-noeud-gtest
cd mon-noeud-gtest
nano docker-compose.yaml (collez et configurez votre template)
docker-compose up -d

Pour voir les logs:

docker logs <containerNameOrID>
2 J'aime

Attention chaque fois que la structure d’une DB change (toutes les semaines en ce moment) vous aller devoir faire des manips spécifiques que je vous dirai, qui peuvent être différents à chaque fois. Faire tourner un nœud de dev demande beaucoup plus de rigueur et de suivi qu’un nœud en version stable.

Si vous souhaitez nous rejoindre dans ces tests, indiquez-le-moi (en MP ou en public ici selon votre préférence) et je vous dirai si je pense que vous avez le niveau pour ça ou pas.

Svp ne vous forcez pas, si vous n’avez pas le niveau ou pas le temps de suivre votre nœud de près votre participation pourrait être contre-productive !

Merci de votre compréhension :slight_smile:

De mon côté j’ai 2 nœuds membres dans 2 conteneurs docker sur une même VM:

https://gt.elo.tf/gva
https://gt.librelois.fr/gva
2 J'aime

Est-ce normal que je ne vois aucun des noeuds que vous citez ici lorsque je me synchronise sur g1-test.duniter.org ?

Qu’entend tu pars «ne pas voir » ?

tous ces nœuds (sauf gt3.p2p.legal) sons bien connues par g1-test.duniter.org/ :

http://g1-test.duniter.org/network/peers

Je fais des essais de synchro en boucle depuis plusieurs jours, et je vois toujours les 5 mêmes endpoints au démarrage de la synchro lorsque je référence g1-test.duniter.org. Dernier essai de cet après-midi :

2021-05-14T14:06:03+00:00 - info: Downloading Blockchain...
2021-05-14T14:06:03+00:00 - info: Connecting to address g1-test.duniter.org :443...
2021-05-14T14:06:03+00:00 - info: Connecting to address gt.moul.re :10902...
2021-05-14T14:06:03+00:00 - info: Connecting to address g1-test.pini.fr :443...
2021-05-14T14:06:03+00:00 - info: Connecting to address gtest.jytou.fr :443...
2021-05-14T14:06:03+00:00 - info: Connecting to address g1-test.duniter.org :10900...
2021-05-14T14:06:05+00:00 - info: Getting chunck #0/3020 from 0 to 249 on peer g1-test.duniter.org

Hm… Tout simplement parce que BMA n’est pas activé sur ces noeuds. C’est exprès ?

Oui le but est de tester GVA

J’ai bien compris. Mais ce serait utile d’avoir quelques endpoints BMA en plus pour faciliter la synchro. Est-ce que ça poserait un souci d’activer BMA en plus ?

Le but est justement de tester la synchro via GVA que je suis en train de développer

Ça ne répond pas à ma question :slight_smile:

Est-il possible de le tester sans Docker ? J’ai essayé duniter sync sur la branche dev mais ça a l’air d’être encore l’ancienne version…

1 J'aime

Ça sous-entendait non, pour mes 2 nœuds de test en tout cas :wink:

Oui bien sur, c’est juste que Docker c’est plus facile pour déployer plusieurs instances.

je suis en train de développer = pas encore sur la branche dev (qu’il faudrait renommer branche main d’ailleurs).

Comme ma question est tournée, j’intuite que ça veut plutôt dire « oui, ça pose un problème, mais on va pas t’expliquer parce qu’on a autre chose à faire là, tu comprends, on teste GVA »

Tant pis une fois de plus :frowning:

J’avoue que ça m’épuise…

Non non j’ai juste pas envie de prendre le temps de faire ça, car le temps que je peux attribuer à réaliser des taches techniques est trop précieux :slight_smile:

Pas envie de prendre le temps d’ajouter 4 variables d’environnement à un fichier docker-compose ?

Wow…

Le ferai quand faudra que je maj mes noeuds :wink:

J’ai ce node :

https://g1-test-dev.pini.fr

Avec ces endpoints :

    "GVA S g1-test-dev.pini.fr 443 gva",
    "GVASUB S g1-test-dev.pini.fr 443 gva-sub",
    "WS2P abb75f3e g1-test-dev.pini.fr 443 ws2p"

C’est bizarre que BMA n’apparaisse pas. J’ai pourtant défini :

      DUNITER_BMA_ENABLED: "true"
      DUNITER_BMA_IP4: "0.0.0.0"
      DUNITER_BMA_PORT: "10901"
      DUNITER_BMA_REMOTE_HOST: "g1-test-dev.pini.fr"
      DUNITER_BMA_REMOTE_PORT: "443"

Et le port 10901 de son instance Docker est bien ouvert :

PORT      STATE SERVICE
9220/tcp  open  unknown
10901/tcp open  unknown
20901/tcp open  unknown
30901/tcp open  unknown

Et dans la log :

2021-05-14T20:50:11+02:00 - info: BMA server listening on http://0.0.0.0:10901                                                                                                                                    

Dans ces conditions je comprends mieux que le endpoint BMA n’apparaisse pas non plus pour vos noeuds.

Quelle est la commande pour synchroniser via GVA ? C’est déjà possible ou c’est en WIP ?

Ce sera là même, duniter sync :slight_smile:

Non pas encore, là je développe les préparatifs indispensables pour pouvoir commencer à migrer la sync. Je dois notamment d’abord migrer la db des peers, tout est lié :wink:

1 J'aime

Je me rends compte qu’il n’est pas possible de finaliser la synchronisation de mon nœud sur la branche dev sur la Ğ1-test. Je ne sais pas si c’est le cas avec v1.8.1. Je ne trouve plus le post qui disait que c’était un problème de manque de points d’accès BMA.