Courseiva
Automation and AssurancemediumMultiple ChoiceObjective-mapped

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.

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 →

How Courseiva writes practice questions · Editorial policy

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.