Skip to content

Move to Django 3.0 #3848

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

Closed
jeremystretch opened this issue Jan 6, 2020 · 6 comments
Closed

Move to Django 3.0 #3848

jeremystretch opened this issue Jan 6, 2020 · 6 comments
Assignees
Labels
status: accepted This issue has been accepted for implementation type: housekeeping Changes to the application which do not directly impact the end user
Milestone

Comments

@jeremystretch
Copy link
Member

Proposed Changes

Update NetBox to move from Django 2.2 to Django 3.0.

Note: This will drop support for Python 3.5.

Justification

General maintenance

@jeremystretch jeremystretch added status: accepted This issue has been accepted for implementation type: housekeeping Changes to the application which do not directly impact the end user labels Jan 6, 2020
@jeremystretch jeremystretch added this to the v2.8 milestone Jan 6, 2020
@gdmk
Copy link

gdmk commented Jan 22, 2020

Are there any plans to bring in MariaDB as a new backend along with Django 3.0? Django 3.0 will no longer support PG 9.4 and this is the last version with free BDR ver 1 support, MariaDB has a very mature and free clustering builtin (Galera)

@ignatenkobrain
Copy link

It seems that problem mentioned here needs to be fixed for the transition.

Since we don't have django 2.x in Fedora anymore, I'd love to help with testing netbox under django 3.x

@tyler-8
Copy link
Contributor

tyler-8 commented Feb 17, 2020

From a maintenance perspective, does it make more sense to wait to upgrade to the 3.2 LTS rather than 3.0? That would give the maintainer team a stable API (currently on 2.2 LTS and 3.2 LTS in 2021) to work with until 2022, rather than chasing the X.0 and x.1 releases. That also gives Django features plenty of time to bake and receive patches.

I know it's tempting to target the handful of things in the new releases that have use cases in Netbox - but from a longevity and sanity perspective, perhaps waiting for the next LTS is a win for the project. Food for thought.

@tyler-8
Copy link
Contributor

tyler-8 commented Feb 17, 2020

Are there any plans to bring in MariaDB as a new backend along with Django 3.0? Django 3.0 will no longer support PG 9.4 and this is the last version with free BDR ver 1 support, MariaDB has a very mature and free clustering builtin (Galera)

@gdmk Netbox relies on specific data type handling in Postgresql so adding support for other database solutions isn't so easy without doing work on lots of core areas.

@jeremystretch jeremystretch self-assigned this Feb 18, 2020
@jeremystretch
Copy link
Member Author

It looks like Python 3.6 introduced a new standard library called secrets, which conflicts with our internal app secrets. This hasn't been a problem until now, but Django 3.0 employs the standard library for certain functions related to password generation (previously, random was used). This presents a problem, because Django is importing our local app instead of the standard library.

I'm not sure whether there is a clean way to work around this. We may need to rename the secrets app.

@jeremystretch
Copy link
Member Author

I've worked around the above temporarily, though we should still come up with a more permanent solution.

jeremystretch added a commit that referenced this issue Feb 19, 2020
@lock lock bot locked as resolved and limited conversation to collaborators May 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: accepted This issue has been accepted for implementation type: housekeeping Changes to the application which do not directly impact the end user
Projects
None yet
Development

No branches or pull requests

4 participants