Projet

Général

Profil

Scénario #21687

Étude : gestion du NTP sur EOLE 2.8.0

Ajouté par Laurent Flori il y a plus de 6 ans. Mis à jour il y a presque 4 ans.

Statut:
Terminé (Sprint)
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
28/04/2020
Echéance:
12/06/2020
% réalisé:

100%

Points de scénarios:
4.0
Restant à faire (heures):
0.00 heure
Estimation basée sur la vélocité:
Release:
Liens avec la release:
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/


Sous-tâches

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


Demandes liées

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

Révisions associées

Révision 3cf5e5d7 (diff)
Ajouté par Fabrice Barconnière il y a presque 4 ans

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

ref #21687
ref #30218

Historique

#1 Mis à jour par Laurent Flori il y a plus de 6 ans

  • Description mis à jour (diff)

#2 Mis à jour par Laurent Flori il y a plus de 6 ans

  • Lié à Tâche #21680: Ouvrir Le port 123 sur les interfaces internes de l'Amon ajouté

#3 Mis à jour par Laurent Flori il y a plus de 6 ans

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

#4 Mis à jour par Laurent Flori il y a plus de 6 ans

  • Description mis à jour (diff)

#5 Mis à jour par Laurent Flori il y a plus de 6 ans

  • Lié à Tâche #21574: Supprimer ou adapter le comportement dans 00-eole-common ajouté

#6 Mis à jour par Laurent Flori il y a plus de 6 ans

  • Description mis à jour (diff)

#7 Mis à jour par Laurent Flori il y a plus de 6 ans

  • Description mis à jour (diff)

#8 Mis à jour par Gilles Grandgérard il y a plus de 6 ans

  • Tracker changé de Proposition Scénario à Scénario

A Voir : systemd-timesyncd / systemd-timedated

#9 Mis à jour par Gilles Grandgérard il y a environ 6 ans

  • Sujet changé de Revoir la gestion du service NTP à EOLE 2.7.0 : Revoir la gestion du service NTP
  • Release mis à EOLE 2.7.0

#10 Mis à jour par Luc Bourdot il y a plus de 5 ans

  • Echéance mis à 14/09/2018
  • Version cible mis à sprint 2018 35-37 Equipe MENSR
  • Début mis à 27/08/2018

#11 Mis à jour par Luc Bourdot il y a plus de 5 ans

  • Echéance 14/09/2018 supprimé
  • Version cible sprint 2018 35-37 Equipe MENSR supprimé
  • Début 27/08/2018 supprimé
  • Release changé de EOLE 2.7.0 à EOLE 2.7.1

#12 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Sujet changé de EOLE 2.7.0 : Revoir la gestion du service NTP à EOLE 2.7 : Revoir la gestion du service NTP

#13 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Release EOLE 2.7.1 supprimé

#14 Mis à jour par Joël Cuissinat il y a environ 4 ans

  • Lié à Tâche #29925: ntp est désormais en conflit avec systemd-timesyncd sur EOLE 2.8.0 ajouté

#15 Mis à jour par Joël Cuissinat il y a environ 4 ans

  • Sujet changé de EOLE 2.7 : Revoir la gestion du service NTP à Revoir la gestion du NTP sur EOLE 2.8.0
  • Release mis à EOLE 2.8.0
  • Points de scénarios mis à 4.0

#16 Mis à jour par Joël Cuissinat il y a environ 4 ans

  • Echéance mis à 30/04/2020
  • Version cible mis à sprint 2020 16-18 Equipe MENSR
  • Début mis à 14/04/2020

#17 Mis à jour par Joël Cuissinat il y a environ 4 ans

  • Version cible changé de sprint 2020 16-18 Equipe MENSR à Prestation Cadoles MEN 19-21

#18 Mis à jour par Joël Cuissinat il y a presque 4 ans

  • Sujet changé de Revoir la gestion du NTP sur EOLE 2.8.0 à Étude : gestion du NTP sur EOLE 2.8.0

#19 Mis à jour par Joël Cuissinat il y a presque 4 ans

  • Echéance 30/04/2020 supprimé
  • Version cible Prestation Cadoles MEN 19-21 supprimé
  • Début 14/04/2020 supprimé

#20 Mis à jour par Joël Cuissinat il y a presque 4 ans

  • Echéance mis à 12/06/2020
  • Version cible mis à Prestation Cadoles MEN 22-24
  • Début mis à 28/04/2020

#21 Mis à jour par Philippe Caseiro il y a presque 4 ans

  • Assigné à mis à Philippe Caseiro

#22 Mis à jour par Philippe Caseiro il y a presque 4 ans

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 Mis à jour par Joël Cuissinat il y a presque 4 ans

  • Lié à Tâche #30218: Validation du scénario Étude : gestion du NTP sur EOLE 2.8.0 ajouté

#24 Mis à jour par Fabrice Barconnière il y a presque 4 ans

  • Statut changé de Nouveau à Terminé (Sprint)

Formats disponibles : Atom PDF