sonic-net / sonic-mgmt

Configuration management examples for SONiC
Other
173 stars 688 forks source link

[ntp]: Enable iburst when testing with a custom server #13489

Open saiarcot895 opened 5 days ago

saiarcot895 commented 5 days ago

Description of PR

Summary: Fixes # (issue)

Type of change

Back port request

Approach

What is the motivation for this PR?

202311 and newer images don't enable the iburst configuration for NTP servers by default. This means that if some packet happened to get lost or dropped, then NTP will take a long while to synchronize the time.

How did you do it?

Configure the iburst option manually here.

How did you verify/test it?

Tested on KVM, and added an iptables rule on my host manually to reject packets on UDP port 123. Then, verified to see that NTP sent out multiple client packets with the iburst option.

Any platform specific information?

Supported testbed topology if it's a new test case?

Documentation

mssonicbld commented 5 days ago

The pre-commit check detected issues in the files touched by this pull request. The pre-commit check is a mandatory check, please fix detected issues.

Detailed pre-commit check results:

trim trailing whitespace.................................................Passed
fix end of files.........................................................Passed
check yaml...........................................(no files to check)Skipped
check for added large files..............................................Passed
check python ast.........................................................Passed
flake8...................................................................Failed
- hook id: flake8
- exit code: 1

tests/ntp/test_ntp.py:82:121: E501 line too long (137 > 120 characters)

flake8...............................................(no files to check)Skipped
check conditional mark sort..........................(no files to check)Skipped

To run the pre-commit checks locally, you can follow below steps:

  1. Ensure that default python is python3. In sonic-mgmt docker container, default python is python2. You can run the check by activating the python3 virtual environment in sonic-mgmt docker container or outside of sonic-mgmt docker container.
  2. Ensure that the pre-commit package is installed:
    sudo pip install pre-commit
  3. Go to repository root folder
  4. Install the pre-commit hooks:
    pre-commit install
  5. Use pre-commit to check staged file:
    pre-commit
  6. Alternatively, you can check committed files using:
    pre-commit run --from-ref <commit_id> --to-ref <commit_id>