Project

General

Profile

Scénario #21687

Étude : gestion du NTP sur EOLE 2.8.0

Added by Laurent Flori almost 6 years ago. Updated over 3 years ago.

Status:
Terminé (Sprint)
Priority:
Normal
Assigned To:
Category:
-
Start date:
04/28/2020
Due date:
06/12/2020
% Done:

100%

Story points:
4.0
Remaining (hours):
0.00 hour
Velocity based estimate:
Release:
Release relationship:
Auto

Description

Le service NTP partie serveur et client devrait être mieux maitrisée. Le programme utilisé aujourd'hui est ntp qui fournit la partie serveur et la partie client
Plusieurs problèmes:
- Le serveur ntpd n'accepte pas d'option timeout il en résulte que le si le serveur ou le pool de serveurs n'est pas joignable, le service ntp ne démarre pas mais ne tombe pas en timeout et l'instance peut "planter"
- Tous les clients cherchent à se synchroniser avec le serveur de temps (ou le pool) au démarrage des interfaces réseaux (via la commande ntpdate-debian) dans le cadre d'un etb1, les machines derrière l'Amon devraient pouvoir se synchroniser avec le serveur de temps de l'Amon.
- Sur la plupart des modules, si les machines ne sont pas synchronisées entre elles, cela n'empêche pas le bon fonctionnement des services. Mais sur le modules AD-DC, les differents DC doivent absolument être synchronisés entre eux.

Plusieurs options sont possibles voici une proposition:
Pour la partie serveur, on pourrait utiliser un autre programme que ntpd, par exemple chrony, qui accepte lui une option timeout
Pour les clients (chrony serait aussi utilisée), on pourrait ouvrir le port 123 sur le serveur Amon de sorte que les machines dans le(s) réseau(x) locaux protégées par l'Amon puissent utiliser le serveur de temps de l'Amon pour se mettre à l'heure.

