Issue #2741
closedPulp is not compatible with Django 1.10
Description
As reported on list: https://www.redhat.com/archives/pulp-list/2017-April/msg00023.html
Django 1.10 is coming with Fedora 26 so we should fix this before that release. Also, Django 1.11 is coming with Rawhide (F27) so since we're fixing compatibility with the urls and Django versions, we would do well to ensure that our forward compatibility supports 1.6 through 1.11.
Pulp needs to also stay compatible with Django 1.6.11 which is the version you get on EL7. You can see all the versions on the different distros here: https://apps.fedoraproject.org/packages/python-django
Related issues
Updated by bmbouter over 7 years ago
The ideal way to fix this would be to find a way to express the urls in one way that is common to 1.6 through 1.10 and just switch to that.
I suspect a common way across that many versions is not possible. If it's not, then creating a compatibility layer to allow the code to express the urls once, but have them handed to Django in the way that specific version needs would be good.
Either way, we should follow the Don't Repeat Yourself (DRY) principle and only have our URLs represented once and not duplicated.
Updated by ttereshc over 7 years ago
- Priority changed from Normal to High
- Sprint/Milestone set to 37
- Severity changed from 2. Medium to 3. High
- Triaged changed from No to Yes
Updated by pcreech over 7 years ago
There has been some previous work for this compatibility.
After grep'ing the codebase, I found a couple places that could also use a version check guard.
./pulp_puppet/pulp_puppet_plugins/pulp_puppet/forge/urls.py:urlpatterns = patterns('',
./pulp/server/pulp/server/content/web/urls.py:urlpatterns = patterns(
Updated by bmbouter over 7 years ago
- Description updated (diff)
Revising after @alan.milligan pointed out that 1.11 is coming with Rawhide.
Updated by jortel@redhat.com over 7 years ago
- Sprint/Milestone changed from 37 to 38
Updated by daviddavis over 7 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to daviddavis
Updated by daviddavis over 7 years ago
Given what patterns()
does in django 1.6[1], I think we're safe using just a list of url()
calls. That's actually what we're doing already here:
https://github.com/pulp/pulp/blob/master/server/pulp/server/webservices/urls.py#L84
Also, I think I am going to leave the compat_urls.py files alone since they're only loaded in django < 1.6.
Updated by bmbouter over 7 years ago
- Related to Issue #2750: pulp_puppet is not compatible with django 1.10 added
Updated by daviddavis over 7 years ago
- Status changed from ASSIGNED to POST
Added by daviddavis over 7 years ago
Updated by daviddavis over 7 years ago
- Status changed from POST to MODIFIED
Applied in changeset pulp|fcee56f18f7af067403d657b6a2e5bd0fab67dcf.
Updated by pcreech over 7 years ago
- Status changed from 5 to CLOSED - CURRENTRELEASE
Supporting django 1.6-1.11
fixes #2741 https://pulp.plan.io/issues/2741