contact group show incorrect parent/child layout #7675

Closed
opened 2025-12-29 20:26:48 +01:00 by adam · 24 comments
Owner

Originally created by @szollin on GitHub (Feb 24, 2023).

NetBox version

3.4.5

Python version

3.8

Steps to Reproduce

  1. Create a CSV file with the following fields:
  • name
  • description
  • slug
  • parent
  • id
  1. Add record to the CSV to be created and update records with new parent/child relationship. Example record below.
name,description,slug,parent,id
Finance,Finance Department,finance,,1
Accounts Payable,AP Department,ap,Finance,,
Human Resources,HR Department,hr,,
Benefits,Benefits Team,benefits,Human Resources,,
IT,IT Department,it,,
  1. Import that CSV using the file import method choosing the CSV format at https://foobar.com/tenancy/contact-groups/import/
  2. Click on Contact Groups to pull up list of groups.

Expected Behavior

The contact groups should show the correct parent child relationship as in the actual record

dio_record

Observed Behavior

Contact groups show with incorrect parent child setup in main contact group screen and in contact creation screen.

dio_list

contact_record

Originally created by @szollin on GitHub (Feb 24, 2023). ### NetBox version 3.4.5 ### Python version 3.8 ### Steps to Reproduce 1. Create a CSV file with the following fields: - name - description - slug - parent - id 2. Add record to the CSV to be created and update records with new parent/child relationship. Example record below. ``` name,description,slug,parent,id Finance,Finance Department,finance,,1 Accounts Payable,AP Department,ap,Finance,, Human Resources,HR Department,hr,, Benefits,Benefits Team,benefits,Human Resources,, IT,IT Department,it,, ``` 3. Import that CSV using the file import method choosing the CSV format at https://foobar.com/tenancy/contact-groups/import/ 4. Click on Contact Groups to pull up list of groups. ### Expected Behavior The contact groups should show the correct parent child relationship as in the actual record ![dio_record](https://user-images.githubusercontent.com/11561910/221284992-11e9946b-1380-4912-85db-3dbcd9de95dd.PNG) ### Observed Behavior Contact groups show with incorrect parent child setup in main contact group screen and in contact creation screen. ![dio_list](https://user-images.githubusercontent.com/11561910/221286111-e8d68063-9ee3-4a5f-960c-2ff956b79fc1.PNG) ![contact_record](https://user-images.githubusercontent.com/11561910/221285145-b91019b4-a602-427f-9fc4-eb59041d1e57.PNG)
adam added the type: bug label 2025-12-29 20:26:48 +01:00
adam closed this issue 2025-12-29 20:26:48 +01:00
Author
Owner

@jeremystretch commented on GitHub (Feb 24, 2023):

Thank you for opening a bug report. Unfortunately, the information you have provided is not sufficient for someone else to attempt to reproduce the reported behavior. Remember, each bug report must include detailed steps that someone else can follow on a clean, empty NetBox installation to reproduce the exact problem you're experiencing. These instructions should include the creation of any involved objects, any configuration changes, and complete accounting of the actions being taken. Also be sure that your report does not reference data on the public NetBox demo, as that is subject to change at any time by an outside party and cannot be relied upon for bug reports.

@jeremystretch commented on GitHub (Feb 24, 2023): Thank you for opening a bug report. Unfortunately, the information you have provided is not sufficient for someone else to attempt to reproduce the reported behavior. Remember, each bug report must include detailed steps that someone else can follow on a clean, empty NetBox installation to reproduce the exact problem you're experiencing. These instructions should include the creation of any involved objects, any configuration changes, and complete accounting of the actions being taken. Also be sure that your report does not reference data on the public NetBox demo, as that is subject to change at any time by an outside party and cannot be relied upon for bug reports.
Author
Owner

@szollin commented on GitHub (Feb 24, 2023):

Updated the steps

@szollin commented on GitHub (Feb 24, 2023): Updated the steps
Author
Owner

@jeremystretch commented on GitHub (Feb 27, 2023):

Please provide actual data that someone else can use to reproduce the reported bug. It's not clear from your description that anything unexpected is occurring.

@jeremystretch commented on GitHub (Feb 27, 2023): Please provide actual data that someone else can use to reproduce the reported bug. It's not clear from your description that anything unexpected is occurring.
Author
Owner

@szollin commented on GitHub (Feb 28, 2023):

@jeremystretch, Are you asking for the exact data in the CSV file? If so, I cannot provide that as that data is confidential in nature. I am providing what I am legally able to provide.

The issue is if I setup a CSV file import with value ParentContact1 as the parent and ChildContact1 as the child, the child's record shows correct on the actual contact group page. https://foobar.com/tenancy/contact-groups/2/ in this example. However, if I go to https://foobar.com/tenancy/contact-groups, then it shows ChildContact1 under ParentContact2. This is an incorrect matching.

