- A
Modify the playbook to skip switches where the VLAN already exists.
Why wrong: This is not scalable and requires manual mapping.
- B
Remove the VLAN from all switches before creating it again.
Why wrong: This would cause unnecessary traffic disruption.
- C
Use an idempotent Ansible module that checks for existing VLANs before creating them.
Idempotent modules handle existing configurations gracefully.
- D
Add ignore_errors: yes to the VLAN creation task.
Why wrong: This would suppress other important errors.
Quick Answer
The correct approach is to use an idempotent Ansible module that checks for existing VLANs before creating them. This is because Ansible idempotency for VLAN configuration ensures that a module like `ios_vlan` will first query the current state of the network device; if the VLAN ID already exists, the module reports an “ok” status and makes no change, preventing the failure and allowing the playbook to complete cleanly. On the Cisco DevNet Associate 200-901 exam, this concept tests your understanding of declarative automation versus imperative scripting—a common trap is to write a playbook that blindly creates resources without checking state, which violates idempotency principles. Remember that idempotent modules are the foundation of reliable network automation, as they guarantee consistent results across multiple runs. Memory tip: think “check before create” to avoid the “already exists” error.
200-901 Infrastructure and Automation Practice Question
This 200-901 practice question tests your understanding of infrastructure and automation. The scenario asks you to isolate a root cause — eliminate options that address a different problem before choosing. 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 network engineer is automating the deployment of VLANs across multiple switches using Ansible. The playbook fails with an error indicating that the VLAN ID already exists on one of the switches. Which approach should the engineer use to ensure the playbook completes without errors?
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
Use an idempotent Ansible module that checks for existing VLANs before creating them.
Option C is correct because Ansible's idempotent modules, such as `ios_vlan` for Cisco IOS devices, are designed to check the current state of the device before making changes. If the VLAN already exists, the module will report 'ok' and not attempt to create it again, preventing the error and ensuring the playbook completes successfully. This aligns with Ansible's best practice of writing idempotent playbooks that produce the same result regardless of how many times they are run.
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.
- ✗
Modify the playbook to skip switches where the VLAN already exists.
Why it's wrong here
This is not scalable and requires manual mapping.
- ✗
Remove the VLAN from all switches before creating it again.
Why it's wrong here
This would cause unnecessary traffic disruption.
- ✓
Use an idempotent Ansible module that checks for existing VLANs before creating them.
Why this is correct
Idempotent modules handle existing configurations gracefully.
Related concept
Read the scenario before looking for a memorised answer.
- ✗
Add ignore_errors: yes to the VLAN creation task.
Why it's wrong here
This would suppress other important errors.
Common exam traps
Common exam trap: answer the scenario, not the keyword
Cisco often tests the concept of idempotency in automation tools like Ansible, and the trap here is that candidates may think 'ignore_errors' is a valid workaround for configuration conflicts, when in fact it only hides failures without ensuring the desired state is achieved.
Detailed technical explanation
How to think about this question
Ansible's `ios_vlan` module uses the NETCONF or CLI (via SSH) to query the switch's running configuration for the VLAN ID. If the VLAN exists, the module compares its attributes (name, state, etc.) and only applies changes if there is a difference; otherwise, it returns a status of 'ok' with no changes. This idempotent behavior is critical in large-scale network automation where multiple playbook runs are common, as it avoids duplicate configuration errors and reduces the risk of configuration drift.
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 help-desk technician troubleshoots why a newly connected PC cannot reach shared printers on the same floor. The cable is good, the switch port is active, but the PC is in VLAN 20 and the printers are in VLAN 10. The uplink trunk only allows VLAN 10. A trunk being up does not mean every VLAN crosses it.
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.
- →
Infrastructure and Automation — study guide chapter
Learn the concepts, then practise the questions
- →
Infrastructure and Automation practice questions
Targeted practice on this topic area only
- →
All 200-901 questions
505 questions across all exam domains
- →
Cisco DevNet Associate 200-901 study guide
Full concept coverage aligned to exam objectives
- →
200-901 practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related 200-901 practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Software Development and Design practice questions
Practise 200-901 questions linked to Software Development and Design.
Understanding and Using APIs practice questions
Practise 200-901 questions linked to Understanding and Using APIs.
Cisco Platforms and Development practice questions
Practise 200-901 questions linked to Cisco Platforms and Development.
Application Deployment and Security practice questions
Practise 200-901 questions linked to Application Deployment and Security.
Infrastructure and Automation practice questions
Practise 200-901 questions linked to Infrastructure and Automation.
Network Fundamentals practice questions
Practise 200-901 questions linked to Network Fundamentals.
200-901 fundamentals practice questions
Practise 200-901 questions linked to 200-901 fundamentals.
200-901 scenario practice questions
Practise 200-901 questions linked to 200-901 scenario.
200-901 troubleshooting practice questions
Practise 200-901 questions linked to 200-901 troubleshooting.
Practice this exam
Start a free 200-901 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 200-901 question test?
Infrastructure and Automation — This question tests Infrastructure and Automation — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: Use an idempotent Ansible module that checks for existing VLANs before creating them. — Option C is correct because Ansible's idempotent modules, such as `ios_vlan` for Cisco IOS devices, are designed to check the current state of the device before making changes. If the VLAN already exists, the module will report 'ok' and not attempt to create it again, preventing the error and ensuring the playbook completes successfully. This aligns with Ansible's best practice of writing idempotent playbooks that produce the same result regardless of how many times they are run.
What should I do if I get this 200-901 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 →
Same concept, more angles
1 more ways this is tested on 200-901
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. Which THREE of the following are best practices for writing Ansible playbooks for network automation? (Select exactly 3.)
hard- A.Run all tasks without checking for errors
- ✓ B.Include a validation task after configuration changes
- ✓ C.Use variables for device-specific parameters
- D.Hardcode device IPs in the playbook
- ✓ E.Use the 'changed_when' condition to ensure idempotency
Why B: Option B is correct because after applying configuration changes via modules like `ios_config` or `junos_config`, a validation task (e.g., using `wait_for` or `assert` to verify operational state) ensures the device is reachable and the changes took effect before proceeding. This prevents cascading failures in multi-device playbooks and aligns with network automation best practices for reliability.
Keep practising
More 200-901 practice questions
- A company uses a CI/CD pipeline to deploy network configurations. The pipeline includes a stage that runs automated test…
- Which TWO statements about REST API design best practices are correct?
- A network engineer is using the Cisco Meraki API to retrieve a list of SSIDs for a specific network. The API returns an…
- When designing a REST API client for a Cisco DNA Center deployment, which authentication method should be used to obtain…
- A Python script uses the Cisco Meraki API to create a new network and then immediately attempts to configure an SSID on…
- A DevOps team manages a multi-site Cisco Meraki network with 50 MX appliances and 200 MR access points. They use a Pytho…
Last reviewed: Jun 11, 2026
This 200-901 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 200-901 exam.
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.
Sign in to join the discussion.