350-501 Automation and Assurance Practice Question
You are a network automation engineer for a large service provider. Your team is tasked with automating the provisioning of new MPLS L3VPN services across a multi-vendor environment (Cisco and Juniper). The automation framework uses Ansible with Jinja2 templates and NETCONF as the transport protocol. During a pilot deployment, the automation successfully configures the Cisco devices but fails on Juniper devices with a 'syntax error' when applying the generated XML configuration. The Jinja2 templates are designed to generate Cisco-style configuration. You need to modify the automation to support both vendors. Which approach is most effective?
⚠ Common exam trap
Cisco often tests the misconception that a single template or translation script can handle multi-vendor environments, but the correct approach is to use IETF YANG models with vendor-specific templates to ensure schema compliance.
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 IETF YANG models and create separate Jinja2 templates for Cisco and Juniper that map to their respective native YANG models.
Using IETF YANG models (e.g., RFC 8299 for L3VPN) provides a vendor-neutral data model that both Cisco and Juniper support via NETCONF. Creating separate Jinja2 templates for each vendor ensures the generated XML conforms to each device's native YANG models, avoiding syntax errors. This approach maintains automation consistency while respecting vendor-specific implementations.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Use IETF YANG models and create separate Jinja2 templates for Cisco and Juniper that map to their respective native YANG models.
Why this is correct
Vendor-neutral models with separate templates ensure compatibility.
- ✗
Write a Python script that translates Cisco XML to Juniper XML before sending.
Why it's wrong here
Translation layer is brittle and requires ongoing maintenance.
- ✗
Switch to CLI-based automation using SSH to avoid XML syntax issues.
Why it's wrong here
CLI-based automation is less reliable and not model-driven.
- ✗
Create a single Jinja2 template that uses conditional statements to generate different XML for each vendor.
Why it's wrong here
Leads to complex, hard-to-debug templates.
Go deeper
Related to this question
About these practice questions
One of 971 original 350-501 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This 350-501 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-501 exam.