From 61c7bd9912f36784ed3aa05d2b332ea75cc061bb Mon Sep 17 00:00:00 2001 From: Sergei Petrosian <30409084+spetrosi@users.noreply.github.com> Date: Mon, 11 Sep 2023 12:35:21 +0200 Subject: [PATCH] docs(changelog): version 1.7.7 [citest skip] (#208) Update changelog and .README.html for version 1.7.7 Signed-off-by: Sergei Petrosian --- .README.html | 318 +++++++++++++++++++++++++++++++++++++++++++++++++++ CHANGELOG.md | 68 +++++++++++ 2 files changed, 386 insertions(+) create mode 100644 .README.html diff --git a/.README.html b/.README.html new file mode 100644 index 0000000..b50a7bc --- /dev/null +++ b/.README.html @@ -0,0 +1,318 @@ + + + + + + + + timesync + + + + + + +
+
+

timesync

+
+
+ +
+

This role installs and configures an NTP and/or PTP implementation to +operate

+ + +

as an NTP client and/or PTP slave in order to synchronize the system +clock with

+ + +

NTP servers and/or grandmasters in PTP domains. Supported NTP/PTP +implementations are chrony, ntp (the reference implementation) and +linuxptp.

+

Warning

+

The role replaces the configuration of the given or detected provider +service on the managed host. Previous settings will be lost, even if +they are not specified in the role variables (no attempt is made to +preserve or merge the previous settings, the configuration files are +replaced entirely). The only setting which is preserved is the choice of +provider if timesync_ntp_provider is not defined (see the +description of this variable below).

+

Role Variables

+

The variables that can be passed to this role are as follows:

+
# List of NTP servers
+timesync_ntp_servers:
+  - hostname: foo.example.com   # Hostname or address of the server
+    minpoll: 4                  # Minimum polling interval (default 6)
+    maxpoll: 8                  # Maximum polling interval (default 10)
+    iburst: true                # Flag enabling fast initial synchronization
+                                # (default false)
+    pool: false                 # Flag indicating that each resolved address
+                                # of the hostname is a separate NTP server
+                                # (default false)
+    nts: false                  # Flag enabling Network Time Security (NTS)
+                                # authentication mechanism (default false,
+                                # supported only with chrony >= 4.0)
+    prefer: false               # Flag marking the source to be preferred for
+                                # synchronization over other sources
+                                # (default false)
+    trust: false                # Flag marking the source to be trusted over
+                                # sources that don't have this flag
+                                # (default false)
+    xleave: false               # Flag enabling interleaved mode (default false)
+    filter: 1                   # Number of NTP measurements per clock update
+                                # (default 1)
+
+# List of PTP domains
+timesync_ptp_domains:
+  - number: 0                   # PTP domain number
+    interfaces: [eth0]          # List of interfaces in the domain
+    delay: 0.000010             # Assumed maximum network delay to the
+                                # grandmaster in seconds # wokeignore:rule=master
+                                # (default 100 microsecond)
+    transport: UDPv4            # Network transport: UDPv4, UDPv6, L2
+                                # (default UDPv4)
+    udp_ttl: 1                  # TTL for UDPv4 and UDPv6 transports
+                                # (default 1)
+    hybrid_e2e: false           # Flag enabling unicast end-to-end delay
+                                # requests (default false)
+
+# Flag enabling use of NTP servers provided by DHCP (default false)
+timesync_dhcp_ntp_servers: false
+
+# Minimum offset of the clock which can be corrected by stepping (default is
+# specific to NTP/PTP implementation: chrony 1.0, ntp 0.128, linuxptp 0.00002).
+# Zero threshold disables all steps.
+timesync_step_threshold: 1.0
+
+# Maximum root distance to accept measurements from NTP servers
+# Set to 0 to use provider default
+timesync_max_distance: 0
+
+# Minimum number of selectable time sources required to allow synchronization
+# of the clock (default 1)
+timesync_min_sources: 1
+
+# List of interfaces which should have hardware timestamping enabled for NTP
+# (default empty list). As a special value, '*' enables the timestamping on all
+# interfaces that support it.
+timesync_ntp_hwts_interfaces: ["*"]
+
+# Name of the package which should be installed and configured for NTP.
+# Possible values are "chrony" and "ntp". If not defined, the currently active
+# or enabled service will be configured. If no service is active or enabled, a
+# package specific to the system and its version will be selected.
+timesync_ntp_provider: chrony
+
+# Sometimes administrators might need extended configurations for chrony which
+# are not covered by the predefined settings provided by this role.
+# 'timesync_chrony_custom_settings' allows to define a list of custom settings
+# for the chrony.conf file, by providing a list of settings. As an example,
+# for debugging, one might need to log mesurements, statistics and tracking.
+# This information is usually stored in the /var/log/chrony directory. For
+# that, one needs to define two different settings (logdir and log), as
+# follows:
+timesync_chrony_custom_settings:
+  - "logdir /var/log/chrony"
+  - "log measurements statistics tracking"
+

Example Playbooks

+

Install and configure ntp to synchronize the system clock with three +NTP servers:

+
- name: Manage timesync with 3 servers
+  hosts: targets
+  vars:
+    timesync_ntp_servers:
+      - hostname: foo.example.com
+        iburst: true
+      - hostname: bar.example.com
+        iburst: true
+      - hostname: baz.example.com
+        iburst: true
+  roles:
+    - linux-system-roles.timesync
+

Install and configure linuxptp to synchronize the system clock with +a

+ + +

grandmaster in PTP domain number 0, which is accessible on interface +eth0:

+
- name: Manage timesync in PTP domain 0, interface eth0
+  hosts: targets
+  vars:
+    timesync_ptp_domains:
+      - number: 0
+        interfaces: [eth0]
+  roles:
+    - linux-system-roles.timesync
+

Install and configure chrony and linuxptp to synchronize the system +clock with multiple NTP servers and PTP domains for a highly accurate +and resilient synchronization:

+
- name: Manage multiple NTP servers and PTP domains
+  hosts: targets
+  vars:
+    timesync_ntp_servers:
+      - hostname: foo.example.com
+        maxpoll: 6
+      - hostname: bar.example.com
+        maxpoll: 6
+      - hostname: baz.example.com
+        maxpoll: 6
+    timesync_ptp_domains:
+      - number: 0
+        interfaces: [eth0, eth1]
+        transport: L2
+        delay: 0.000010
+      - number: 1
+        interfaces: [eth2]
+        transport: UDPv4
+        delay: 0.000010
+  roles:
+    - linux-system-roles.timesync
+

Install and configure chrony with multiple NTP servers and custom +advanced settings: log measurements, +statistics and tracking into +/var/log/chrony:

+
- name: Manage with custom advanced settings
+  hosts: targets
+  vars:
+    timesync_ntp_servers:
+      - hostname: foo.example.com
+      - hostname: bar.example.com
+      - hostname: baz.example.com
+    timesync_chrony_custom_settings:
+      - "logdir /var/log/chrony"
+      - "log measurements statistics tracking"
+  roles:
+    - linux-system-roles.timesync
+
+ + diff --git a/CHANGELOG.md b/CHANGELOG.md index bb8d9f6..2b640e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,74 @@ Changelog ========= +[1.7.7] - 2023-09-11 +-------------------- + +### Other Changes + +- ci: Add markdownlint, test_converting_readme, and build_docs workflows (#205) + + - markdownlint runs against README.md to avoid any issues with + converting it to HTML + - test_converting_readme converts README.md > HTML and uploads this test + artifact to ensure that conversion works fine + - build_docs converts README.md > HTML and pushes the result to the + docs branch to publish dosc to GitHub pages site. + - Fix markdown issues in README.md + + Signed-off-by: Sergei Petrosian + +- docs: Make badges consistent, run markdownlint on all .md files (#206) + + - Consistently generate badges for GH workflows in README RHELPLAN-146921 + - Run markdownlint on all .md files + - Add custom-woke-action if not used already + - Rename woke action to Woke for a pretty badge + + Signed-off-by: Sergei Petrosian + +- ci: Remove badges from README.md prior to converting to HTML (#207) + + - Remove thematic break after badges + - Remove badges from README.md prior to converting to HTML + + Signed-off-by: Sergei Petrosian + + +[1.7.7] - 2023-09-11 +-------------------- + +### Other Changes + +- ci: Add markdownlint, test_converting_readme, and build_docs workflows (#205) + + - markdownlint runs against README.md to avoid any issues with + converting it to HTML + - test_converting_readme converts README.md > HTML and uploads this test + artifact to ensure that conversion works fine + - build_docs converts README.md > HTML and pushes the result to the + docs branch to publish dosc to GitHub pages site. + - Fix markdown issues in README.md + + Signed-off-by: Sergei Petrosian + +- docs: Make badges consistent, run markdownlint on all .md files (#206) + + - Consistently generate badges for GH workflows in README RHELPLAN-146921 + - Run markdownlint on all .md files + - Add custom-woke-action if not used already + - Rename woke action to Woke for a pretty badge + + Signed-off-by: Sergei Petrosian + +- ci: Remove badges from README.md prior to converting to HTML (#207) + + - Remove thematic break after badges + - Remove badges from README.md prior to converting to HTML + + Signed-off-by: Sergei Petrosian + + [1.7.6] - 2023-07-19 --------------------