JCPA study materials
JCPA study resources

JCPA study plan

JCPA · Give each week a clear focus.

8 weeks · About 7 hours per week

Week 1

Python Programming for Network Automation & Automation and DevOps Fundamentals

  • Write and run Python scripts using variables, conditionals, loops, functions, and modules without referencing notes

  • Parse and generate JSON with the json module, including reading a device inventory file and iterating over its entries

  • Explain the difference between imperative scripting and declarative automation, listing two tradeoffs of each

  • Use git init, add, commit, and log to version-control a small Python project

  • Install and use a virtual environment with pip to manage a requests dependency

Your checkpoint

A git repository containing a Python CLI script that loads a JSON inventory, validates required keys, and prints a formatted device summary, with at least three commits

Week 2

Python Programming for Network Automation & REST APIs and Data Models (JSON, XML, YANG)

  • Write functions that consume REST responses using the requests library and handle status codes and timeouts

  • Model network device data as Python dictionaries and serialize it to both JSON and XML

  • Describe the structure of a YANG module, identifying container, list, leaf, and key statements in a sample model

  • Convert between JSON and XML representations of the same hierarchical data using Python libraries

  • Use exception handling to catch and report malformed API responses

Your checkpoint

A Python script that fetches or reads two sample API payloads, normalizes them into a common dictionary schema, and exports both JSON and XML files

Week 3

REST APIs and Data Models (JSON, XML, YANG) & NETCONF and RESTCONF

  • Map REST verbs and status codes to CRUD operations on network resources

  • Compare NETCONF and RESTCONF transports, message framing, and encoding requirements

  • Construct a NETCONF RPC envelope by hand for get-config and edit-config operations using candidate and running datastores

  • Send RESTCONF requests with correct headers, media types, and URL paths for a YANG-modeled resource

  • Interpret a YANG tree diagram and translate it into a valid filter or URL path

Your checkpoint

A written lab report containing four hand-built request payloads (two NETCONF RPCs, two RESTCONF calls) with annotated explanations of each element and expected response

Week 4

Juniper Automation Tooling (Junos PyEZ, Ansible, Salt) & NETCONF and RESTCONF

  • Install Junos PyEZ and connect to a device or mock using a device object with credentials and timeout settings

  • Use PyEZ operational and configuration tables to retrieve structured data and render it as a dictionary

  • Load, diff, commit, and roll back a configuration change with PyEZ using lock, load, commit_check, and rollback

  • Write an Ansible playbook that targets Junos devices and applies a configuration snippet

  • Compare PyEZ, Ansible, and Salt for idempotency, transport, and state management

Your checkpoint

A working PyEZ script plus an Ansible playbook that each push the same configuration change, with captured diff output and a documented rollback demonstration

Week 5

Juniper Automation Tooling (Junos PyEZ, Ansible, Salt) & Network Configuration Management and Templating

  • Build a Jinja2 template that generates a full device configuration from a variables dictionary

  • Use Jinja2 control structures, filters, and includes to handle per-device variation without copy-paste

  • Render configurations for at least three devices from a single template and inventory

  • Implement a pre-change validation step that parses rendered config and rejects missing required sections

  • Apply a configuration template through PyEZ or Ansible and verify the result with a post-change show command

Your checkpoint

A templating project with one Jinja2 template, a multi-device inventory, a render-and-validate script, and generated configs for three devices with validation output

Week 6

Telemetry, Monitoring, and Event-Driven Automation & Automation and DevOps Fundamentals

  • Explain the difference between polling, streaming telemetry, and SNMP-based collection and when each is appropriate

  • Configure and consume a gRPC or UDP-based telemetry subscription on Junos, or simulate one with sample data

  • Write a Python subscriber that receives telemetry data and writes it to a time-series-friendly format

  • Design an event-driven workflow that triggers a remediation script from an alert condition

  • Describe how on-box or off-box automation reacts to syslog or event policy triggers

Your checkpoint

A telemetry demo consisting of a subscriber script, captured sample data, and a threshold rule that triggers a logged or executed remediation action

Week 7

CI/CD Pipelines and Version Control for Network Automation & Security and Best Practices in Automation

  • Create a branching workflow with feature branches, pull requests, and merge conflict resolution for automation code

  • Write a CI pipeline configuration that lints Python, runs unit tests, and validates templates on every push

  • Add automated config validation as a pipeline gate that fails on schema or syntax errors

  • Store credentials in environment variables or a secrets manager and remove any hardcoded secrets from repositories

  • Identify and remediate three common automation security risks, including unencrypted transport and overly broad credentials

Your checkpoint

A CI pipeline file that runs lint, tests, and template validation on push, plus a secrets audit showing zero hardcoded credentials in the repository

Week 8

Python Programming for Network Automation & REST APIs and Data Models (JSON, XML, YANG) & NETCONF and RESTCONF & Juniper Automation Tooling (Junos PyEZ, Ansible, Salt) & Network Configuration Management and Templating & Telemetry, Monitoring, and Event-Driven Automation & CI/CD Pipelines and Version Control for Network Automation & Security and Best Practices in Automation

  • Assemble an end-to-end automation workflow that renders config, pushes it, verifies state, and reports results

  • Complete at least 120 practice questions across all domains and log every missed item by domain

  • Re-derive weak concepts from the missed-item log until each is explained without notes

  • Time-box a full-length practice exam under exam conditions

  • Review the security and CI/CD checklists one final time

Your checkpoint

A scored full-length practice exam with a per-domain accuracy table and a one-page remediation summary for any domain scoring below 75 percent

Milestones

Week 2: Can write a Python script that parses JSON and XML and makes a REST call without reference material

Week 4: Can push and roll back a configuration change with both PyEZ and Ansible

Week 6: Can explain and demonstrate a telemetry or event-driven automation workflow end to end

Week 7: CI pipeline passes lint, tests, and template validation with no hardcoded secrets

Week 8: Full-length practice exam completed with every domain at or above 75 percent accuracy