03-24-2021 07:40 AM
Dear all,
I had some difficulty understanding how nso behaves while i am doing some testing. My tests included
1/ some config changes on a given device through device-manager and service
2/ upgrading and downgrading service templates
Then i took some time to do some basic testing.
Now it seems very straightforward, as this scenarios are already mentioned in many community topics and other available material, and may be i wouldn't have opened this thread at all. But i needed to do this testing to digest how nso behaves, and as it is already available i wanted to post it here for the benefit of general audience.
Test cases are in the attached file.
commit & re-deploy :
commit-conclusion1 : NSO doesn't connect and check device for commit-dry-run, displays the result according to nso-device-manager config. When service is committed, if device is in sync, NSO writes to device and nso-device-manager, if not in sync, gives out-of-sync error
commit-conclusion2 : if nso-device-manager is same like template, then, as nso is not supposed to write anything to device, it doesn't connect and check device.. Hence, it is required to do sync-from before applying service. In anyways, this doesn't lead to inconsistent operation, as after sync-from and service re-deploy, device will be updated also
redeploy-conclusion1 : same like commit case : NSO doesn't connect and check device for re-deploy-dry-run, show the conclusion according to nso-device-manager config. When service is re-deployed, if device is in sync, NSO writes to device and nso-device-manager, if not in sync, gives out-of-sync error
redeploy-conclusion2 : same like commit case : if nso-device-manager is same like template, then as nso is not supposed to write any thing to device, it doesn't connect and check device.. Hence, it is required to do sync-from before appying service. In anyways, this doen't lead to inconsistent operation, as after sync-from and service re-deploy, device will be updated also
template-up-down-grading conclusion : nso behaves the same way, while adding new configs to template or deleting configs from template.. But there is difference as what we see..:
> while adding new config to template : after 2. ( bigger ) template is compiled then service is re-deployed ( and newly added config to 2. template is already in the device), if you do "no service" before reconcile newly added config to 2. template will not be deleted, but if you do "no service" after reconcile newly added config will be deleted.
> while deleting some config from template, after 2. (smaller) template is compiled, after re-deploy, if we do "no service" this config is not deleted or added, because if it was not there nso didn't do any thing so nothing to reverse and if it was there, it is already reconciled as it is nso who deleted it.
Any question or correction or addition is wellcome.
Regards.