Skip to content

Commit

Permalink
Several issues fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
mzbroch committed Jul 26, 2024
1 parent 6c60c91 commit 43a083a
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 10 deletions.
12 changes: 6 additions & 6 deletions nautobot_ssot/integrations/aci/diffsync/adapters/aci.py
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ def load_ipaddresses(self):
vrf_tenant = f"{self.tenant_prefix}:{bd_value['vrf_tenant']}"
else:
vrf_tenant = None
if bd_value.get('tenant') == 'mgmt': # BUGFix
if bd_value.get('tenant') == 'mgmt':
_namespace = "Global"
else:
_namespace = vrf_tenant or tenant_name
Expand All @@ -233,8 +233,8 @@ def load_ipaddresses(self):
description=f"ACI Bridge Domain: {bd_key}",
device=None,
interface=None,
tenant=vrf_tenant or tenant_name, # BUGfix
namespace=_namespace, # BUGfix
tenant=vrf_tenant or tenant_name,
namespace=_namespace,
site=self.site,
site_tag=self.site,
)
Expand All @@ -261,15 +261,15 @@ def load_prefixes(self):
vrf_tenant = f"{self.tenant_prefix}:{bd_value['vrf_tenant']}"
else:
vrf_tenant = None
if bd_value.get('tenant') == 'mgmt': # BUGFix
if bd_value.get('tenant') == 'mgmt':
_namespace = "Global"
else:
_namespace = vrf_tenant or tenant_name
if bd_value.get("tenant") not in PLUGIN_CFG.get("ignore_tenants"): # modified for bugfix
if bd_value.get("tenant") not in PLUGIN_CFG.get("ignore_tenants"):
for subnet in bd_value["subnets"]:
new_prefix = self.prefix(
prefix=str(ip_network(subnet[0], strict=False)),
namespace=_namespace, # BUGfix
namespace=_namespace,
status="Active",
site=self.site,
description=f"ACI Bridge Domain: {bd_key}",
Expand Down
1 change: 0 additions & 1 deletion nautobot_ssot/integrations/aci/diffsync/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -378,7 +378,6 @@ def get_bds(self, tenant: str = "all") -> dict:
bd_dict[unique_name]
except KeyError:
bd_dict.setdefault(unique_name, deepcopy(bd_dict_schema))
# BUGfix for non existent VRF, assumes BD Tenant.
bd_dict[unique_name]["vrf"] = data["fvRsCtx"]["attributes"].get("tnFvCtxName") or "default"
vrf_tenant = data["fvRsCtx"]["attributes"].get("tDn")
if vrf_tenant:
Expand Down
3 changes: 1 addition & 2 deletions nautobot_ssot/integrations/aci/diffsync/models/nautobot.py
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,6 @@ def create(cls, diffsync, ids, attrs):
_tenant = OrmTenant.objects.get(name=ids["tenant"])
else:
_tenant = None
# BUGfix here
try:
_namespace = Namespace.objects.get(name=ids["namespace"])
_parent = OrmPrefix.objects.get(prefix=attrs["prefix"], namespace=_namespace)
Expand All @@ -385,7 +384,7 @@ def create(cls, diffsync, ids, attrs):
parent=_parent,
tenant=_tenant,
)
except IntegrityError: # BUGFix Multiple BDs leaking same IP address space to common tenant
except IntegrityError:
diffsync.job.logger.warning(
f"Unable to create IP Address {ids['address']}. Duplicate Address or Parent Prefix: {attrs['prefix']} in Namespace: {ids['namespace']}"
)
Expand Down
1 change: 0 additions & 1 deletion nautobot_ssot/integrations/aci/jobs.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ def __init__(self):
super().__init__()
self.diffsync_flags = (
self.diffsync_flags
# self.diffsync_flags | DiffSyncFlags.SKIP_UNMATCHED_DST # pylint: disable=unsupported-binary-operation
)

@classmethod
Expand Down

0 comments on commit 43a083a

Please sign in to comment.