Symptom
After upgrading vManage to 20.9.3 - the "egress-interface" syntax is removed from the custom nat pool command "ip nat inside source global-list" when CLI Template push is made to a cEdge running IOS-XE version 17.6 which causes the router to miss NAT translation
Example (Before configuration push):
ip nat pool natpool-GigabitEthernet2-1 10.10.10.1 10.10.10.3 prefix-length 29
ip nat pool natpool-GigabitEthernet3-2 192.168.2.1 192.168.2.3 prefix-length 28
ip nat inside source list global-list pool natpool-GigabitEthernet2-1 overload egress-interface GigabitEthernet2
ip nat inside source list global-list pool natpool-GigabitEthernet3-2 overload egress-interface GigabitEthernet3
Example (After configuration push):
ip nat pool natpool-GigabitEthernet2-1 10.10.10.1 10.10.10.3 prefix-length 29
ip nat pool natpool-GigabitEthernet3-2 192.168.2.1 192.168.2.3 prefix-length 28
ip nat inside source list global-list pool natpool-GigabitEthernet2-1 overload GigabitEthernet2
ip nat inside source list global-list pool natpool-GigabitEthernet3-2 overload GigabitEthernet3
We can also see the router does not record any NAT Translations:
R1#show ip nat translations total
Total number of translations: 0
Conditions
1. vManage is upgraded to 20.9.3
2. cEdge is running 17.6
3. cEdge had existing CLI Template with custom NAT Pool configured using the "ip nat inside source list" command which required "egress-interface" syntax
4. On pushing the template from vManage 20.9.3 to cEdge 17.6 the "egress-interface" syntax is removed from the command once the cEdge receives the configuration
Workaround
Workaround:
1. Add the "egress-interface" syntax to the command via CLI
2. Upgrade cEdge to 17.9.3
Further Problem Description