dwu-etapowy system konfiguracji dla NX-OS

jeśli nie przywykłeś do czytania tzw. release notes do kolejnych wydań oprogramowania do swojej ulubionej platformy sieciowej (w tym wypadku - Nexus NX-OS), zapewne przegapiłeś, że od wersji 10.1(2) w NX-OS pojawił się system wprowadzania konfiguracji dokładnie taki jak w IOS XRze - dwustopniowy.

co to oznacza? że wykonując zmiany w parserze, możesz pracować na całym bloku konfiguracji. dopiero po jego zatwierdzeniu jest on wprowadzany w życie. na przykład dla zmiany adresu IP na interfejsie (zawsze drażliwy moment, w szczególności gdy urządzenie znajduje się 300km od Ciebie), przykład konfiguracji wyglądać może tak:

nxos10# configure dual-stage 
Enter configuration commands, one per line. End with CNTL/Z.
nxos10(config-dual-stage)# interface vlan 888
nxos10(config-dual-stage-if)# ip address 192.168.88.1/24
nxos10(config-dual-stage-if)# no shut
nxos10(config-dual-stage-if)# [i tutaj pozostała konfiguracja]

! sprawdzamy, że tego VLANu nadal nie ma wykreowanego
! mimo jego konfiguracji:

nxos10(config-dual-stage-if)# do sh ip int brief

IP Interface Status for VRF "default"(1)
Interface            IP Address      Interface Status
Vlan33               192.168.33.1    protocol-up/link-up/admin-up       
Vlan66               192.168.66.1    protocol-up/link-up/admin-up       
Vlan555              192.168.55.1    protocol-up/link-up/admin-up
Vlan999              192.168.99.1    protocol-up/link-up/admin-up     

! teraz akceptujemy wykonany blok konfiguracji
nxos10(config-dual-stage-if)# commit 
Verification Succeeded.

Proceeding to apply configuration. This might take a while depending on amount of configuration in buffer.
Please avoid other configuration changes during this time.
Configuration committed by user 'cisco' using Commit ID : 1000000001

! sprawdzamy, że teraz interfejs już jest

nxos10(config-dual-stage)# do sh ip int brief

IP Interface Status for VRF "default"(1)
Interface            IP Address      Interface Status
Vlan33               192.168.33.1    protocol-up/link-up/admin-up       
Vlan66               192.168.66.1    protocol-up/link-up/admin-up       
Vlan555              192.168.55.1    protocol-up/link-up/admin-up
Vlan888              192.168.88.1    protocol-up/link-up/admin-up    
Vlan999              192.168.99.1    protocol-up/link-up/admin-up     

oczywiście, można też wykonać powrót do danego miejsca, skoro każdy commit otrzymuje swój identyfikator:

nxos10# rollback configuration to 1000000001

możemy też oczywiście podejrzeć zmiany, jakie zostały wykonane w danym commitcie:

nxos10# show configuration commit changes 1000000001
*** /bootflash/.dual-stage/1000000001.tmp       Mon Jul 12 17:14:49 2021
--- /bootflash/.dual-stage/1000000001   Mon Jul 12 17:14:51 2021
***************
*** 535,540 ****
--- 535,543 ----
  
+ interface Vlan888
+   ip address 88.88.88.1/24
+ 

..oraz w danej sesji konfiguracji (żeby sprawdzić, czy np. nie popełniliśmy jakiegoś błędu zanim nie wprowadzimy konfiguracji “na produkcję”):

nxos10(config-dual-stage-if)# show configuration 
! Cached configuration
!
interface Vlan888
 no ip unreachables
 no shutdown
 ip redirects

funkcjonalność w NX-OS nie jest jeszcze tak rozbudowana jak w IOS XR, ale miło widzieć, że również już długo istniejący na rynku system otrzymał nową funkcjonalność w parserze CLI.

miłego używania :)