Question 1,108 of 2,015
AutomationhardMultiple ChoiceObjective-mapped

Quick Answer

The answer is to add a pre-task that validates the device's OS version and conditionally applies the appropriate module or command set. This is correct because the root cause of the Ansible BGP configuration loss after IOS upgrade is that the new IOS XE version introduced an incompatible BGP configuration model, causing the ios_bgp module to fail silently and remove existing configs. By validating the OS version as a pre-task, the playbook can branch to use either the legacy ios_bgp module or a different module or CLI commands tailored to the new model, ensuring idempotency and preventing silent failures. On the ENCOR 350-401 exam, this tests your understanding of network automation resilience and version-aware playbook design, a common trap being the assumption that modules are backward-compatible across major IOS versions. Remember the mnemonic: "Check before you wreck" — always validate the OS version to avoid BGP config wipeouts.

CCNP Automation Practice Question

This 350-401 practice question tests your understanding of automation. This is a configuration task: choose the command set that satisfies every stated requirement. Small differences — like 'secret' vs 'password' or 'transport input ssh' vs 'all' — change whether the answer is correct. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.

A large enterprise uses a centralized automation platform based on Ansible Tower to manage its network infrastructure. The network consists of 500 Cisco IOS XE routers and switches distributed across multiple sites. The automation team has created a playbook that configures BGP peerings on all devices. The playbook uses the ios_bgp module. Recently, during a maintenance window, the playbook was run against a subset of devices that were supposed to be upgraded to a new IOS XE version. However, after the run, several devices lost their BGP configurations entirely. The team discovers that the new IOS XE version introduced a new BGP configuration model that is not fully compatible with the ios_bgp module's expected CLI commands. The playbook failed silently on those devices, and the existing BGP configuration was removed. The team needs to prevent this from happening in future maintenance windows. Which action should be taken?

Question 1hardmultiple choice
Open the full BGP breakdown →

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

Add a pre-task that validates the device's OS version and conditionally applies the appropriate module or command set

Option A is correct because it directly addresses the root cause: the new IOS XE version uses an incompatible BGP configuration model. By adding a pre-task that validates the OS version, the playbook can conditionally apply the correct module (e.g., ios_bgp for older versions or a different module/CLI for the new model), preventing silent failures and configuration loss. This ensures the automation adapts to version-specific changes, maintaining idempotency and safety.

Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Add a pre-task that validates the device's OS version and conditionally applies the appropriate module or command set

    Why this is correct

    Pre-validation allows the playbook to use version-appropriate modules or commands, preventing silent failures.

    Related concept

    Read the scenario before looking for a memorised answer.

  • Implement idempotency checks in the playbook using the 'check_mode' option

    Why it's wrong here

    Check mode only reports changes; it does not prevent module incompatibility.

  • Set 'gather_facts: no' in the playbook to speed up execution and avoid version detection issues

    Why it's wrong here

    Gathering facts is not the cause; disabling it removes useful information for conditionals.

  • Replace the ios_bgp module with the ios_config module and use raw CLI commands for BGP configuration

    Why it's wrong here

    Raw CLI commands might also fail on the new OS; moreover, they are less idempotent.

Common exam traps

Common exam trap: answer the scenario, not the keyword

Cisco often tests the misconception that idempotency (check_mode) or simply using raw CLI commands (ios_config) solves version incompatibility, when the real solution is version-aware conditional logic to handle model changes.

Trap categories for this question

  • Command / output trap

    Raw CLI commands might also fail on the new OS; moreover, they are less idempotent.

Detailed technical explanation

How to think about this question

The ios_bgp module interacts with Cisco IOS XE via the CLI or NETCONF, expecting a specific BGP configuration hierarchy. When a new IOS XE version changes the BGP model (e.g., moving from traditional CLI to a YANG-based model), the module may fail to parse or apply commands, and due to its design, it can clear existing BGP configs if it cannot reconcile the desired state. A pre-task using 'ansible_net_version' from gathered facts or a custom fact can check the OS version and use 'when' conditions to select the appropriate module or command set, ensuring compatibility.

KKey Concepts to Remember

  • Read the scenario before looking for a memorised answer.
  • Find the constraint that changes the correct option.
  • Eliminate answers that are true in general but not in this case.

TExam Day Tips

  • Watch for words such as best, first, most likely and least administrative effort.
  • Review why wrong options are wrong, not only why the correct option is correct.

Key takeaway

Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Real-world example

How this comes up in practice

A small business has 20 workstations on the 192.168.1.0/24 network and one public IP from its ISP. The router uses PAT (NAT overload) so all 20 devices share one public address using different source ports. NAT questions test whether you understand the four address terms and which direction each translation applies.

What to study next

Got this wrong? Here's your next step.

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

Related practice questions

Related 350-401 practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

Practice this exam

Start a free 350-401 practice session

Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.

FAQ

Questions learners often ask

What does this 350-401 question test?

Automation — This question tests Automation — Read the scenario before looking for a memorised answer..

What is the correct answer to this question?

The correct answer is: Add a pre-task that validates the device's OS version and conditionally applies the appropriate module or command set — Option A is correct because it directly addresses the root cause: the new IOS XE version uses an incompatible BGP configuration model. By adding a pre-task that validates the OS version, the playbook can conditionally apply the correct module (e.g., ios_bgp for older versions or a different module/CLI for the new model), preventing silent failures and configuration loss. This ensures the automation adapts to version-specific changes, maintaining idempotency and safety.

What should I do if I get this 350-401 question wrong?

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

What is the key concept behind this question?

Read the scenario before looking for a memorised answer.

About these practice questions

Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Last reviewed: Jun 11, 2026

Question Discussion

Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.

Loading comments…

Sign in to join the discussion.

This 350-401 practice question is part of Courseiva's free Cisco certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the 350-401 exam.