Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/saltstack-formulas/napalm-ntp-formula
Formula to manage the NTP configuration on network devices, following the OpenConfig system YANG model: http://ops.openconfig.net/branches/master/openconfig-interfaces.html
https://github.com/saltstack-formulas/napalm-ntp-formula
automation formula napalm network ntp openconfig salt saltstack yang yang-model
Last synced: 2 days ago
JSON representation
Formula to manage the NTP configuration on network devices, following the OpenConfig system YANG model: http://ops.openconfig.net/branches/master/openconfig-interfaces.html
- Host: GitHub
- URL: https://github.com/saltstack-formulas/napalm-ntp-formula
- Owner: saltstack-formulas
- License: apache-2.0
- Created: 2017-01-17T14:41:37.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-09-25T09:01:21.000Z (about 7 years ago)
- Last Synced: 2024-05-01T15:18:54.996Z (7 months ago)
- Topics: automation, formula, napalm, network, ntp, openconfig, salt, saltstack, yang, yang-model
- Language: HTML
- Homepage: https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html
- Size: 16.6 KB
- Stars: 4
- Watchers: 42
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
==================
napalm-ntp-formula
==================Salt formula to manage the NTP configuration on network devices, managed via
`NAPALM `_,
either running under a `proxy minion `_,
or installing the ``salt-minion`` directly on the network device (if the operating system permits).Check the `Salt Formulas instructions `_ to understand how to install and use formulas.
Available states
================.. contents::
:local:``netconfig``
-------------Generate the configuration using Jinja templates and load the rendered configuration on the network device. The
templates are pre-written for several operating systems:- Junos
- Cisco IOS-XR
- Arista EOS
- Cisco IOS
- Cisco NX-OSIf you have a different operating system not covered yet, please submit a PR to add it.
Pillar
======The pillar has the same structure in both cases, following the hierarchy of the
`openconfig-system YANG model `_, e.g.:.. code-block:: yaml
openconfig-system:
system:
ntp:
config:
ntp_source_address: 10.10.10.1
ntp_source_interface: Loopback0
ntp_serve_all: true
ntp_update_calendar: true
ntp_keys:
ntp_key:
1:
config:
key_type: md5
key_value: secretntpkey
servers:
server:
172.17.19.1:
config:
association_type: SERVER
prefer: true
iburst: true
172.17.19.2:
config:
association_type: PEER
version: 2.. note::
Some platforms may not support several options, e.g.:- ``iburst`` is not available on Junos and NX-OS.
- ``ntp-keys`` is ignored on IOS-XR.
- ``version`` is not available on NX-OS.
- ``ntp_source_interface`` is not available on Junos.
- ``ntp_serve_all`` is only available on EOS: Permit NTP requests received on any interface.
- ``ntp_update_calendar`` is only available on IOS-XR: Periodically update calendar with NTP time.Usage
=====After configuring the pillar data (and refresh it to the minions, i.e. ``$ sudo salt '*' saltutil.refresh_pillar``),
you can run this formula:.. code-block:: bash
$ sudo salt '*' state.sls ntp.netconfig
Output Example:
.. code-block:: bash
$ sudo salt vmx1 state.sls ntp.netconfig
vmx1:
----------
ID: oc_ntp_netconfig
Function: netconfig.managed
Result: True
Comment: Configuration changed!
Started: 14:43:55.454470
Duration: 3884.221 ms
Changes:
----------
diff:
[edit system]
+ ntp {
+ server 172.17.19.1;
+ peer 172.17.19.2;
+ }Summary for vmx1
------------
Succeeded: 1 (changed=1)
Failed: 0
------------
Total states run: 1
Total run time: 3.884 s``test_netconfig``
------------------To avoid testing the state directly on the network device, you can use this
state to save the contents in a temporary file, and display the rendered content
on the command line:.. code-block:: bash
$ sudo salt '*' state.sls ntp.test_netconfig
Output example:
.. code-block:: bash
$ sudo salt vmx state.sls ntp.test_netconfig
vmx1:
----------
ID: file.read
Function: module.run
Result: True
Comment: Module function file.read executed
Started: 16:18:49.456620
Duration: 0.884 ms
Changes:
----------
ret:
system {
replace:
ntp {
source-address 10.10.10.1;
authentication-key 1 type md5 value secretntpkey;
server 172.17.19.1 prefer version 4;
peer 172.17.19.2 version 2;
}
}``netyang``
-----------