nornir_nokia
Nokia SR OS pySROS Plugins for Nornir - supports both YANG model-driven and MD-CLI interactions with Nokia BNG devices.
Installation
pip install nornir_nokia
Features
- Connection Plugin: Manages pySROS NETCONF connections to Nokia SR OS devices
- CLI Connection Plugin: Manages Netmiko CLI SSH sessions via Nornir
- YANG Configuration: Configure devices using YANG model-driven paths (
candidate.set) - CLI Configuration: Configure devices using MD-CLI commands via Netmiko
- Get Data: Retrieve operational/configuration data via YANG paths or CLI commands
- Commit Operations: commit, commit confirm (with timer), compare, discard, rollback (cancel), lock/unlock
Usage
Inventory (hosts.yaml)
nokia_bng_01:
hostname: 192.168.1.1
username: admin
password: admin
port: 830
platform: nokia_sros
connection_options:
nornir_nokia:
extras:
yang_directory: ./YANG
hostkey_verify: false
timeout: 300
nornir_nokia_cli:
extras:
cli_port: 22
timeout: 90
fast_cli: false
YANG Configuration
from nornir import InitNornir
from nornir_nokia.tasks import nokia_yang_config, nokia_commit
nr = InitNornir(config_file="config.yaml")
# Set configuration via YANG
result = nr.run(
task=nokia_yang_config,
path='/nokia-conf:configure/system/name',
value='my-router',
commit=False,
)
# Compare candidate vs baseline
result = nr.run(task=nokia_commit, action="compare", output_format="md-cli")
# Commit with confirmation timer
result = nr.run(task=nokia_commit, action="commit", timer=60)
# Confirm commit (accept)
result = nr.run(task=nokia_commit, action="commit")
# Rollback (cancel confirmed commit)
result = nr.run(task=nokia_commit, action="rollback")
CLI Configuration
from nornir_nokia.tasks import nokia_cli_config, nokia_get
# Configure via MD-CLI
result = nr.run(
task=nokia_cli_config,
commands=[
'/configure system name "my-router"',
'/configure router interface "demo1" ipv4 primary address 192.168.1.1 prefix-length 24',
],
mode="commit",
comment="deploy via nornir",
)
# Compare candidate changes without committing
result = nr.run(
task=nokia_cli_config,
config='''
/configure system location "nornir-compare"
''',
mode="compare",
)
# Confirmed commit with timer
result = nr.run(
task=nokia_cli_config,
commands=['/configure system contact "nornir-confirmed"'],
mode="commit",
timer=120,
)
# Get operational data via CLI
result = nr.run(task=nokia_get, command='show version')
# Get data via YANG path
result = nr.run(task=nokia_get, path='/nokia-state:state/system/oper-name')
License
MIT
Metadata
Release files for nornir-nokia 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nornir_nokia-0.1.4.tar.gz | 11.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nornir_nokia-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.2 kB
Release files / nornir_nokia-0.1.4.tar.gz
| Download URL | nornir_nokia-0.1.4.tar.gz |
|---|---|
| Size | 11.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa0aed62f531a0376a63ce92beb19da3962ff1af316d83946d5f7765247bd962
|
|
BLAKE2b-256 checksum How to use checksums |
afa9487f82fe9b815596c30ea140b9cc1d6dd86b91fe97e8e2d8549a3eeaaf28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / nornir_nokia-0.1.4-py3-none-any.whl
| Download URL | nornir_nokia-0.1.4-py3-none-any.whl |
|---|---|
| Size | 12.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
45c772112c154b7e212b564c2033f1442d1a354bf9d1ee54f9f3c6e491bf4ec3
|
|
BLAKE2b-256 checksum How to use checksums |
7942fe8265fba76221bca29fa211cd68989c690d981751782cdcd89bf1e05f95
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|