JCPA study plan
JCPA · Give each week a clear focus.
8 weeks · About 7 hours per week
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
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
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
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
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
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
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
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