-
Notifications
You must be signed in to change notification settings - Fork 32
Open
Description
Environment
- DiffSync version: 2.0.0
- Python version 3.12
Observed Behavior
When launch sync_from
function for a dataset with multiple model dependencies, in this example Regions
parent of Sites
. sync_from
by default try to create Sites (child object) several times for each dependencies as you can see below.
2024-07-05 16:59:05,401 - DEBUG - 2024-07-05 14:59.05 [debug ] Diff calculation between these two datasets will involve 17 models [diffsync.helpers] dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> src=<NetboxAdapter "netbox">
2024-07-05 16:59:05,401 - INFO - 2024-07-05 14:59.05 [info ] Beginning diff calculation [diffsync.helpers] dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> src=<NetboxAdapter "netbox">
2024-07-05 16:59:05,402 - DEBUG - 2024-07-05 14:59.05 [debug ] Skipping due to SKIP_UNMATCHED_DST flag on source adapter [diffsync.helpers] dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=region src=<NetboxAdapter "netbox"> unique_id=Seclin
2024-07-05 16:59:05,402 - DEBUG - 2024-07-05 14:59.05 [debug ] Skipping due to SKIP_UNMATCHED_DST flag on source adapter [diffsync.helpers] dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=region src=<NetboxAdapter "netbox"> unique_id=Vendome
2024-07-05 16:59:05,402 - DEBUG - 2024-07-05 14:59.05 [debug ] Skipping due to SKIP_UNMATCHED_DST flag on source adapter [diffsync.helpers] dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=region src=<NetboxAdapter "netbox"> unique_id=Rennes
2024-07-05 16:59:05,404 - DEBUG - 2024-07-05 14:59.05 [debug ] Skipping due to SKIP_UNMATCHED_DST flag on source adapter [diffsync.helpers] dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=site src=<NetboxAdapter "netbox"> unique_id=SCATEST
2024-07-05 16:59:05,404 - DEBUG - 2024-07-05 14:59.05 [debug ] Skipping due to SKIP_UNMATCHED_DST flag on source adapter [diffsync.helpers] dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=site src=<NetboxAdapter "netbox"> unique_id=SCLTEST
2024-07-05 16:59:05,405 - DEBUG - 2024-07-05 14:59.05 [debug ] Skipping due to SKIP_UNMATCHED_DST flag on source adapter [diffsync.helpers] dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=region src=<NetboxAdapter "netbox"> unique_id=Vendome
2024-07-05 16:59:05,405 - DEBUG - 2024-07-05 14:59.05 [debug ] Skipping due to SKIP_UNMATCHED_DST flag on source adapter [diffsync.helpers] dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=region src=<NetboxAdapter "netbox"> unique_id=Belgium
2024-07-05 16:59:05,405 - DEBUG - 2024-07-05 14:59.05 [debug ] Skipping due to SKIP_UNMATCHED_DST flag on source adapter [diffsync.helpers] dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=region src=<NetboxAdapter "netbox"> unique_id=brussels
2024-07-05 16:59:05,406 - DEBUG - 2024-07-05 14:59.05 [debug ] Skipping due to SKIP_UNMATCHED_DST flag on source adapter [diffsync.helpers] dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=site src=<NetboxAdapter "netbox"> unique_id=SCATEST
2024-07-05 16:59:05,406 - DEBUG - 2024-07-05 14:59.05 [debug ] Skipping due to SKIP_UNMATCHED_DST flag on source adapter [diffsync.helpers] dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=site src=<NetboxAdapter "netbox"> unique_id=SCLTEST
2024-07-05 16:59:05,407 - DEBUG - 2024-07-05 14:59.05 [debug ] Skipping due to SKIP_UNMATCHED_DST flag on source adapter [diffsync.helpers] dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=site src=<NetboxAdapter "netbox"> unique_id=VDMTEST
2024-07-05 16:59:05,407 - INFO - 2024-07-05 14:59.05 [info ] Diff calculation complete [diffsync.helpers] dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> src=<NetboxAdapter "netbox">
2024-07-05 16:59:05,408 - INFO - 2024-07-05 14:59.05 [info ] Beginning sync [diffsync.helpers] dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> src=<NetboxAdapter "netbox">
2024-07-05 16:59:05,408 - DEBUG - 2024-07-05 14:59.05 [debug ] Attempting model update [diffsync.helpers] action=update diffs={'-': {'slug': 'courbevoie'}, '+': {'slug': 'courbevois'}} dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=site src=<NetboxAdapter "netbox"> unique_id=Courbevoie
2024-07-05 16:59:05,409 - INFO - 2024-07-05 14:59.05 [info ] Updated successfully [diffsync.helpers] action=update diffs={'-': {'slug': 'courbevoie'}, '+': {'slug': 'courbevois'}} dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=site src=<NetboxAdapter "netbox"> status=success unique_id=Courbevoie
2024-07-05 16:59:05,409 - DEBUG - 2024-07-05 14:59.05 [debug ] Attempting model update [diffsync.helpers] action=update diffs={'-': {'parent': 'France'}, '+': {'parent': 'france'}} dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=region src=<NetboxAdapter "netbox"> unique_id=Rennes
2024-07-05 16:59:05,409 - INFO - 2024-07-05 14:59.05 [info ] Updated successfully [diffsync.helpers] action=update diffs={'-': {'parent': 'France'}, '+': {'parent': 'france'}} dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=region src=<NetboxAdapter "netbox"> status=success unique_id=Rennes
2024-07-05 16:59:05,409 - DEBUG - 2024-07-05 14:59.05 [debug ] Attempting model create [diffsync.helpers] action=create diffs={'+': {'slug': 'bob', 'status': 'Staging', 'region': 'Rennes'}} dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=site src=<NetboxAdapter "netbox"> unique_id=BOB
2024-07-05 16:59:05,427 - INFO - Created Site in YML file: {'name': 'BOB', 'slug': 'bob', 'status': 'Staging', 'region': 'Rennes'}
2024-07-05 16:59:05,428 - INFO - 2024-07-05 14:59.05 [info ] [diffsync.helpers] action=create diffs={'+': {'slug': 'bob', 'status': 'Staging', 'region': 'Rennes'}} dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=site src=<NetboxAdapter "netbox"> status=success unique_id=BOB
2024-07-05 16:59:05,429 - DEBUG - 2024-07-05 14:59.05 [debug ] Attempting model update [diffsync.helpers] action=update diffs={'-': {'parent': 'France'}, '+': {'parent': 'france'}} dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=region src=<NetboxAdapter "netbox"> unique_id=Seclin
2024-07-05 16:59:05,429 - INFO - 2024-07-05 14:59.05 [info ] Updated successfully [diffsync.helpers] action=update diffs={'-': {'parent': 'France'}, '+': {'parent': 'france'}} dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=region src=<NetboxAdapter "netbox"> status=success unique_id=Seclin
2024-07-05 16:59:05,429 - DEBUG - 2024-07-05 14:59.05 [debug ] Attempting model create [diffsync.helpers] action=create diffs={'+': {'slug': 'bob', 'status': 'Staging', 'region': 'Rennes'}} dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=site src=<NetboxAdapter "netbox"> unique_id=BOB
2024-07-05 16:59:05,430 - ERROR - 2024-07-05 14:59.05 [error ] Failed to create site {'name': 'BOB'} - it already exists! [diffsync.helpers] action=create diffs={'+': {'slug': 'bob', 'status': 'Staging', 'region': 'Rennes'}} dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=site src=<NetboxAdapter "netbox"> status=error unique_id=BOB
2024-07-05 16:59:05,430 - WARNING - 2024-07-05 14:59.05 [warning ] No object resulted from sync, will not process child objects. [diffsync.helpers] action=create diffs={'+': {'slug': 'bob', 'status': 'Staging', 'region': 'Rennes'}} dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=site src=<NetboxAdapter "netbox"> unique_id=BOB
2024-07-05 16:59:05,430 - DEBUG - 2024-07-05 14:59.05 [debug ] Attempting model update [diffsync.helpers] action=update diffs={'-': {'slug': 'courbevoie'}, '+': {'slug': 'courbevois'}} dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=site src=<NetboxAdapter "netbox"> unique_id=Courbevoie
2024-07-05 16:59:05,430 - INFO - 2024-07-05 14:59.05 [info ] Updated successfully [diffsync.helpers] action=update diffs={'-': {'slug': 'courbevoie'}, '+': {'slug': 'courbevois'}} dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> model=site src=<NetboxAdapter "netbox"> status=success unique_id=Courbevoie
2024-07-05 16:59:05,430 - INFO - 2024-07-05 14:59.05 [info ] Sync complete [diffsync.helpers] dst=<Local "local"> flags=<DiffSyncFlags.CONTINUE_ON_FAILURE|SKIP_UNMATCHED_DST: 5> src=<NetboxAdapter "netbox">
It try here to create BOB site and it created it bind to Rennes regions but after finish child sync of Rennes it try a second time to create BOB it self because in site list, and this raise a duplication error.
Expected Behavior
It should create once any objects even if it try to sync it in the child tree process.
Metadata
Metadata
Assignees
Labels
No labels