07-09-2020 11:13 AM
Guys,
In case where YANG model changes, so that necessary service template adjustments are necessary, is there any way for the service to use both old and new NED models in the template? For example, old NED uses leaf-list:
<ip xmlns="http://tail-f.com/ned/arista-dcs"> <routing> <vrf>{$VAR_VRF}</vrf> </routing> </ip>
while the new requires additional container for the same purpose:
<ip xmlns="http://tail-f.com/ned/arista-dcs"> <routing> <vrf> <vrf-id>{$VAR_VRF}</vrf-id> </vrf> </routing> </ip>
With incorrect model, service package just won't load.
Unfortunetely there's no way (that I am aware of) to use per-version namespace, so we can't have something like:
<ip xmlns="http://tail-f.com/ned/arista-dcs-5.12"> <routing> <vrf>{$VAR_VRF}</vrf> </routing> </ip> <ip xmlns="http://tail-f.com/ned/arista-dcs-5.16"> <routing> <vrf> <vrf-id>{$VAR_VRF}</vrf-id> </vrf> </routing> </ip>
Would you recommend the following NED migration procedure for such cases?
1) Load both NED versions
2) Update service code to align to the new NED model
3) Update service package on NSO, and leave it non-functional after package reload
4) Migrate device NEDs
5) Reload packages to bring back service to life
Solved! Go to Solution.
07-09-2020 12:04 PM
07-09-2020 12:04 PM
07-10-2020 02:07 AM
Thanks @vleijon for the hint, it works now. The fun fact in this case was the YANG model has changed, however the resulting XML did not, but even then I had to distinguish both versions to avoid package load error
<interface xmlns="http://tail-f.com/ned/arista-dcs"> <Vxlan> <id>1</id> <vxlan> <?if-ned-id arista-dcs-cli-5.16:arista-dcs-cli-5.16?> <vrf> <name>{$VAR_VRF}</name> <vni>{$VAR_VNID}</vni> </vrf> <?elif-ned-id arista-dcs-cli-5.12:arista-dcs-cli-5.12?> <vrf> <name>{$VAR_VRF}</name> <vni>{$VAR_VNID}</vni> </vrf> <?end?> </vxlan> </Vxlan> </interface>
Guys, If Cisco can't provide any 'good enouh' NSO documentation, shall we start creating community based one?
07-10-2020 07:48 AM
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide