Project

Profile

Help

Issue #2741

Pulp is not compatible with Django 1.10

Added by bmbouter over 4 years ago. Updated almost 3 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 - CURRENTRELEASE<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>

Associated revisions

History

#1 Updated by bmbouter over 4 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.

#2 Updated by ttereshc over 4 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

#3 Updated by pcreech over 4 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(

#4 Updated by bmbouter over 4 years ago

  • Description updated (diff)

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

#5 Updated by jortel@redhat.com over 4 years ago

  • Sprint/Milestone changed from 37 to 38

#6 Updated by daviddavis over 4 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to daviddavis

#7 Updated by daviddavis over 4 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

#8 Updated by bmbouter over 4 years ago

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

#9 Updated by daviddavis over 4 years ago

  • Status changed from ASSIGNED to POST

#10 Updated by mhrivnak over 4 years ago

  • Sprint/Milestone changed from 38 to 39

#11 Updated by daviddavis over 4 years ago

  • Status changed from POST to MODIFIED

#12 Updated by pcreech over 4 years ago

  • Platform Release set to 2.13.2

#13 Updated by pcreech over 4 years ago

  • Status changed from MODIFIED to 5

#14 Updated by pcreech over 4 years ago

  • Status changed from 5 to CLOSED - CURRENTRELEASE

#15 Updated by bmbouter almost 4 years ago

  • Sprint set to Sprint 20

#16 Updated by bmbouter almost 4 years ago

  • Sprint/Milestone deleted (39)

#17 Updated by bmbouter almost 3 years ago

  • Tags Pulp 2 added

Also available in: Atom PDF