Skip to content

Commit

Permalink
Merge pull request #138 from nautobot/develop
Browse files Browse the repository at this point in the history
v3.1.1 Release
  • Loading branch information
jvanderaa committed Feb 6, 2024
2 parents d0b7a80 + 9f9e2f4 commit 0e3db63
Show file tree
Hide file tree
Showing 16 changed files with 865 additions and 864 deletions.
5 changes: 4 additions & 1 deletion docs/dev/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
# Changelog

## 3.1.1

- [#137](https://github.com/nautobot/nornir-nautobot/pull/137) Update to new pynautobot ssl verification

## 3.1.0

- [#131](https://github.com/nautobot/nornir-nautobot/pull/131) Updated logging output for Nornir


## 3.0.0

- [#107](https://github.com/nautobot/nornir-nautobot/pull/107) Changed the dispatcher method function signature - Breaking change
Expand Down
1 change: 1 addition & 0 deletions examples/basic_example.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Testing file."""

# pylint: disable=duplicate-code
import os
from nornir import InitNornir
Expand Down
1 change: 1 addition & 0 deletions examples/filter_location.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Testing file."""

# pylint: disable=duplicate-code
import os
from nornir import InitNornir
Expand Down
1 change: 1 addition & 0 deletions examples/filter_multiple_locations.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Testing file."""

# pylint: disable=duplicate-code
import os
from nornir import InitNornir
Expand Down
1 change: 1 addition & 0 deletions examples/filter_negate_location.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Testing file."""

# pylint: disable=duplicate-code
import os
from nornir import InitNornir
Expand Down
10 changes: 7 additions & 3 deletions nornir_nautobot/plugins/inventory/nautobot.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Nornir Nautobot Inventory Plugin."""

# Python Imports
import os
import sys
Expand Down Expand Up @@ -111,6 +112,7 @@ def pynautobot_obj(self) -> pynautobot.core.api.Api:
self.nautobot_url,
token=self.nautobot_token,
threading=self.enable_threading,
verify=self.ssl_verify,
)
self.api_session.params = {"depth": 1}

Expand Down Expand Up @@ -161,9 +163,11 @@ def load(self) -> Inventory:
host["hostname"] = (
str(ipaddress.IPv4Interface(device.primary_ip4.address).ip)
if device["primary_ip4"]
else str(ipaddress.IPv6Interface(device.primary_ip6.address).ip)
if device["primary_ip6"]
else device["name"]
else (
str(ipaddress.IPv6Interface(device.primary_ip6.address).ip)
if device["primary_ip6"]
else device["name"]
)
)
host["name"] = device.name or str(device.id)
host["groups"] = []
Expand Down
1 change: 1 addition & 0 deletions nornir_nautobot/plugins/processors/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""BaseProcessor for the nornir."""

import logging

from nornir.core.inventory import Host
Expand Down
1 change: 1 addition & 0 deletions nornir_nautobot/plugins/tasks/dispatcher/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Used to initialize the dispatcher."""

# pylint: disable=raise-missing-from

import logging
Expand Down
1 change: 1 addition & 0 deletions nornir_nautobot/plugins/tasks/dispatcher/default.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""default driver for the network_importer."""

# pylint: disable=raise-missing-from,too-many-arguments

import logging
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""nornir dispatcher for Mikrotik Router OS."""

# pylint: disable=raise-missing-from

import os
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""nornir dispatcher for Ruckus ICX/FastIron Switches."""

from nornir.core.task import Result, Task
from nornir.core.exceptions import NornirSubTaskError

Expand Down
1,661 changes: 803 additions & 858 deletions poetry.lock

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "nornir-nautobot"
version = "3.1.0"
version = "3.1.1"
description = "Nornir Nautobot"
authors = ["Network to Code, LLC <opensource@networktocode.com>"]
readme = "README.md"
Expand Down Expand Up @@ -31,7 +31,7 @@ nornir-utils = "^0"
nornir-napalm = ">=0.4.0 <1.0.0"
nornir-jinja2 = "^0.2.0"
nornir-netmiko = "^1"
pynautobot = ">=2.0.0rc2"
pynautobot = ">=2.0.2"
netutils = "^1.6.0"
routeros-api = {version = "^0.17.0", optional = true}
httpx = "^0.24.1"
Expand Down
1 change: 1 addition & 0 deletions tasks.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Tasks for use with Invoke."""

import os
import sys
from distutils.util import strtobool # pylint: disable=deprecated-module
Expand Down
1 change: 1 addition & 0 deletions tests/unit/conftest.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Used to setup fixtures to be used through tests."""

import pytest
import pynautobot
from nornir_nautobot.plugins.inventory.nautobot import NautobotInventory
Expand Down
38 changes: 38 additions & 0 deletions tests/unit/test_nautobot_inventory.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Pytest of Nautobot Inventory."""

# Standard Library Imports
from os import path

Expand All @@ -23,11 +24,26 @@
"url": "http://mock.example.com/api/",
"method": "get",
},
{
"fixture_path": f"{HERE}/mocks/00_api_root.json",
"url": "https://mock.example.com/api/",
"method": "get",
},
{
"fixture_path": f"{HERE}/mocks/01_get_devices.json",
"url": "http://mock.example.com/api/dcim/devices/?depth=1",
"method": "get",
},
{
"fixture_path": f"{HERE}/mocks/01_get_devices.json",
"url": "https://mock.example.com/api/dcim/devices/?depth=1",
"method": "get",
},
{
"fixture_path": f"{HERE}/mocks/01_get_devices.json",
"url": "https://mock.example.com/api/dcim/devices/?depth=1&limit=0",
"method": "get",
},
{
"fixture_path": f"{HERE}/mocks/02_get_device1.json",
"url": "http://mock.example.com/api/dcim/devices/?name=den-dist01",
Expand Down Expand Up @@ -89,6 +105,28 @@ def test_nornir_nautobot_initialization():
assert no_exception_found


def test_nornir_nautobot_initialization_ssl_verify_default():
with Mocker() as mock:
load_api_calls(mock)
nornir_nautobot_class = NautobotInventory(
nautobot_url="https://mock.example.com", nautobot_token="0123456789abcdef01234567890"
)
assert nornir_nautobot_class.pynautobot_obj.http_session.verify is True
assert nornir_nautobot_class.api_session.verify is True
assert nornir_nautobot_class.ssl_verify is True


def test_nornir_nautobot_initialization_ssl_verify_false():
with Mocker() as mock:
load_api_calls(mock)
nornir_nautobot_class = NautobotInventory(
nautobot_url="https://mock.example.com", nautobot_token="0123456789abcdef01234567890", ssl_verify=False
)
assert nornir_nautobot_class.pynautobot_obj.http_session.verify is False
assert nornir_nautobot_class.api_session.verify is False
assert nornir_nautobot_class.ssl_verify is False


def test_nornir_nautobot_missing_url():
with pytest.raises(ValueError) as err:
NautobotInventory(nautobot_url=None, nautobot_token="0123456789abcdef01234567890")
Expand Down

0 comments on commit 0e3db63

Please sign in to comment.