JCPA flashcards
JCPA · Build recall with a focused review session.
33 cards. Read the term and the definition here. The deck at the top of this page is optional.
- Idempotency
- A property where running the same automation task multiple times produces the same end state as running it once, making repeated execution safe.
- Source of truth
- The authoritative data store holding intended network state, such as an inventory or IPAM system, which automation reads instead of querying devices.
- Configuration drift
- The divergence between a device's actual running configuration and the intended state stored in the source of truth or golden config.
- Declarative vs imperative
- Declarative automation states the desired end result and lets the tool decide steps; imperative automation lists explicit ordered commands to execute.
- CALMS framework
- A DevOps model standing for Culture, Automation, Lean, Measurement, and Sharing, used to describe DevOps adoption dimensions.
- json.loads and json.dumps
- Python functions that parse a JSON string into Python objects and serialize Python objects into a JSON string, respectively.
- Jinja2 variable syntax
- Double braces {{ variable }} output a value in a Jinja2 template; statement tags {% %} and comment tags {# #} handle logic and comments.
- requests Response object
- The object returned by the Python requests library, exposing status_code for the HTTP code, text for raw body, and json() for parsed data.
- Netmiko ConnectHandler
- A Python class that opens an SSH CLI session to a network device using a device dictionary, enabling send_command and send_config_set calls.
- Python dictionary to JSON
- A Python dictionary serializes to a JSON object with key-value pairs, while a Python list serializes to a JSON array.
- HTTP status code classes
- 2xx indicates success, 3xx redirection, 4xx client errors such as 401 unauthenticated or 403 forbidden, and 5xx server errors.
- REST statelessness
- A REST constraint requiring each request to contain all information needed to process it, so the server keeps no client session state between calls.
- YANG container and list
- A container groups related nodes without a key; a list is a repeatable collection of entries identified by one or more key leaves.
- YANG leafref type
- A YANG leaf type that references the value of another leaf by path, enforcing referential integrity between modeled nodes.
- JSON object and array
- In JSON, curly braces denote an object of key-value pairs and square brackets denote an ordered array of values.
- NETCONF default port
- NETCONF runs over SSH and uses TCP port 830 by default, carrying XML-encoded RPC messages between manager and device.
- NETCONF edit-config operations
- The merge, replace, create, and delete attributes of edit-config determine how configuration nodes are applied to the target datastore.
- NETCONF candidate datastore
- A configuration datastore that can be edited and validated before a commit operation copies it into the running datastore.
- RESTCONF data path
- RESTCONF addresses YANG data using paths of the form /restconf/data/module:container, mapping CRUD operations to HTTP methods.
- NETCONF hello capabilities
- Upon session establishment, peers exchange hello messages advertising supported capabilities such as base 1.0 or 1.1 framing.
- Junos PyEZ Device
- The PyEZ class representing a Junos device connection; open() establishes the session and rpc exposes operational RPC methods.
- PyEZ commit_check
- A PyEZ Config method that validates a loaded configuration on the device without committing it, catching syntax and semantic errors.
- junos_config Ansible module
- A Juniper Ansible module that loads configuration lines or files onto a Junos device and can commit, check, or roll back changes.
- Salt proxy-minion
- A Salt architecture where a device without a native agent is managed through a proxy process that relays commands from the master.
- Jinja2 default filter
- The filter syntax {{ var | default('x') }} supplies a fallback value when the variable is undefined in the template context.
- Jinja2 include tag
- The tag {% include 'file.j2' %} inserts the rendered contents of another template file, enabling reusable configuration snippets.
- Junos commit confirmed
- A Junos command that commits a change but automatically rolls it back after a set time unless explicitly confirmed, protecting remote changes.
- Golden config
- A known-good baseline configuration used to compare device state, detect drift, and validate that changes match intended standards.
- Streaming telemetry
- Continuous push of structured device data, often over gRPC or UDP using JSON or GPB encoding, instead of periodic SNMP polling.
- SNMP trap vs polling
- Polling pulls data by querying OIDs on a schedule; traps are unsolicited push notifications sent by the device on an event.
- Git commit object
- A Git object recording a snapshot of the repository tree, author, message, and parent commit links that form history.
- Git merge vs rebase
- Merge joins two branch histories with a merge commit; rebase replays commits onto a new base and rewrites commit history.
- Secrets in automation
- Credentials and tokens should be stored in a vault or CI secret store and never committed to repositories or hardcoded in scripts.