On pourrait donc avoir une implémentation de chrony, en tant que serveur et client sur les Amon et sur les DC1, des et sur les autres modules chrony en tant que client. Ainsi on aurait la possibilité de mettre à jour à partir de serveurs de temps externes (cas pour l'Amon) et sur les autres modules un client chrony se synchronisant avec l'Amon.
Pour le cas spécifique des DC1, chrony pour être utilisé vers des serveurs externes ou vers un Amon en précisant bien une option timeout dans la configuration du client. Sur les dc secondaires, il faudrait les configurer pour qu'ils se mettent à jour depuis le serveur DC1 (ou éventuellement depuis le même serveur ou le même pool de serveurs que le DC1).

On pourrait donc réactiver la balise service pour le serveur ntp sans voir à gérer le start/restart via des scripts post*

chrony: https://chrony.tuxfamily.org/


Subtasks

Tâche #30177: Installer Chrony sur un scribe 2.7.2 fonctionnel pour tester l'outil et le fonctionnement en conditions opérationnelles.FerméPhilippe Caseiro

Tâche #30183: Implémenter un exemple de conf avec chrony dans eole-common FerméPhilippe Caseiro


Related issues

Related to eole-common - Tâche #21680: Ouvrir Le port 123 sur les interfaces internes de l'Amon Fermé 09/26/2017
Related to eole-common - Tâche #21573: Ajouter un timeout dans la configuration NTP ou à défaut, faire un override systemd Ne sera pas résolu 09/26/2017
Related to eole-common - Tâche #21574: Supprimer ou adapter le comportement dans 00-eole-common Ne sera pas résolu 09/26/2017
Related to Distribution EOLE - Tâche #29925: ntp est désormais en conflit avec systemd-timesyncd sur EOLE 2.8.0 Fermé 04/16/2020
Related to Distribution EOLE - Tâche #30218: Validation du scénario Étude : gestion du NTP sur EOLE 2.8.0 Fermé 05/29/2020

Associated revisions

Revision 3cf5e5d7 (diff)
Added by Fabrice Barconnière over 3 years ago

Use already existing function %%calc_classe instead of new %%mask_to_cidr
Typo in chrony.default template

ref #21687
ref #30218

History

#1 Updated by Laurent Flori almost 6 years ago

  • Description updated (diff)

#2 Updated by Laurent Flori almost 6 years ago

  • Related to Tâche #21680: Ouvrir Le port 123 sur les interfaces internes de l'Amon added

#3 Updated by Laurent Flori almost 6 years ago

  • Related to Tâche #21573: Ajouter un timeout dans la configuration NTP ou à défaut, faire un override systemd added

#4 Updated by Laurent Flori almost 6 years ago

  • Description updated (diff)

#5 Updated by Laurent Flori almost 6 years ago

  • Related to Tâche #21574: Supprimer ou adapter le comportement dans 00-eole-common added

#6 Updated by Laurent Flori almost 6 years ago

  • Description updated (diff)

#7 Updated by Laurent Flori almost 6 years ago

  • Description updated (diff)

#8 Updated by Gilles Grandgérard over 5 years ago

  • Tracker changed from Proposition Scénario to Scénario

A Voir : systemd-timesyncd / systemd-timedated

#9 Updated by Gilles Grandgérard over 5 years ago

  • Subject changed from Revoir la gestion du service NTP to EOLE 2.7.0 : Revoir la gestion du service NTP
  • Release set to EOLE 2.7.0

#10 Updated by Luc Bourdot about 5 years ago

  • Due date set to 09/14/2018
  • Target version set to sprint 2018 35-37 Equipe MENSR
  • Start date set to 08/27/2018

#11 Updated by Luc Bourdot about 5 years ago

  • Due date deleted (09/14/2018)
  • Target version deleted (sprint 2018 35-37 Equipe MENSR)
  • Start date deleted (08/27/2018)
  • Release changed from EOLE 2.7.0 to EOLE 2.7.1

#12 Updated by Joël Cuissinat about 4 years ago

  • Subject changed from EOLE 2.7.0 : Revoir la gestion du service NTP to EOLE 2.7 : Revoir la gestion du service NTP

#13 Updated by Joël Cuissinat about 4 years ago

  • Release deleted (EOLE 2.7.1)

#14 Updated by Joël Cuissinat over 3 years ago

  • Related to Tâche #29925: ntp est désormais en conflit avec systemd-timesyncd sur EOLE 2.8.0 added

#15 Updated by Joël Cuissinat over 3 years ago

  • Subject changed from EOLE 2.7 : Revoir la gestion du service NTP to Revoir la gestion du NTP sur EOLE 2.8.0
  • Release set to EOLE 2.8.0
  • Story points set to 4.0

#16 Updated by Joël Cuissinat over 3 years ago

  • Due date set to 04/30/2020
  • Target version set to sprint 2020 16-18 Equipe MENSR
  • Start date set to 04/14/2020

#17 Updated by Joël Cuissinat over 3 years ago

  • Target version changed from sprint 2020 16-18 Equipe MENSR to Prestation Cadoles MEN 19-21

#18 Updated by Joël Cuissinat over 3 years ago

  • Subject changed from Revoir la gestion du NTP sur EOLE 2.8.0 to Étude : gestion du NTP sur EOLE 2.8.0

#19 Updated by Joël Cuissinat over 3 years ago

  • Due date deleted (04/30/2020)
  • Target version deleted (Prestation Cadoles MEN 19-21)
  • Start date deleted (04/14/2020)

#20 Updated by Joël Cuissinat over 3 years ago

  • Due date set to 06/12/2020
  • Target version set to Prestation Cadoles MEN 22-24
  • Start date set to 04/28/2020

#21 Updated by Philippe Caseiro over 3 years ago

  • Assigned To set to Philippe Caseiro

#22 Updated by Philippe Caseiro over 3 years ago

Bonjour

L'utilisation de chrony n'est pas tellement différente de cette de ntp, d'un point de vue utilisateur, c'est totalement transparent.

Quand à mes "tests" pour tous les modules hors Seth et ScribeAD, aucune remarque, cela fonctionne a merveille.

Pour Seth, il faut juste bien faire attention à la signature mais c'était déjà le cas avec ntpd, je ne constate pas de problème avec les clients.

Pour ScribeAD, le NTP étant dans le conteneur, rien ne change, sur le maître, la remarque sur les autres modules, s'applique.

Afin d'avoir une idée et puisque j'y était vous trouverez une implémentation iso fonctionnelle avec l'ajout d'un timeout pour le démon puisque Chrony le supporte.

- branche de code : chrony
- branche de packaging : dist/eole/2.8.0/master-chrony (si vous voulez faire des paquets)

Si vous ne voulez pas faire de paquets mais malgré tout tester chrony sans détruire votre module EOLE, vous pouvez utiliser la petite procédure suivante :

  1. Lancer un module EOLE (n'importe lequel)
  2. Modifier le paquet chrony pour qu'il ne soit plus en conflit avec ntp (dirty by efficient)
    apt download chrony
    dpkg-deb -R chrony*.deb tmp/
    
    # Faire les changements dans le fichier "control" 
    vim tmp/DEBIAN/control
    
    # Reconstruire et installer le paquet
    dpkg-deb -b tmp chrony_custom.deb
    dpkg -i chrony_custom.deb
    
  3. Arrêter ntpd (service ntpd stop)
  4. Copier les sources de eole-common sur votre machine
  5. Je vous recommande de ne pas faire make install avec ce projet vous pourriez avoir des surprises.
  6. Copier les fichiers suivants aux bons endroits :
    • creole/funcs/mask_to_cidr.py /usr/share/creole/funcs/mask_to_cidr.py
    • diagnose/04-network /usr/share/eole/diagnose/04-network
    • dicos/00_ntp.xml /usr/share/eole/creole/dicos/00_ntp.xml
    • tmpl/chrony.conf /usr/share/eole/creole/distrib
    • tmpl/chrony.default /usr/share/eole/creole/distrib
  1. Relancer Creoled
  2. CreoleCat la configuration
    • CreoleCat -t chrony.conf
    • CreoleCat -t chrony.default
      1. Lancer Chrony (Attention il faut stoper ntpd avant)

#23 Updated by Joël Cuissinat over 3 years ago

  • Related to Tâche #30218: Validation du scénario Étude : gestion du NTP sur EOLE 2.8.0 added

#24 Updated by Fabrice Barconnière over 3 years ago

  • Status changed from Nouveau to Terminé (Sprint)

Also available in: Atom PDF