DevNet Associate (DEVASC) v1.0Infrastructure and AutomationHard

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?

  1. A:startup
  2. B:candidate
  3. C:rollback-on-error
  4. D:writable-running
Show answer & 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.

More Infrastructure and Automation questions