Pulp is not compatible with Django 1.10
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
#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.
#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(
#7 Updated by daviddavis over 4 years ago
patterns() does in django 1.6, I think we're safe using just a list of
url() calls. That's actually what we're doing already here:
Also, I think I am going to leave the compat_urls.py files alone since they're only loaded in django < 1.6.