Project

Profile

Help

Issue #2741

closed

Pulp is not compatible with Django 1.10

Added by bmbouter almost 7 years ago. Updated about 5 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
High
Assignee:
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
3. High
Version:
Platform Release:
2.13.2
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Sprint 20
Quarter:

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

Related to Puppet Support - Issue #2750: pulp_puppet is not compatible with django 1.10CLOSED - CURRENTRELEASEdaviddavisActions
Actions #1

Updated by bmbouter almost 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.

Actions #2

Updated by ttereshc almost 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
Actions #3

Updated by pcreech almost 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(

Actions #4

Updated by bmbouter almost 7 years ago

  • Description updated (diff)

Revising after @alan.milligan pointed out that 1.11 is coming with Rawhide.

Actions #5

Updated by jortel@redhat.com almost 7 years ago

  • Sprint/Milestone changed from 37 to 38
Actions #6

Updated by daviddavis almost 7 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to daviddavis
Actions #7

Updated by daviddavis almost 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.

[1] https://git.io/v91F8

Actions #8

Updated by bmbouter almost 7 years ago

  • Related to Issue #2750: pulp_puppet is not compatible with django 1.10 added
Actions #9

Updated by daviddavis almost 7 years ago

  • Status changed from ASSIGNED to POST
Actions #10

Updated by mhrivnak almost 7 years ago

  • Sprint/Milestone changed from 38 to 39
Actions #11

Updated by daviddavis almost 7 years ago

  • Status changed from POST to MODIFIED
Actions #12

Updated by pcreech almost 7 years ago

  • Platform Release set to 2.13.2
Actions #13

Updated by pcreech almost 7 years ago

  • Status changed from MODIFIED to 5
Actions #14

Updated by pcreech almost 7 years ago

  • Status changed from 5 to CLOSED - CURRENTRELEASE
Actions #15

Updated by bmbouter about 6 years ago

  • Sprint set to Sprint 20
Actions #16

Updated by bmbouter about 6 years ago

  • Sprint/Milestone deleted (39)
Actions #17

Updated by bmbouter about 5 years ago

  • Tags Pulp 2 added

Also available in: Atom PDF