@szollin commented on GitHub (Feb 28, 2023): @jeremystretch, Are you asking for the exact data in the CSV file? If so, I cannot provide that as that data is confidential in nature. I am providing what I am legally able to provide. The issue is if I setup a CSV file import with value ParentContact1 as the parent and ChildContact1 as the child, the child's record shows correct on the actual contact group page. https://foobar.com/tenancy/contact-groups/2/ in this example. However, if I go to https://foobar.com/tenancy/contact-groups, then it shows ChildContact1 under ParentContact2. This is an incorrect matching.
Author
Owner

@jeremystretch commented on GitHub (Mar 1, 2023):

It doesn't need to be your data, but it needs to be data that someone can use to try reproducing the reported behavior.

@jeremystretch commented on GitHub (Mar 1, 2023): It doesn't need to be _your_ data, but it needs to be data that someone can use to try reproducing the reported behavior.
Author
Owner

@szollin commented on GitHub (Mar 2, 2023):

I created some data to use to reproduce.

@szollin commented on GitHub (Mar 2, 2023): I created some data to use to reproduce.
Author
Owner

@themanbornwithin commented on GitHub (Mar 9, 2023):

I am experiencing the same issue with Locations. I imported a list with nested locations, while editing the location the Location card is correct, the breadcrumb trail (I'm not sure what it is called exactly) is incorrect, and seems to change on refresh. I was on version 3.4.2, and upgrading to 3.4.5 has not changed anything.

@themanbornwithin commented on GitHub (Mar 9, 2023): I am experiencing the same issue with Locations. I imported a list with nested locations, while editing the location the Location card is correct, the breadcrumb trail (I'm not sure what it is called exactly) is incorrect, and seems to change on refresh. I was on version 3.4.2, and upgrading to 3.4.5 has not changed anything.
Author
Owner

@jeremystretch commented on GitHub (Mar 13, 2023):

Your screenshots don't match the import data. Please take a few steps back and provide complete, consistent reproduction steps. Without these, we will not be able to help.

@jeremystretch commented on GitHub (Mar 13, 2023): Your screenshots don't match the import data. Please take a few steps back and provide complete, consistent reproduction steps. Without these, we will not be able to help.
Author
Owner

@szollin commented on GitHub (Mar 13, 2023):

As stated previously, I cannot give you that data as it's confidential in nature. I also cannot import the example data as it will mix in with my real data. As you stated

It doesn't need to be your data, but it needs to be data that someone can use to try reproducing the reported behavior.

I gave you data that can be used and is laid out in the same fashion. Please stop with the semantics. I gave detailed descriptions, screenshots, CSV data in the format I imported in. It's all there.

@szollin commented on GitHub (Mar 13, 2023): As stated previously, I cannot give you that data as it's confidential in nature. I also cannot import the example data as it will mix in with my real data. As you stated > It doesn't need to be your data, but it needs to be data that someone can use to try reproducing the reported behavior. I gave you data that can be used and is laid out in the same fashion. Please stop with the semantics. I gave detailed descriptions, screenshots, CSV data in the format I imported in. It's all there.
Author
Owner

@themanbornwithin commented on GitHub (Mar 14, 2023):

I am having the same issue importing Locations. Here is my import CSV:

image

Here is the Locations:

image image

Looking at Anteroom (the location information section is correct, but the 'breadcrumb' trail on top is not):

image

As you can see on the main page, it lists Anteroom as being under H-101, but it should be under Main Office.

Main Office (Location section is correct, but 'breadcrumb' trail on the top is not):

image
@themanbornwithin commented on GitHub (Mar 14, 2023): I am having the same issue importing Locations. Here is my import CSV: <img width="917" alt="image" src="https://user-images.githubusercontent.com/108703991/225015726-93691821-6db2-4cc7-aa0d-c45122f2d145.png"> Here is the Locations: <img width="607" alt="image" src="https://user-images.githubusercontent.com/108703991/225016346-fddb81be-8e36-4db7-8408-afcd794df140.png"> <img width="607" alt="image" src="https://user-images.githubusercontent.com/108703991/225016510-32852ada-61b4-43d5-96df-374a5a9f8540.png"> Looking at Anteroom (the location information section is correct, but the 'breadcrumb' trail on top is not): <img width="580" alt="image" src="https://user-images.githubusercontent.com/108703991/225016927-54015cbf-7a66-4421-9cde-5d23bc501656.png"> As you can see on the main page, it lists Anteroom as being under H-101, but it should be under Main Office. Main Office (Location section is correct, but 'breadcrumb' trail on the top is not): <img width="580" alt="image" src="https://user-images.githubusercontent.com/108703991/225018046-ae5fa5da-8dfc-4606-b31d-53c79d5d8114.png">
Author
Owner

@szollin commented on GitHub (Mar 14, 2023):

Thank you for providing this @themanbornwithin. You just saved me from having to create a second instance just to prove the bug.

@szollin commented on GitHub (Mar 14, 2023): Thank you for providing this @themanbornwithin. You just saved me from having to create a second instance just to prove the bug.
Author
Owner

@kkthxbye-code commented on GitHub (Mar 16, 2023):

@themanbornwithin

Here is my import CSV:

You accidentally posted an image of the text instead of the actual text needed to replicate the issue.

I also tried to get @szollin replication steps working, but was not successful.

@kkthxbye-code commented on GitHub (Mar 16, 2023): @themanbornwithin > Here is my import CSV: You accidentally posted an image of the text instead of the actual text needed to replicate the issue. I also tried to get @szollin replication steps working, but was not successful.
Author
Owner

@themanbornwithin commented on GitHub (Mar 16, 2023):

site,parent,name,slug,status,tenant,description,tags,
11/12 Building,Main Hall (F1),Main Office,main-office,active,11/12 Building,,,
11/12 Building,Main Office,Anteroom,anteroom,active,11/12 Building,,,
11/12 Building,Main Office,AP Left,ap-left,active,11/12 Building,,,
11/12 Building,Main Office,AP Right,ap-right,active,11/12 Building,,,
11/12 Building,Main Hall (F1),Principal,principal,active,11/12 Building,,,
11/12 Building,Main Hall (F1),Principal PA,principal-pa,active,11/12 Building,,,
11/12 Building,Main Hall (F1),CST Supervisor,cst-supervisor,active,11/12 Building,,,
11/12 Building,Main Hall (F1),Activities,activities,active,11/12 Building,,,

@themanbornwithin commented on GitHub (Mar 16, 2023): site,parent,name,slug,status,tenant,description,tags, 11/12 Building,Main Hall (F1),Main Office,main-office,active,11/12 Building,,, 11/12 Building,Main Office,Anteroom,anteroom,active,11/12 Building,,, 11/12 Building,Main Office,AP Left,ap-left,active,11/12 Building,,, 11/12 Building,Main Office,AP Right,ap-right,active,11/12 Building,,, 11/12 Building,Main Hall (F1),Principal,principal,active,11/12 Building,,, 11/12 Building,Main Hall (F1),Principal PA,principal-pa,active,11/12 Building,,, 11/12 Building,Main Hall (F1),CST Supervisor,cst-supervisor,active,11/12 Building,,, 11/12 Building,Main Hall (F1),Activities,activities,active,11/12 Building,,,
Author
Owner

@kkthxbye-code commented on GitHub (Mar 26, 2023):

@themanbornwithin - Tried your csv and can still not replicate it.

  • Created Main Hall (F1) location
  • Created 11/12 Building site
  • Bulk imported the csv you pasted

Everything looks correct.

So as of now there is still no valid replication steps provided.

@kkthxbye-code commented on GitHub (Mar 26, 2023): @themanbornwithin - Tried your csv and can still not replicate it. * Created Main Hall (F1) location * Created 11/12 Building site * Bulk imported the csv you pasted Everything looks correct. So as of now there is still no valid replication steps provided.
Author
Owner

@themanbornwithin commented on GitHub (Mar 27, 2023):

@kkthxbye-code

I will be headed into work soon, I will try replicating it again.

@themanbornwithin commented on GitHub (Mar 27, 2023): @kkthxbye-code I will be headed into work soon, I will try replicating it again.
Author
Owner

@szollin commented on GitHub (Mar 28, 2023):

I will create a new NetBox system so I can make publicly accessible data.

@szollin commented on GitHub (Mar 28, 2023): I will create a new NetBox system so I can make publicly accessible data.
Author
Owner

@szollin commented on GitHub (Mar 29, 2023):

I made a brand new system and did the import of the non-protected data. The new system is 3.4.6. Initial import worked without issue. Not sure if this is due to all the data being imported without anything else in the system or if 3.4.6 fix the problem.

In looking at the DB for the new system and old system, all the information on the DB side is correct. The child ID's match the parents and all parents are marked null in the parent_id field. This shows the DB is holding the correct information.

I tried doing a fresh install of the application but, using the original DB just in case there was an issue with the application side of things. I am getting the same issue of incorrect parent/child relationships. This make me thing there is one possible issue involved.

The only thing I can think of is having multiple version updates (starting fresh with 3.2.2) in which we have had a couple contact groups added then, doing an import at version 3.4.5. If that is the case, this would mean I should be able to delete all the contacts and their group and import them. This would match a fresh data import of all the groups. I will take a backup of my DB and my system and try this. If this fixes things, we have a point to start debugging.

@szollin commented on GitHub (Mar 29, 2023): I made a brand new system and did the import of the non-protected data. The new system is 3.4.6. Initial import worked without issue. Not sure if this is due to all the data being imported without anything else in the system or if 3.4.6 fix the problem. In looking at the DB for the new system and old system, all the information on the DB side is correct. The child ID's match the parents and all parents are marked null in the parent_id field. This shows the DB is holding the correct information. I tried doing a fresh install of the application but, using the original DB just in case there was an issue with the application side of things. I am getting the same issue of incorrect parent/child relationships. This make me thing there is one possible issue involved. The only thing I can think of is having multiple version updates (starting fresh with 3.2.2) in which we have had a couple contact groups added then, doing an import at version 3.4.5. If that is the case, this would mean I should be able to delete all the contacts and their group and import them. This would match a fresh data import of all the groups. I will take a backup of my DB and my system and try this. If this fixes things, we have a point to start debugging.
Author
Owner

@szollin commented on GitHub (Mar 29, 2023):

I did the delete of the data and imported everything fresh. All parent/child relationships are correct now in DB and the application. Issue stems from having existing records from older versions and importing with the current version. This is causing an incorrect view on the application but, correct data in the DB.

@szollin commented on GitHub (Mar 29, 2023): I did the delete of the data and imported everything fresh. All parent/child relationships are correct now in DB and the application. Issue stems from having existing records from older versions and importing with the current version. This is causing an incorrect view on the application but, correct data in the DB.
Author
Owner

@szollin commented on GitHub (Mar 31, 2023):

Tested this and once again, got the issue to pop up.

Cause of bug: Old version has data and imports CSV when updated to the latest version

Test: Installed 3.2.2 and added a couple of entries to Contact Group manually. Updated to 3.4.6 and did the import. Data shows incorrect parent child relationship in the application while the DB shows the correct data.

Current Available Fix: Delete all the contact groups and import them in one go using any import method.

Potential Issue with Fix: When importing more data on a future version, this may happen again.

@szollin commented on GitHub (Mar 31, 2023): Tested this and once again, got the issue to pop up. Cause of bug: Old version has data and imports CSV when updated to the latest version Test: Installed 3.2.2 and added a couple of entries to Contact Group manually. Updated to 3.4.6 and did the import. Data shows incorrect parent child relationship in the application while the DB shows the correct data. Current Available Fix: Delete all the contact groups and import them in one go using any import method. Potential Issue with Fix: When importing more data on a future version, this may happen again.
Author
Owner

@szollin commented on GitHub (Apr 5, 2023):

@jeremystretch Does my test meet your needs of the needed revisions?

@szollin commented on GitHub (Apr 5, 2023): @jeremystretch Does my test meet your needs of the needed revisions?
Author
Owner

@szollin commented on GitHub (Apr 10, 2023):

@jeremystretch and/or @kkthxbye-code, Can you confirm my findings?

@szollin commented on GitHub (Apr 10, 2023): @jeremystretch and/or @kkthxbye-code, Can you confirm my findings?
Author
Owner

@jeremystretch commented on GitHub (Apr 10, 2023):

Please stop pinging maintainers just because you want an update. We have hundreds of other issues to deal with as well as yours.

@jeremystretch commented on GitHub (Apr 10, 2023): Please stop pinging maintainers just because you want an update. We have hundreds of other issues to deal with as well as yours.
Author
Owner

@jeremystretch commented on GitHub (Apr 10, 2023):

I have already asked you four separate times to make improvements to your issue. I personally will not be spending any more time on this issue, but maybe another maintainer will take an interest.

@jeremystretch commented on GitHub (Apr 10, 2023): I have already asked you four separate times to make improvements to your issue. I personally will not be spending any more time on this issue, but maybe another maintainer will take an interest.
Author
Owner

@jeremystretch commented on GitHub (May 4, 2023):

When attempting to reproduce the bug, the provided CSV data fails validation: Row 2: Expected 5 columns but found 6.

As sufficient reproduction instructions have not been provided after several iterations, I'm going to close this out. If anyone is able to reproduce the behavior and provide detailed, accurate steps for doing so on the current stable release of NetBox, please submit a new bug report.

@jeremystretch commented on GitHub (May 4, 2023): When attempting to reproduce the bug, the provided CSV data fails validation: `Row 2: Expected 5 columns but found 6`. As sufficient reproduction instructions have not been provided after several iterations, I'm going to close this out. If anyone is able to reproduce the behavior and provide **detailed, accurate steps** for doing so on the current stable release of NetBox, please submit a new bug report.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#7675