Synchronization status

All devices managed by CNaaS-NMS has a synchronization status that can be true (meaning synchronized) or false (not synchronized). This status is true if NMS thinks that all the device configuration is exactly as generated by NMS according to the last settings, templates and API/DB data. If after refreshing settings for example NMS detects that settings files for one device was changed, that device will be marked as unsynchronized.

If device configuration is changed via some out-of-band method from NMS like a user logging in on to a device via SSH and making configuration changes, NMS will not detect that so the device might still show synchronized: true.

Events causing devices to become unsynchronized:

  • Settings repo is updated, devices are marked unsynchronized depending on what files changed:

    • global → all devices becomes unsynchronized

    • access/dist/core → all devices of this type become unsynchronized

    • device/<hostname> → that hostname becomes unsynchronized

  • Templates repo is updated:

    • Based upon dependencies in mapping.yml and which files was updated devices become unsynchronized

  • syncto touches a device and discovers it’s been modified outside of NMS (config hash mismatch)

  • Interfaces are updated via device interfaces API

  • ZTP of new device will affect neighbor devices

  • Device is moved to UNMANAGED state

  • Device upgrade (post_flight step) is performed (since v1.2.0)

  • Mgmtdomain is added/removed/changed (since v1.2.0)

  • Linknet added/removed via API (since v1.3.0)

  • Commit confirm failed (since v1.5.0)

Events causing devices to become synchronized:

  • Syncto liverun pushes new config to device

  • Syncto dryrun noticing there is no diff to be applied