Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to DiffSync 2.0 #349

Closed
wants to merge 10 commits into from
Closed

Update to DiffSync 2.0 #349

wants to merge 10 commits into from

Conversation

jdrew82
Copy link
Contributor

@jdrew82 jdrew82 commented Feb 2, 2024

This PR is to make all the required changes to support DiffSync 2.0 and pydantic 2.0.

Also needed to disable ChatOps while we wait for it to be updated for ipfabric library. Also updated our ipfabric dependencies.

This will be break all third party Apps as the create() signature has changed and will also require updates to class attributes.
… have None default for Optional.

Also fixed a few default types that were using list() and should be [].
@jdrew82 jdrew82 added type: major feature integration: servicenow Issues originally from standalone ServiceNow SSoT repo integration: infoblox Issues/PRs for Infoblox integration integration: ciscoaci Issues/PRs for Cisco ACI integration. integration: ipfabric Issues/PRs for IPFabric integration integration: cloudvision Issues/PRs for the Arista CloudVision SSoT integration. integration: device42 Issues/PRs for Device42 Integration integration: contrib Contrib related issues and PRs labels Feb 2, 2024
@jdrew82 jdrew82 self-assigned this Feb 2, 2024
@jdrew82 jdrew82 marked this pull request as draft February 2, 2024 19:29
Copy link
Contributor

@Kircheneer Kircheneer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you make a todo note for this to link to the "Upgrading" docs from diffsync from the SSoT docs? Apart from that, LGTM. Thanks for doing all this work!

EDIT: Here it is: https://diffsync.readthedocs.io/en/latest/upgrading/index.html#upgrading

Comment on lines +53 to +54
jsonschema = "^4.18.0"
attrs = "^22.2.0"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you put a comment that explains why we need these two explicit dependencies?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was done temporarily due to the versions being chosen by poetry before were throwing a lot of errors during testing.

myst-parser = "^0.15.2"
nautobot-chatops = { version = "^3.0.0", extras = ["ipfabric"] }
myst-parser = "^2.0.0"
# nautobot-chatops = { version = "^3.0.0", extras = ["ipfabric"] }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we commenting this out?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was done temporarily until ChatOps gets updated also. It's also using ipfabric-diagrams library which is deprecated and doesn't support pydantic 2.0. We need to replace that with ipfabric library and update any uses of the diagrams library to use how it's done in the standard ipfabric library now.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like it if we remove this dependency as it makes it very difficult from my side to develop as I have to update Chatops, wait for a release, and then can update SSOT.

@cordeezy2 cordeezy2 mentioned this pull request Apr 4, 2024
@jdrew82 jdrew82 closed this Apr 23, 2024
@jdrew82 jdrew82 deleted the feat-pydantic2 branch April 23, 2024 14:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
integration: ciscoaci Issues/PRs for Cisco ACI integration. integration: cloudvision Issues/PRs for the Arista CloudVision SSoT integration. integration: contrib Contrib related issues and PRs integration: device42 Issues/PRs for Device42 Integration integration: infoblox Issues/PRs for Infoblox integration integration: ipfabric Issues/PRs for IPFabric integration integration: servicenow Issues originally from standalone ServiceNow SSoT repo type: major feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants