A network engineer is writing a Python script to automate the deployment of a new BGP configuration on a Cisco IOS XR router. The configuration involves multiple BGP neighbors, address-family configurations, and route-maps. The engineer wants to ensure that the entire configuration is applied as a single transaction, and if any part fails, the entire transaction is rolled back. Which NETCONF capability is essential for this transactional behavior?
- A:startup
- B:candidate
- C:rollback-on-error
- D:writable-running
Show answer & explanationAnswer & explanation
Correct answer: B. :candidate
The :candidate capability (and its associated datastore) allows for a staging area where configuration changes can be built up, validated, and then committed as a single, atomic transaction. If an error occurs during the commit, the running configuration remains unchanged, effectively providing a rollback-on-error mechanism without explicit rollback commands.
Why the other options are wrong
- A. :startup refers to the startup configuration datastore, which is loaded at boot time and doesn't provide transactional capabilities for runtime configuration changes.
- C. :rollback-on-error is a specific behavior often associated with the candidate datastore, but the underlying capability that enables this transactional behavior for multi-part changes is the :candidate datastore itself.
- D. :writable-running indicates that the running configuration can be directly modified, but doesn't inherently provide transactional guarantees or rollback on error for multi-part changes.
NETCONF :candidate Capability
The NETCONF :candidate capability indicates support for a candidate configuration datastore. This datastore serves as a staging area where configuration changes can be prepared, validated, and then committed atomically to the running configuration, providing transactional integrity and implicit rollback on error.
- Enables a separate candidate configuration datastore
- Allows staging of multiple configuration changes
- Supports atomic commit to running configuration
- Provides transactional integrity (all or nothing)
- Implicit rollback on commit failure
Memory trick: Candidate's commitment is atomic, or it's back to the start.