Skip to content

Commit fcf2274

Browse files
committed
Update from PR and remove example5 from test
1 parent d236820 commit fcf2274

File tree

5 files changed

+37
-14
lines changed

5 files changed

+37
-14
lines changed

examples/05-nautobot-peeringdb/README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,15 @@ source .venv/bin/activate
2424
pip3 install -r requirements.txt
2525
```
2626

27-
## Run it interactivelly
27+
## Run it interactively
2828

2929
```python
3030
from IPython import embed
3131
embed(colors="neutral")
3232

33-
# Import Adapaters
33+
# Import Adapters
34+
from diffsync.enum import DiffSyncFlags
35+
3436
from adapter_nautobot import NautobotRemote
3537
from adapter_peeringdb import PeeringDB
3638

@@ -59,5 +61,6 @@ diff = nautobot.diff_from(peeringdb)
5961
diff.summary()
6062

6163
# Execute the synchronization
62-
nautobot.sync_from(peeringdb)
64+
nautobot.sync_from(peeringdb, flags=DiffSyncFlags.SKIP_UNMATCHED_DST)
65+
6366
```

examples/05-nautobot-peeringdb/adapter_nautobot.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,6 @@ def load(self):
160160
pk=region_entry["id"],
161161
)
162162
self.add(region)
163-
# self.job.log_debug(message=f"Loaded {region} from remote Nautobot instance")
164163

165164
site_data = requests.get(f"{self.url}/api/dcim/sites/", headers=self.headers, params={"limit": 0}).json()
166165
sites = site_data["results"]
@@ -180,7 +179,6 @@ def load(self):
180179
pk=site_entry["id"],
181180
)
182181
self.add(site)
183-
# self.job.log_debug(message=f"Loaded {site} from remote Nautobot instance")
184182

185183
def post(self, path, data):
186184
"""Send an appropriately constructed HTTP POST request."""

examples/05-nautobot-peeringdb/adapter_peeringdb.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ def load(self):
3535
try:
3636
self.get(self.region, fac["city"])
3737
except ObjectNotFound:
38-
# Adding the parent region if necessary
38+
# Use pycountry to translate the country code (like "DE") to a country name (like "Germany")
3939
parent_name = pycountry.countries.get(alpha_2=fac["country"]).name
40+
# Add the country as a parent region if not already added
4041
try:
4142
self.get(self.region, parent_name)
4243
except ObjectNotFound:
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Import Adapters
2+
from diffsync.enum import DiffSyncFlags
3+
4+
from adapter_nautobot import NautobotRemote
5+
from adapter_peeringdb import PeeringDB
6+
7+
# Initialize PeeringDB adapter, using CATNIX id for demonstration
8+
peeringdb = PeeringDB(ix_id=62)
9+
10+
# Initialize Nautobot adapter, pointing to the demo instance (it's also the default settings)
11+
nautobot = NautobotRemote(url="https://demo.nautobot.com", token="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
12+
13+
# Load PeeringDB info into the adapter
14+
peeringdb.load()
15+
16+
# We can check the data that has been imported, some as `site` and some as `region` (with the parent relationships)
17+
peeringdb.dict()
18+
19+
# Load Nautobot info into the adapter
20+
nautobot.load()
21+
22+
# Let's diffsync do it's magic
23+
diff = nautobot.diff_from(peeringdb)
24+
25+
# Quick summary of the expected changes (remember that delete ones are dry-run)
26+
diff.summary()
27+
28+
# Execute the synchronization
29+
nautobot.sync_from(peeringdb, flags=DiffSyncFlags.SKIP_UNMATCHED_DST)

tests/unit/test_examples.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,3 @@ def test_example_4():
4343
example4_main = join(example4_dir, "main.py")
4444
# Run it and make sure it doesn't raise an exception or otherwise exit with a non-zero code.
4545
subprocess.run(example4_main, cwd=example4_dir, check=True)
46-
47-
48-
def test_example_5():
49-
"""Test that the "example5" script runs successfully."""
50-
example5_dir = join(EXAMPLES, "05-nautobot-peeringdb")
51-
example5_main = join(example5_dir, "main.py")
52-
# Run it and make sure it doesn't raise an exception or otherwise exit with a non-zero code.
53-
subprocess.run(example5_main, cwd=example5_dir, check=True)

0 commit comments

Comments
 (0)