nornir-collection 0.0.8__tar.gz → 0.0.10__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.
Files changed (64) hide show
  1. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/PKG-INFO +1 -1
  2. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/netconf/nr_cfg_iosxe_netconf.py +2 -2
  3. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/utils.py +4 -4
  4. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/netbox/inventory.py +4 -0
  5. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/utils.py +1 -1
  6. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection.egg-info/PKG-INFO +1 -1
  7. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/setup.py +1 -1
  8. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/LICENSE +0 -0
  9. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/README.md +0 -0
  10. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/__init__.py +0 -0
  11. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/batfish/__init__.py +0 -0
  12. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/batfish/assert_config.py +0 -0
  13. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/batfish/utils.py +0 -0
  14. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/__init__.py +0 -0
  15. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/__init__.py +0 -0
  16. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/cli/__init__.py +0 -0
  17. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/cli/config_tasks.py +0 -0
  18. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/cli/config_workflow.py +0 -0
  19. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/cli/show_tasks.py +0 -0
  20. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/netconf/__init__.py +0 -0
  21. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/netconf/config_tasks.py +0 -0
  22. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/netconf/config_workflow.py +0 -0
  23. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/netconf/ops_tasks.py +0 -0
  24. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/processor.py +0 -0
  25. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/pyats.py +0 -0
  26. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/restconf/__init__.py +0 -0
  27. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/restconf/cisco_rpc.py +0 -0
  28. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/restconf/config_workflow.py +0 -0
  29. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/configuration_management/restconf/tasks.py +0 -0
  30. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/software_upgrade/__init__.py +0 -0
  31. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/software_upgrade/cisco_software_upgrade.py +0 -0
  32. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/software_upgrade/utils.py +0 -0
  33. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/support_api/__init__.py +0 -0
  34. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/support_api/api_calls.py +0 -0
  35. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/support_api/cisco_maintenance_report.py +0 -0
  36. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/support_api/cisco_support.py +0 -0
  37. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/support_api/reports.py +0 -0
  38. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/cisco/support_api/utils.py +0 -0
  39. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/fortinet/__init__.py +0 -0
  40. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/fortinet/utils.py +0 -0
  41. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/git.py +0 -0
  42. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/netbox/__init__.py +0 -0
  43. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/netbox/custom_script.py +0 -0
  44. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/netbox/scan_prefixes_and_update_ip_addresses.py +0 -0
  45. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/netbox/set_device_status.py +0 -0
  46. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/netbox/sync_datasource.py +0 -0
  47. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/netbox/update_cisco_inventory_data.py +0 -0
  48. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/netbox/update_cisco_support_plugin_data.py +0 -0
  49. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/netbox/update_fortinet_inventory_data.py +0 -0
  50. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/netbox/update_purestorage_inventory_data.py +0 -0
  51. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/netbox/utils.py +0 -0
  52. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/netbox/verify_device_primary_ip.py +0 -0
  53. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/nornir_plugins/__init__.py +0 -0
  54. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/nornir_plugins/inventory/__init__.py +0 -0
  55. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/nornir_plugins/inventory/netbox.py +0 -0
  56. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/nornir_plugins/inventory/staggered_yaml.py +0 -0
  57. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/nornir_plugins/inventory/utils.py +0 -0
  58. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/purestorage/__init__.py +0 -0
  59. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection/purestorage/utils.py +0 -0
  60. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection.egg-info/SOURCES.txt +0 -0
  61. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection.egg-info/dependency_links.txt +0 -0
  62. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection.egg-info/requires.txt +0 -0
  63. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/nornir_collection.egg-info/top_level.txt +0 -0
  64. {nornir_collection-0.0.8 → nornir_collection-0.0.10}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: nornir-collection
3
- Version: 0.0.8
3
+ Version: 0.0.10
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
@@ -95,8 +95,8 @@ def main(nr_config: str, args: argparse.Namespace) -> None:
95
95
 
96
96
  #### Run Nornir Tasks to Verify the config State ########################################################
97
97
 
98
- # First do a pre-config check to ensure the current config is in a clean state
99
- if not args.rebuild and not args.skip_pre_check:
98
+ # If the pre-check arg is True, do a pre-config check to ensure the current config is in a clean state
99
+ if not args.rebuild and args.pre_check:
100
100
  cfg_status = nr_pre_config_check(nr=nr)
101
101
  # Exit the script if the config status is not clean
102
102
  if not cfg_status:
@@ -370,7 +370,7 @@ def init_args_for_netconf_cm() -> argparse.Namespace:
370
370
 
371
371
  # Add the optional rebuild argument
372
372
  argparser.add_argument(
373
- "--skip-pre-check",
373
+ "--pre-check",
374
374
  action="store_true",
375
375
  default=False,
376
376
  help="disable the pre-configuration check (default: False)",
@@ -397,10 +397,10 @@ def init_args_for_netconf_cm() -> argparse.Namespace:
397
397
 
398
398
  print("-> Configuration-MGMT arguments:")
399
399
  print(f" - Run on the '{nb_instance}' NetBox instance and Nornir config '{nr_config}'")
400
- if args.skip_pre_check:
401
- print(" - Skip the pre-configuration check (diff running-config/golden-config)")
400
+ if args.pre_check:
401
+ print(" - Pre-configuration check is enabled (diff running-config/golden-config)")
402
402
  else:
403
- print(" - Perform the pre-configuration check (diff running-config/golden-config)")
403
+ print(" - Pre-configuration check is disabled (diff running-config/golden-config)")
404
404
  if args.dryrun:
405
405
  print(" - NETCONF dry-run is enabled")
406
406
  else:
@@ -170,6 +170,7 @@ def _load_vlan_data(task: Task, all_vlans: List[Dict]) -> Result:
170
170
  vlans = []
171
171
  for role in roles:
172
172
  # Update the VLANs to match all VLANs that match also the role
173
+ # The following list comprehensions fails of the 'group' or the 'role' is None
173
174
  data = [x for x in all_vlans if (x["group"]["name"] == group and x["role"]["name"] == role)]
174
175
  vlans.extend(data)
175
176
  # Return if the data list is empty
@@ -306,6 +307,9 @@ def load_additional_netbox_data(nr: Nornir, add_netbox_data: dict[str:bool]) ->
306
307
  if add_netbox_data.get("load_vlan_data"):
307
308
  # Get all vlans from NetBox
308
309
  all_vlans = get_nb_resources(url=f"{nb_url}/api/ipam/vlans/?limit=1000?")
310
+ # The task _load_vlan_data can only load VLANs that are part of a group and have a role. All VLANs
311
+ # in the DSC Azure Tenant are not part of a group and needs to be excluded the the all_vlans list.
312
+ all_vlans = [x for x in all_vlans if x["role"]["name"] != "AZURE"]
309
313
  # Run the custom Nornir task _load_vlan_data
310
314
  result = nr.run(
311
315
  name=task_text,
@@ -376,7 +376,7 @@ def nr_filter_by_role_and_tag(
376
376
  text="ALERT: NO HOST WITH ROLE AND/OR TAGS IN NORNIR INVENTORY",
377
377
  msg=[
378
378
  "-> Analyse the Nornir inventory and filter for a role and/or tags assigned to hosts",
379
- f"-> {provided_filters}",
379
+ f"{provided_filters}",
380
380
  ],
381
381
  )
382
382
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: nornir-collection
3
- Version: 0.0.8
3
+ Version: 0.0.10
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.8",
14
+ version="0.0.10",
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 \