nornir-collection 0.0.21__tar.gz → 0.0.23__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/PKG-INFO +1 -1
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/netconf/config_tasks.py +38 -25
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection.egg-info/PKG-INFO +1 -1
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/setup.py +1 -1
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/LICENSE +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/README.md +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/__init__.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/batfish/__init__.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/batfish/assert_config.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/batfish/utils.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/__init__.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/__init__.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/cli/__init__.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/cli/config_tasks.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/cli/config_workflow.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/cli/show_tasks.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/netconf/__init__.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/netconf/config_workflow.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/netconf/nr_cfg_iosxe_netconf.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/netconf/ops_tasks.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/processor.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/pyats.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/restconf/__init__.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/restconf/cisco_rpc.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/restconf/config_workflow.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/restconf/tasks.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/configuration_management/utils.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/software_upgrade/__init__.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/software_upgrade/cisco_software_upgrade.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/software_upgrade/utils.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/support_api/__init__.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/support_api/api_calls.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/support_api/cisco_maintenance_report.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/support_api/cisco_support.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/support_api/reports.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/support_api/utils.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/fortinet/__init__.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/fortinet/utils.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/git.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/netbox/__init__.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/netbox/custom_script.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/netbox/inventory.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/netbox/set_device_status.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/netbox/sync_datasource.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/netbox/update_cisco_inventory_data.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/netbox/update_cisco_support_plugin_data.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/netbox/update_fortinet_inventory_data.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/netbox/update_prefixes_ip_addresses.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/netbox/update_purestorage_inventory_data.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/netbox/utils.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/netbox/verify_device_primary_ip.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/nornir_plugins/__init__.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/nornir_plugins/inventory/__init__.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/nornir_plugins/inventory/netbox.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/nornir_plugins/inventory/staggered_yaml.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/nornir_plugins/inventory/utils.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/purestorage/__init__.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/purestorage/utils.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/utils.py +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection.egg-info/SOURCES.txt +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection.egg-info/dependency_links.txt +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection.egg-info/requires.txt +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection.egg-info/top_level.txt +0 -0
- {nornir_collection-0.0.21 → nornir_collection-0.0.23}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: nornir-collection
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.23
|
4
4
|
Summary: Nornir-Collection contains network automation functions and complete IaC workflows with Nornir and other python libraries. It contains Nornir tasks and general functions in Nornir style.
|
5
5
|
Author: Willi Kubny
|
6
6
|
Author-email: willi.kubny@gmail.ch
|
@@ -236,6 +236,7 @@ def nc_edit_cleanup_portchannel(task: Task, verbose: bool = False) -> Result:
|
|
236
236
|
|
237
237
|
# Create a empty list to add all current configured Port-channels and their associated interfaces
|
238
238
|
current_po = {}
|
239
|
+
remove_po = {}
|
239
240
|
if "Port-channel" in response["json"]["Cisco-IOS-XE-native:interface"]:
|
240
241
|
# Loop through all Port-channels and add them and their associated interfaces as a list to the dict
|
241
242
|
for po in response["json"]["Cisco-IOS-XE-native:interface"]["Port-channel"]:
|
@@ -412,6 +413,7 @@ def nc_edit_tpl_int_config(task: Task, tpl_startswith: str, verbose: bool = Fals
|
|
412
413
|
|
413
414
|
#### Configure each interface with the Jinja2 rendered template #########################################
|
414
415
|
|
416
|
+
j2_task_text = "Render Jinja2 NETCONF interface payload template"
|
415
417
|
# Track if the overall task has failed
|
416
418
|
task_failed = False
|
417
419
|
# The custom_result list will be filled with the result of each interface
|
@@ -425,33 +427,44 @@ def nc_edit_tpl_int_config(task: Task, tpl_startswith: str, verbose: bool = Fals
|
|
425
427
|
for interface in interfaces:
|
426
428
|
# Set the interface template name
|
427
429
|
tpl_name = interface["int_template"]
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
430
|
+
# Check if the interface template name is in the host inventory
|
431
|
+
if tpl_name in task.host:
|
432
|
+
# Set the interface template path
|
433
|
+
tpl_path = task.host[tpl_name]
|
434
|
+
|
435
|
+
# Add additional interface data for Jinja2 **kwargs
|
436
|
+
interface = add_interface_data(task=task, interface=interface)
|
437
|
+
# Extract the interface name and the interface number into a variable and add the current
|
438
|
+
# interface details for the Jinja2 **kwargs
|
439
|
+
j2_kwargs = {
|
440
|
+
"interface": {
|
441
|
+
"interface_name": extract_interface_name(interface["name"]),
|
442
|
+
"interface_number": extract_interface_number(interface["name"]),
|
443
|
+
**interface,
|
444
|
+
}
|
439
445
|
}
|
440
|
-
}
|
441
446
|
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
447
|
+
# Render the Jinja2 payload template and configure the NETCONF candidate datastore
|
448
|
+
custom_result, task_failed = netconf_configure_jinja2_rendered_payload_template(
|
449
|
+
task=task,
|
450
|
+
j2_task_text=j2_task_text,
|
451
|
+
j2_tpl_path=tpl_path,
|
452
|
+
custom_result=custom_result,
|
453
|
+
task_failed=task_failed,
|
454
|
+
info_msg=tpl_path,
|
455
|
+
verbose=verbose,
|
456
|
+
int_name=interface["name"],
|
457
|
+
j2_tpl_name=tpl_name,
|
458
|
+
j2_kwargs=j2_kwargs,
|
459
|
+
)
|
460
|
+
# Else the interface template name is not in the host inventory
|
461
|
+
else:
|
462
|
+
custom_result.append(
|
463
|
+
f"{task_result(text=j2_task_text, changed=False, level_name='ERROR', failed=True)}\n"
|
464
|
+
f"'{interface['name']} ({tpl_name})' -> NornirResponse <Success: False>\n"
|
465
|
+
f"-> Interface template '{tpl_name}' not found in the host inventory"
|
466
|
+
)
|
467
|
+
task_failed = True
|
455
468
|
|
456
469
|
# Return the Nornir NETCONF result
|
457
470
|
return Result(host=task.host, custom_result=custom_result, failed=task_failed)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: nornir-collection
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.23
|
4
4
|
Summary: Nornir-Collection contains network automation functions and complete IaC workflows with Nornir and other python libraries. It contains Nornir tasks and general functions in Nornir style.
|
5
5
|
Author: Willi Kubny
|
6
6
|
Author-email: willi.kubny@gmail.ch
|
@@ -11,7 +11,7 @@ with open("requirements.txt", encoding="utf-8") as f:
|
|
11
11
|
|
12
12
|
setuptools.setup(
|
13
13
|
name="nornir-collection",
|
14
|
-
version="0.0.
|
14
|
+
version="0.0.23",
|
15
15
|
author="Willi Kubny",
|
16
16
|
author_email="willi.kubny@gmail.ch",
|
17
17
|
description="Nornir-Collection contains network automation functions and complete IaC workflows with \
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/batfish/assert_config.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/support_api/reports.py
RENAMED
File without changes
|
{nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/cisco/support_api/utils.py
RENAMED
File without changes
|
{nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/fortinet/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/netbox/custom_script.py
RENAMED
File without changes
|
File without changes
|
{nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/netbox/set_device_status.py
RENAMED
File without changes
|
{nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/netbox/sync_datasource.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/nornir_plugins/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/purestorage/__init__.py
RENAMED
File without changes
|
{nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection/purestorage/utils.py
RENAMED
File without changes
|
File without changes
|
{nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection.egg-info/SOURCES.txt
RENAMED
File without changes
|
File without changes
|
{nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection.egg-info/requires.txt
RENAMED
File without changes
|
{nornir_collection-0.0.21 → nornir_collection-0.0.23}/nornir_collection.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|