summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkihiro Motoki <amotoki@gmail.com>2017-12-12 13:30:33 +0900
committerAkihiro Motoki <amotoki@gmail.com>2018-02-17 01:36:48 +0900
commite477eafa458e9f76d2ad1b38540f2b3cc97a7d80 (patch)
treef6a7a37a2647179c755ae8cdad546b57328485cc
parent76fa01b7de024c4ee197a0d6c37061795bb10b52 (diff)
django2: Replace django.core.urlresolves with django.urls
(In Django 2.0) The django.core.urlresolvers module is removed in favor of its new location, django.urls. It was depreacted in Django 1.10: https://docs.djangoproject.com/en/2.0/releases/1.10/#id3 blueprint django2-support Change-Id: I46ab5c325491274b8eaffbf848e5d80f83c2fd26
Notes
Notes (review): Code-Review+2: Ivan Kolodyazhny <e0ne@e0ne.info> Workflow+1: Ivan Kolodyazhny <e0ne@e0ne.info> Verified+2: Zuul Submitted-by: Zuul Submitted-at: Thu, 01 Mar 2018 14:34:28 +0000 Reviewed-on: https://review.openstack.org/527320 Project: openstack/horizon Branch: refs/heads/master
-rw-r--r--horizon/base.py2
-rw-r--r--horizon/forms/fields.py10
-rw-r--r--horizon/tables/actions.py8
-rw-r--r--horizon/tables/base.py6
-rw-r--r--horizon/templatetags/branding.py2
-rw-r--r--horizon/test/unit/tables/test_tables.py2
-rw-r--r--horizon/test/unit/test_base.py6
-rw-r--r--horizon/workflows/base.py6
-rw-r--r--openstack_auth/tests/unit/test_auth.py2
-rw-r--r--openstack_dashboard/contrib/developer/profiler/middleware.py2
-rw-r--r--openstack_dashboard/dashboards/admin/aggregates/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/aggregates/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/defaults/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/flavors/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/flavors/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/flavors/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/floating_ips/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/floating_ips/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/floating_ips/views.py4
-rw-r--r--openstack_dashboard/dashboards/admin/hypervisors/compute/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/hypervisors/compute/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/hypervisors/compute/views.py4
-rw-r--r--openstack_dashboard/dashboards/admin/hypervisors/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/images/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/images/views.py4
-rw-r--r--openstack_dashboard/dashboards/admin/info/tables.py6
-rw-r--r--openstack_dashboard/dashboards/admin/info/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/instances/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/instances/tables.py6
-rw-r--r--openstack_dashboard/dashboards/admin/instances/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/instances/views.py4
-rw-r--r--openstack_dashboard/dashboards/admin/metadata_defs/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/metadata_defs/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/metadata_defs/views.py4
-rw-r--r--openstack_dashboard/dashboards/admin/networks/agents/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/agents/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/agents/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/agents/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/ports/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/ports/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/ports/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/ports/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/subnets/tables.py4
-rw-r--r--openstack_dashboard/dashboards/admin/networks/subnets/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/subnets/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/subnets/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/networks/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/admin/overview/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/routers/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/routers/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/routers/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/snapshots/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/snapshots/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/admin/snapshots/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/snapshots/views.py4
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/extras/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/extras/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/extras/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/extras/views.py4
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/qos_specs/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/qos_specs/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/qos_specs/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/qos_specs/views.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/tables.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volume_types/views.py4
-rw-r--r--openstack_dashboard/dashboards/admin/volumes/forms.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volumes/tests.py2
-rw-r--r--openstack_dashboard/dashboards/admin/volumes/views.py4
-rw-r--r--openstack_dashboard/dashboards/identity/domains/tables.py2
-rw-r--r--openstack_dashboard/dashboards/identity/domains/tests.py2
-rw-r--r--openstack_dashboard/dashboards/identity/domains/views.py2
-rw-r--r--openstack_dashboard/dashboards/identity/domains/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/identity/groups/tables.py2
-rw-r--r--openstack_dashboard/dashboards/identity/groups/tests.py2
-rw-r--r--openstack_dashboard/dashboards/identity/groups/views.py4
-rw-r--r--openstack_dashboard/dashboards/identity/identity_providers/protocols/tables.py2
-rw-r--r--openstack_dashboard/dashboards/identity/identity_providers/protocols/tests.py2
-rw-r--r--openstack_dashboard/dashboards/identity/identity_providers/protocols/views.py2
-rw-r--r--openstack_dashboard/dashboards/identity/identity_providers/tests.py2
-rw-r--r--openstack_dashboard/dashboards/identity/identity_providers/views.py4
-rw-r--r--openstack_dashboard/dashboards/identity/mappings/tests.py2
-rw-r--r--openstack_dashboard/dashboards/identity/mappings/views.py4
-rw-r--r--openstack_dashboard/dashboards/identity/projects/tables.py2
-rw-r--r--openstack_dashboard/dashboards/identity/projects/tests.py2
-rw-r--r--openstack_dashboard/dashboards/identity/projects/views.py2
-rw-r--r--openstack_dashboard/dashboards/identity/projects/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/identity/roles/tests.py2
-rw-r--r--openstack_dashboard/dashboards/identity/roles/views.py4
-rw-r--r--openstack_dashboard/dashboards/identity/users/tests.py2
-rw-r--r--openstack_dashboard/dashboards/identity/users/views.py4
-rw-r--r--openstack_dashboard/dashboards/project/api_access/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/api_access/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/backups/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/backups/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/backups/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/backups/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/backups/views.py4
-rw-r--r--openstack_dashboard/dashboards/project/cg_snapshots/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/cg_snapshots/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/cg_snapshots/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/cg_snapshots/views.py4
-rw-r--r--openstack_dashboard/dashboards/project/cgroups/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/cgroups/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/cgroups/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/cgroups/views.py4
-rw-r--r--openstack_dashboard/dashboards/project/floating_ips/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/floating_ips/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/floating_ips/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/floating_ips/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/project/images/images/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/images/images/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/images/images/views.py4
-rw-r--r--openstack_dashboard/dashboards/project/images/snapshots/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/images/snapshots/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/images/snapshots/views.py4
-rw-r--r--openstack_dashboard/dashboards/project/images/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/instances/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/instances/tables.py20
-rw-r--r--openstack_dashboard/dashboards/project/instances/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/instances/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/instances/views.py4
-rw-r--r--openstack_dashboard/dashboards/project/key_pairs/tables.py4
-rw-r--r--openstack_dashboard/dashboards/project/key_pairs/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/key_pairs/views.py4
-rw-r--r--openstack_dashboard/dashboards/project/network_topology/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/network_topology/views.py4
-rw-r--r--openstack_dashboard/dashboards/project/networks/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/subnets/tables.py4
-rw-r--r--openstack_dashboard/dashboards/project/networks/subnets/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/subnets/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/subnets/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/networks/views.py4
-rw-r--r--openstack_dashboard/dashboards/project/networks/workflows.py2
-rw-r--r--openstack_dashboard/dashboards/project/overview/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/extensions/extraroutes/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/extensions/extraroutes/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/forms.py4
-rw-r--r--openstack_dashboard/dashboards/project/routers/ports/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/ports/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/ports/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/ports/views.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/routers/views.py4
-rw-r--r--openstack_dashboard/dashboards/project/security_groups/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/security_groups/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/security_groups/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/security_groups/views.py4
-rw-r--r--openstack_dashboard/dashboards/project/snapshots/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/snapshots/tables.py2
-rw-r--r--openstack_dashboard/dashboards/project/snapshots/tabs.py2
-rw-r--r--openstack_dashboard/dashboards/project/snapshots/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/snapshots/views.py4
-rw-r--r--openstack_dashboard/dashboards/project/volumes/forms.py2
-rw-r--r--openstack_dashboard/dashboards/project/volumes/tables.py4
-rw-r--r--openstack_dashboard/dashboards/project/volumes/tests.py2
-rw-r--r--openstack_dashboard/dashboards/project/volumes/views.py4
-rw-r--r--openstack_dashboard/dashboards/settings/password/tests.py2
-rw-r--r--openstack_dashboard/dashboards/settings/password/views.py2
-rw-r--r--openstack_dashboard/dashboards/settings/user/tests.py2
-rw-r--r--openstack_dashboard/dashboards/settings/user/views.py2
-rw-r--r--openstack_dashboard/test/helpers.py4
-rw-r--r--openstack_dashboard/usage/tables.py4
-rw-r--r--openstack_dashboard/views.py6
178 files changed, 240 insertions, 240 deletions
diff --git a/horizon/base.py b/horizon/base.py
index 1cfdfa8b..6fac4ce 100644
--- a/horizon/base.py
+++ b/horizon/base.py
@@ -32,7 +32,7 @@ from django.conf import settings
32from django.conf.urls import include 32from django.conf.urls import include
33from django.conf.urls import url 33from django.conf.urls import url
34from django.core.exceptions import ImproperlyConfigured 34from django.core.exceptions import ImproperlyConfigured
35from django.core.urlresolvers import reverse 35from django.urls import reverse
36from django.utils.encoding import python_2_unicode_compatible 36from django.utils.encoding import python_2_unicode_compatible
37from django.utils.functional import empty 37from django.utils.functional import empty
38from django.utils.functional import SimpleLazyObject 38from django.utils.functional import SimpleLazyObject
diff --git a/horizon/forms/fields.py b/horizon/forms/fields.py
index 79f5c45..334d86f 100644
--- a/horizon/forms/fields.py
+++ b/horizon/forms/fields.py
@@ -21,12 +21,12 @@ import six
21from oslo_utils import uuidutils 21from oslo_utils import uuidutils
22 22
23from django.core.exceptions import ValidationError 23from django.core.exceptions import ValidationError
24from django.core import urlresolvers
25from django.forms import fields 24from django.forms import fields
26from django.forms import forms 25from django.forms import forms
27from django.forms.utils import flatatt 26from django.forms.utils import flatatt
28from django.forms import widgets 27from django.forms import widgets
29from django.template.loader import get_template 28from django.template.loader import get_template
29from django import urls
30from django.utils.encoding import force_text 30from django.utils.encoding import force_text
31from django.utils.encoding import python_2_unicode_compatible 31from django.utils.encoding import python_2_unicode_compatible
32from django.utils.functional import Promise 32from django.utils.functional import Promise
@@ -364,11 +364,11 @@ class DynamicSelectWidget(SelectWidget):
364 return self.add_item_link() 364 return self.add_item_link()
365 try: 365 try:
366 if self.add_item_link_args: 366 if self.add_item_link_args:
367 return urlresolvers.reverse(self.add_item_link, 367 return urls.reverse(self.add_item_link,
368 args=self.add_item_link_args) 368 args=self.add_item_link_args)
369 else: 369 else:
370 return urlresolvers.reverse(self.add_item_link) 370 return urls.reverse(self.add_item_link)
371 except urlresolvers.NoReverseMatch: 371 except urls.NoReverseMatch:
372 return self.add_item_link 372 return self.add_item_link
373 373
374 374
diff --git a/horizon/tables/actions.py b/horizon/tables/actions.py
index 906560a..b3f07b9 100644
--- a/horizon/tables/actions.py
+++ b/horizon/tables/actions.py
@@ -20,9 +20,9 @@ import logging
20import types 20import types
21 21
22from django.conf import settings 22from django.conf import settings
23from django.core import urlresolvers
24from django import shortcuts 23from django import shortcuts
25from django.template.loader import render_to_string 24from django.template.loader import render_to_string
25from django import urls
26from django.utils.functional import Promise 26from django.utils.functional import Promise
27from django.utils.http import urlencode 27from django.utils.http import urlencode
28from django.utils.translation import ugettext_lazy as _ 28from django.utils.translation import ugettext_lazy as _
@@ -406,10 +406,10 @@ class LinkAction(BaseAction):
406 try: 406 try:
407 if datum: 407 if datum:
408 obj_id = self.table.get_object_id(datum) 408 obj_id = self.table.get_object_id(datum)
409 return urlresolvers.reverse(self.url, args=(obj_id,)) 409 return urls.reverse(self.url, args=(obj_id,))
410 else: 410 else:
411 return urlresolvers.reverse(self.url) 411 return urls.reverse(self.url)
412 except urlresolvers.NoReverseMatch as ex: 412 except urls.NoReverseMatch as ex:
413 LOG.info('No reverse found for "%(url)s": %(exception)s', 413 LOG.info('No reverse found for "%(url)s": %(exception)s',
414 {'url': self.url, 'exception': ex}) 414 {'url': self.url, 'exception': ex})
415 return self.url 415 return self.url
diff --git a/horizon/tables/base.py b/horizon/tables/base.py
index 955dcd3..65a02b9 100644
--- a/horizon/tables/base.py
+++ b/horizon/tables/base.py
@@ -22,13 +22,13 @@ import sys
22 22
23from django.conf import settings 23from django.conf import settings
24from django.core import exceptions as core_exceptions 24from django.core import exceptions as core_exceptions
25from django.core import urlresolvers
26from django import forms 25from django import forms
27from django.http import HttpResponse 26from django.http import HttpResponse
28from django import template 27from django import template
29from django.template.defaultfilters import slugify 28from django.template.defaultfilters import slugify
30from django.template.defaultfilters import truncatechars 29from django.template.defaultfilters import truncatechars
31from django.template.loader import render_to_string 30from django.template.loader import render_to_string
31from django import urls
32from django.utils.html import escape 32from django.utils.html import escape
33from django.utils import http 33from django.utils import http
34from django.utils.http import urlencode 34from django.utils.http import urlencode
@@ -471,8 +471,8 @@ class Column(html.HTMLElement):
471 return self.link(datum, request=self.table.request) 471 return self.link(datum, request=self.table.request)
472 return self.link(datum) 472 return self.link(datum)
473 try: 473 try:
474 return urlresolvers.reverse(self.link, args=(obj_id,)) 474 return urls.reverse(self.link, args=(obj_id,))
475 except urlresolvers.NoReverseMatch: 475 except urls.NoReverseMatch:
476 return self.link 476 return self.link
477 477
478 if getattr(settings, 'INTEGRATION_TESTS_SUPPORT', False): 478 if getattr(settings, 'INTEGRATION_TESTS_SUPPORT', False):
diff --git a/horizon/templatetags/branding.py b/horizon/templatetags/branding.py
index cfcf854..cff2119 100644
--- a/horizon/templatetags/branding.py
+++ b/horizon/templatetags/branding.py
@@ -21,8 +21,8 @@ Template tags for customizing Horizon.
21""" 21"""
22 22
23from django.conf import settings 23from django.conf import settings
24from django.core.urlresolvers import reverse
25from django import template 24from django import template
25from django.urls import reverse
26from django.utils.translation import ugettext_lazy as _ 26from django.utils.translation import ugettext_lazy as _
27 27
28 28
diff --git a/horizon/test/unit/tables/test_tables.py b/horizon/test/unit/tables/test_tables.py
index 0d55683..67b0813 100644
--- a/horizon/test/unit/tables/test_tables.py
+++ b/horizon/test/unit/tables/test_tables.py
@@ -18,12 +18,12 @@
18import unittest 18import unittest
19import uuid 19import uuid
20 20
21from django.core.urlresolvers import reverse
22from django import forms 21from django import forms
23from django import http 22from django import http
24from django import shortcuts 23from django import shortcuts
25from django.template import defaultfilters 24from django.template import defaultfilters
26from django.test.utils import override_settings 25from django.test.utils import override_settings
26from django.urls import reverse
27from django.utils.translation import ungettext_lazy 27from django.utils.translation import ungettext_lazy
28 28
29import mock 29import mock
diff --git a/horizon/test/unit/test_base.py b/horizon/test/unit/test_base.py
index abb64bb..344c804 100644
--- a/horizon/test/unit/test_base.py
+++ b/horizon/test/unit/test_base.py
@@ -26,7 +26,7 @@ import django
26from django.conf import settings 26from django.conf import settings
27from django.contrib.auth.models import User 27from django.contrib.auth.models import User
28from django.core.exceptions import ImproperlyConfigured 28from django.core.exceptions import ImproperlyConfigured
29from django.core import urlresolvers 29from django import urls
30 30
31import horizon 31import horizon
32from horizon import base 32from horizon import base
@@ -125,7 +125,7 @@ class BaseHorizonTests(test.TestCase):
125 Allows URLs to be re-calculated after registering new dashboards. 125 Allows URLs to be re-calculated after registering new dashboards.
126 Useful only for testing and should never be used on a live site. 126 Useful only for testing and should never be used on a live site.
127 """ 127 """
128 urlresolvers.clear_url_caches() 128 urls.clear_url_caches()
129 moves.reload_module(import_module(settings.ROOT_URLCONF)) 129 moves.reload_module(import_module(settings.ROOT_URLCONF))
130 base.Horizon._urls() 130 base.Horizon._urls()
131 131
@@ -226,7 +226,7 @@ class HorizonTests(BaseHorizonTests):
226 cats = horizon.get_dashboard("cats") 226 cats = horizon.get_dashboard("cats")
227 tigers = cats.get_panel("tigers") 227 tigers = cats.get_panel("tigers")
228 tigers.index_url_name = "does_not_exist" 228 tigers.index_url_name = "does_not_exist"
229 with self.assertRaises(urlresolvers.NoReverseMatch): 229 with self.assertRaises(urls.NoReverseMatch):
230 tigers.get_absolute_url() 230 tigers.get_absolute_url()
231 tigers.index_url_name = "index" 231 tigers.index_url_name = "index"
232 self.assertEqual("/cats/tigers/", tigers.get_absolute_url()) 232 self.assertEqual("/cats/tigers/", tigers.get_absolute_url())
diff --git a/horizon/workflows/base.py b/horizon/workflows/base.py
index 6e6ef1d..c06d6f6 100644
--- a/horizon/workflows/base.py
+++ b/horizon/workflows/base.py
@@ -17,13 +17,13 @@ from importlib import import_module
17import inspect 17import inspect
18import logging 18import logging
19 19
20from django.core import urlresolvers
21from django import forms 20from django import forms
22from django.forms.forms import NON_FIELD_ERRORS 21from django.forms.forms import NON_FIELD_ERRORS
23from django import template 22from django import template
24from django.template.defaultfilters import linebreaks 23from django.template.defaultfilters import linebreaks
25from django.template.defaultfilters import safe 24from django.template.defaultfilters import safe
26from django.template.defaultfilters import slugify 25from django.template.defaultfilters import slugify
26from django import urls
27from django.utils.encoding import force_text 27from django.utils.encoding import force_text
28from django.utils.translation import ugettext_lazy as _ 28from django.utils.translation import ugettext_lazy as _
29from openstack_auth import policy 29from openstack_auth import policy
@@ -858,8 +858,8 @@ class Workflow(html.HTMLElement):
858 or a standard HTTP URL. 858 or a standard HTTP URL.
859 """ 859 """
860 try: 860 try:
861 return urlresolvers.reverse(self.success_url) 861 return urls.reverse(self.success_url)
862 except urlresolvers.NoReverseMatch: 862 except urls.NoReverseMatch:
863 return self.success_url 863 return self.success_url
864 864
865 def format_status_message(self, message): 865 def format_status_message(self, message):
diff --git a/openstack_auth/tests/unit/test_auth.py b/openstack_auth/tests/unit/test_auth.py
index a087e54..c48702c 100644
--- a/openstack_auth/tests/unit/test_auth.py
+++ b/openstack_auth/tests/unit/test_auth.py
@@ -16,8 +16,8 @@ import uuid
16import django 16import django
17from django.conf import settings 17from django.conf import settings
18from django.contrib import auth 18from django.contrib import auth
19from django.core.urlresolvers import reverse
20from django import test 19from django import test
20from django.urls import reverse
21from keystoneauth1 import exceptions as keystone_exceptions 21from keystoneauth1 import exceptions as keystone_exceptions
22from keystoneauth1.identity import v2 as v2_auth 22from keystoneauth1.identity import v2 as v2_auth
23from keystoneauth1.identity import v3 as v3_auth 23from keystoneauth1.identity import v3 as v3_auth
diff --git a/openstack_dashboard/contrib/developer/profiler/middleware.py b/openstack_dashboard/contrib/developer/profiler/middleware.py
index 7fec15c..ba55251 100644
--- a/openstack_dashboard/contrib/developer/profiler/middleware.py
+++ b/openstack_dashboard/contrib/developer/profiler/middleware.py
@@ -15,7 +15,7 @@
15 15
16from django.conf import settings 16from django.conf import settings
17from django.core import exceptions 17from django.core import exceptions
18from django.core.urlresolvers import reverse 18from django.urls import reverse
19from django.utils import safestring 19from django.utils import safestring
20from django.utils.translation import ugettext_lazy as _ 20from django.utils.translation import ugettext_lazy as _
21from osprofiler import _utils as profiler_utils 21from osprofiler import _utils as profiler_utils
diff --git a/openstack_dashboard/dashboards/admin/aggregates/tests.py b/openstack_dashboard/dashboards/admin/aggregates/tests.py
index af670e8..22c18e0 100644
--- a/openstack_dashboard/dashboards/admin/aggregates/tests.py
+++ b/openstack_dashboard/dashboards/admin/aggregates/tests.py
@@ -12,8 +12,8 @@
12 12
13import mock 13import mock
14 14
15from django.core.urlresolvers import reverse
16from django import http 15from django import http
16from django.urls import reverse
17from django.utils import html 17from django.utils import html
18from mox3.mox import IsA 18from mox3.mox import IsA
19 19
diff --git a/openstack_dashboard/dashboards/admin/aggregates/views.py b/openstack_dashboard/dashboards/admin/aggregates/views.py
index 5157394..acda8e7 100644
--- a/openstack_dashboard/dashboards/admin/aggregates/views.py
+++ b/openstack_dashboard/dashboards/admin/aggregates/views.py
@@ -10,7 +10,7 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse_lazy 13from django.urls import reverse_lazy
14from django.utils.translation import ugettext_lazy as _ 14from django.utils.translation import ugettext_lazy as _
15 15
16from horizon import exceptions 16from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/defaults/tests.py b/openstack_dashboard/dashboards/admin/defaults/tests.py
index 1175540..147bdd1 100644
--- a/openstack_dashboard/dashboards/admin/defaults/tests.py
+++ b/openstack_dashboard/dashboards/admin/defaults/tests.py
@@ -12,8 +12,8 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse
16from django import http 15from django import http
16from django.urls import reverse
17from mox3.mox import IsA 17from mox3.mox import IsA
18 18
19from openstack_dashboard import api 19from openstack_dashboard import api
diff --git a/openstack_dashboard/dashboards/admin/flavors/tables.py b/openstack_dashboard/dashboards/admin/flavors/tables.py
index 5d2faf1..e5c4d1a 100644
--- a/openstack_dashboard/dashboards/admin/flavors/tables.py
+++ b/openstack_dashboard/dashboards/admin/flavors/tables.py
@@ -17,8 +17,8 @@
17# under the License. 17# under the License.
18 18
19from django.conf import settings 19from django.conf import settings
20from django.core.urlresolvers import reverse
21from django.template import defaultfilters as filters 20from django.template import defaultfilters as filters
21from django.urls import reverse
22from django.utils.http import urlencode 22from django.utils.http import urlencode
23from django.utils.translation import ugettext_lazy as _ 23from django.utils.translation import ugettext_lazy as _
24from django.utils.translation import ungettext_lazy 24from django.utils.translation import ungettext_lazy
diff --git a/openstack_dashboard/dashboards/admin/flavors/tests.py b/openstack_dashboard/dashboards/admin/flavors/tests.py
index 358abfb..1176bb1 100644
--- a/openstack_dashboard/dashboards/admin/flavors/tests.py
+++ b/openstack_dashboard/dashboards/admin/flavors/tests.py
@@ -12,8 +12,8 @@
12 12
13import django 13import django
14from django.conf import settings 14from django.conf import settings
15from django.core.urlresolvers import reverse
16from django import http 15from django import http
16from django.urls import reverse
17from mox3.mox import IsA 17from mox3.mox import IsA
18from novaclient.v2 import flavors 18from novaclient.v2 import flavors
19 19
diff --git a/openstack_dashboard/dashboards/admin/flavors/views.py b/openstack_dashboard/dashboards/admin/flavors/views.py
index 0ca1587..c8472bb 100644
--- a/openstack_dashboard/dashboards/admin/flavors/views.py
+++ b/openstack_dashboard/dashboards/admin/flavors/views.py
@@ -16,7 +16,7 @@
16# License for the specific language governing permissions and limitations 16# License for the specific language governing permissions and limitations
17# under the License. 17# under the License.
18 18
19from django.core.urlresolvers import reverse_lazy 19from django.urls import reverse_lazy
20from django.utils.translation import ugettext_lazy as _ 20from django.utils.translation import ugettext_lazy as _
21 21
22from horizon import exceptions 22from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/floating_ips/forms.py b/openstack_dashboard/dashboards/admin/floating_ips/forms.py
index 182f720..459e206 100644
--- a/openstack_dashboard/dashboards/admin/floating_ips/forms.py
+++ b/openstack_dashboard/dashboards/admin/floating_ips/forms.py
@@ -13,7 +13,7 @@
13# License for the specific language governing permissions and limitations 13# License for the specific language governing permissions and limitations
14# under the License. 14# under the License.
15 15
16from django.core.urlresolvers import reverse 16from django.urls import reverse
17from django.utils.translation import ugettext_lazy as _ 17from django.utils.translation import ugettext_lazy as _
18 18
19from horizon import exceptions 19from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/floating_ips/tests.py b/openstack_dashboard/dashboards/admin/floating_ips/tests.py
index 10c0a3d..c78602f 100644
--- a/openstack_dashboard/dashboards/admin/floating_ips/tests.py
+++ b/openstack_dashboard/dashboards/admin/floating_ips/tests.py
@@ -13,8 +13,8 @@
13# License for the specific language governing permissions and limitations 13# License for the specific language governing permissions and limitations
14# under the License. 14# under the License.
15 15
16from django.core.urlresolvers import reverse
17from django import http 16from django import http
17from django.urls import reverse
18from mox3.mox import IsA 18from mox3.mox import IsA
19 19
20from openstack_dashboard import api 20from openstack_dashboard import api
diff --git a/openstack_dashboard/dashboards/admin/floating_ips/views.py b/openstack_dashboard/dashboards/admin/floating_ips/views.py
index 766a592..02d4f14 100644
--- a/openstack_dashboard/dashboards/admin/floating_ips/views.py
+++ b/openstack_dashboard/dashboards/admin/floating_ips/views.py
@@ -15,8 +15,8 @@
15 15
16from collections import OrderedDict 16from collections import OrderedDict
17 17
18from django.core.urlresolvers import reverse 18from django.urls import reverse
19from django.core.urlresolvers import reverse_lazy 19from django.urls import reverse_lazy
20from django.utils.translation import ugettext_lazy as _ 20from django.utils.translation import ugettext_lazy as _
21import netaddr 21import netaddr
22 22
diff --git a/openstack_dashboard/dashboards/admin/hypervisors/compute/forms.py b/openstack_dashboard/dashboards/admin/hypervisors/compute/forms.py
index f4f9de8..2e9a643 100644
--- a/openstack_dashboard/dashboards/admin/hypervisors/compute/forms.py
+++ b/openstack_dashboard/dashboards/admin/hypervisors/compute/forms.py
@@ -10,7 +10,7 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.utils.translation import ugettext_lazy as _ 14from django.utils.translation import ugettext_lazy as _
15 15
16from horizon import exceptions 16from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/hypervisors/compute/tests.py b/openstack_dashboard/dashboards/admin/hypervisors/compute/tests.py
index a590db4..d6d5bbf 100644
--- a/openstack_dashboard/dashboards/admin/hypervisors/compute/tests.py
+++ b/openstack_dashboard/dashboards/admin/hypervisors/compute/tests.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse
14from django import http 13from django import http
14from django.urls import reverse
15from mox3.mox import IsA 15from mox3.mox import IsA
16 16
17from openstack_dashboard import api 17from openstack_dashboard import api
diff --git a/openstack_dashboard/dashboards/admin/hypervisors/compute/views.py b/openstack_dashboard/dashboards/admin/hypervisors/compute/views.py
index fd7f213..c549111 100644
--- a/openstack_dashboard/dashboards/admin/hypervisors/compute/views.py
+++ b/openstack_dashboard/dashboards/admin/hypervisors/compute/views.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.core.urlresolvers import reverse_lazy 14from django.urls import reverse_lazy
15from django.utils.translation import ugettext_lazy as _ 15from django.utils.translation import ugettext_lazy as _
16 16
17from horizon import exceptions 17from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/hypervisors/tests.py b/openstack_dashboard/dashboards/admin/hypervisors/tests.py
index 61cbcaa..9b9ed40 100644
--- a/openstack_dashboard/dashboards/admin/hypervisors/tests.py
+++ b/openstack_dashboard/dashboards/admin/hypervisors/tests.py
@@ -12,8 +12,8 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse
16from django import http 15from django import http
16from django.urls import reverse
17from mox3.mox import IsA 17from mox3.mox import IsA
18 18
19from openstack_dashboard import api 19from openstack_dashboard import api
diff --git a/openstack_dashboard/dashboards/admin/images/tests.py b/openstack_dashboard/dashboards/admin/images/tests.py
index 3a75d17..b7b1307 100644
--- a/openstack_dashboard/dashboards/admin/images/tests.py
+++ b/openstack_dashboard/dashboards/admin/images/tests.py
@@ -13,8 +13,8 @@
13# under the License. 13# under the License.
14 14
15from django.conf import settings 15from django.conf import settings
16from django.core.urlresolvers import reverse
17from django.test.utils import override_settings 16from django.test.utils import override_settings
17from django.urls import reverse
18 18
19import mock 19import mock
20 20
diff --git a/openstack_dashboard/dashboards/admin/images/views.py b/openstack_dashboard/dashboards/admin/images/views.py
index 52c8a23..2f9a733 100644
--- a/openstack_dashboard/dashboards/admin/images/views.py
+++ b/openstack_dashboard/dashboards/admin/images/views.py
@@ -22,8 +22,8 @@ from oslo_utils import units
22from six.moves import builtins 22from six.moves import builtins
23 23
24from django.conf import settings 24from django.conf import settings
25from django.core.urlresolvers import reverse 25from django.urls import reverse
26from django.core.urlresolvers import reverse_lazy 26from django.urls import reverse_lazy
27from django.utils.translation import ugettext_lazy as _ 27from django.utils.translation import ugettext_lazy as _
28 28
29from horizon import exceptions 29from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/info/tables.py b/openstack_dashboard/dashboards/admin/info/tables.py
index 40894f0..9e5b3ef 100644
--- a/openstack_dashboard/dashboards/admin/info/tables.py
+++ b/openstack_dashboard/dashboards/admin/info/tables.py
@@ -11,9 +11,9 @@
11# under the License. 11# under the License.
12 12
13from django.conf import settings 13from django.conf import settings
14from django.core import urlresolvers
15from django import template 14from django import template
16from django.template import defaultfilters as filters 15from django.template import defaultfilters as filters
16from django import urls
17from django.utils.translation import pgettext_lazy 17from django.utils.translation import pgettext_lazy
18from django.utils.translation import ugettext_lazy as _ 18from django.utils.translation import ugettext_lazy as _
19 19
@@ -196,8 +196,8 @@ class NetworkL3AgentRoutersLinkAction(tables.LinkAction):
196 196
197 def get_link_url(self, datum=None): 197 def get_link_url(self, datum=None):
198 obj_id = datum.id 198 obj_id = datum.id
199 return urlresolvers.reverse("horizon:admin:routers:l3_agent_list", 199 return urls.reverse("horizon:admin:routers:l3_agent_list",
200 args=(obj_id,)) 200 args=(obj_id,))
201 201
202 202
203class NetworkAgentsTable(tables.DataTable): 203class NetworkAgentsTable(tables.DataTable):
diff --git a/openstack_dashboard/dashboards/admin/info/tests.py b/openstack_dashboard/dashboards/admin/info/tests.py
index 9cbe865..8e1249f 100644
--- a/openstack_dashboard/dashboards/admin/info/tests.py
+++ b/openstack_dashboard/dashboards/admin/info/tests.py
@@ -12,8 +12,8 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse
16from django import http 15from django import http
16from django.urls import reverse
17from mox3.mox import IgnoreArg 17from mox3.mox import IgnoreArg
18from mox3.mox import IsA 18from mox3.mox import IsA
19 19
diff --git a/openstack_dashboard/dashboards/admin/instances/forms.py b/openstack_dashboard/dashboards/admin/instances/forms.py
index 5002f59..a63fda2 100644
--- a/openstack_dashboard/dashboards/admin/instances/forms.py
+++ b/openstack_dashboard/dashboards/admin/instances/forms.py
@@ -13,7 +13,7 @@
13# under the License. 13# under the License.
14 14
15 15
16from django.core.urlresolvers import reverse 16from django.urls import reverse
17from django.utils.translation import ugettext_lazy as _ 17from django.utils.translation import ugettext_lazy as _
18 18
19from horizon import exceptions 19from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/instances/tables.py b/openstack_dashboard/dashboards/admin/instances/tables.py
index 808a972..85efead 100644
--- a/openstack_dashboard/dashboards/admin/instances/tables.py
+++ b/openstack_dashboard/dashboards/admin/instances/tables.py
@@ -13,8 +13,8 @@
13# License for the specific language governing permissions and limitations 13# License for the specific language governing permissions and limitations
14# under the License. 14# under the License.
15 15
16from django.core import urlresolvers
17from django.template.defaultfilters import title 16from django.template.defaultfilters import title
17from django import urls
18from django.utils.translation import ugettext_lazy as _ 18from django.utils.translation import ugettext_lazy as _
19from django.utils.translation import ungettext_lazy 19from django.utils.translation import ungettext_lazy
20from keystoneclient import exceptions as keystone_exceptions 20from keystoneclient import exceptions as keystone_exceptions
@@ -209,8 +209,8 @@ class AdminInstancesTable(tables.DataTable):
209 209
210 210
211def user_link(datum): 211def user_link(datum):
212 return urlresolvers.reverse("horizon:identity:users:detail", 212 return urls.reverse("horizon:identity:users:detail",
213 args=(datum.user_id,)) 213 args=(datum.user_id,))
214 214
215 215
216class AdminAuditTable(audit_tables.AuditTable): 216class AdminAuditTable(audit_tables.AuditTable):
diff --git a/openstack_dashboard/dashboards/admin/instances/tests.py b/openstack_dashboard/dashboards/admin/instances/tests.py
index 2340a18..f985197 100644
--- a/openstack_dashboard/dashboards/admin/instances/tests.py
+++ b/openstack_dashboard/dashboards/admin/instances/tests.py
@@ -15,8 +15,8 @@
15from collections import OrderedDict 15from collections import OrderedDict
16import uuid 16import uuid
17 17
18from django.core.urlresolvers import reverse
19from django import http 18from django import http
19from django.urls import reverse
20 20
21from mox3.mox import IsA 21from mox3.mox import IsA
22 22
diff --git a/openstack_dashboard/dashboards/admin/instances/views.py b/openstack_dashboard/dashboards/admin/instances/views.py
index ccccd7a..f98764f 100644
--- a/openstack_dashboard/dashboards/admin/instances/views.py
+++ b/openstack_dashboard/dashboards/admin/instances/views.py
@@ -20,8 +20,8 @@
20import futurist 20import futurist
21 21
22from django.conf import settings 22from django.conf import settings
23from django.core.urlresolvers import reverse 23from django.urls import reverse
24from django.core.urlresolvers import reverse_lazy 24from django.urls import reverse_lazy
25from django.utils.translation import ugettext_lazy as _ 25from django.utils.translation import ugettext_lazy as _
26 26
27from horizon import exceptions 27from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/metadata_defs/forms.py b/openstack_dashboard/dashboards/admin/metadata_defs/forms.py
index c33653c..900311e 100644
--- a/openstack_dashboard/dashboards/admin/metadata_defs/forms.py
+++ b/openstack_dashboard/dashboards/admin/metadata_defs/forms.py
@@ -18,8 +18,8 @@ Forms for managing metadata.
18""" 18"""
19import json 19import json
20 20
21from django.core.urlresolvers import reverse
22from django.forms import ValidationError 21from django.forms import ValidationError
22from django.urls import reverse
23from django.utils.translation import ugettext_lazy as _ 23from django.utils.translation import ugettext_lazy as _
24 24
25from horizon import exceptions 25from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/metadata_defs/tests.py b/openstack_dashboard/dashboards/admin/metadata_defs/tests.py
index 026d51f..6b321b9 100644
--- a/openstack_dashboard/dashboards/admin/metadata_defs/tests.py
+++ b/openstack_dashboard/dashboards/admin/metadata_defs/tests.py
@@ -16,8 +16,8 @@
16 16
17import json 17import json
18 18
19from django.core.urlresolvers import reverse
20from django import http 19from django import http
20from django.urls import reverse
21 21
22from mox3.mox import IsA 22from mox3.mox import IsA
23import six 23import six
diff --git a/openstack_dashboard/dashboards/admin/metadata_defs/views.py b/openstack_dashboard/dashboards/admin/metadata_defs/views.py
index deda899..495f003 100644
--- a/openstack_dashboard/dashboards/admin/metadata_defs/views.py
+++ b/openstack_dashboard/dashboards/admin/metadata_defs/views.py
@@ -14,8 +14,8 @@
14 14
15import json 15import json
16 16
17from django.core.urlresolvers import reverse 17from django.urls import reverse
18from django.core.urlresolvers import reverse_lazy 18from django.urls import reverse_lazy
19from django.utils.translation import ugettext_lazy as _ 19from django.utils.translation import ugettext_lazy as _
20 20
21from horizon import exceptions 21from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/networks/agents/forms.py b/openstack_dashboard/dashboards/admin/networks/agents/forms.py
index 1f6ccca..0c4ff4d 100644
--- a/openstack_dashboard/dashboards/admin/networks/agents/forms.py
+++ b/openstack_dashboard/dashboards/admin/networks/agents/forms.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse 15from django.urls import reverse
16from django.utils.translation import ugettext_lazy as _ 16from django.utils.translation import ugettext_lazy as _
17 17
18from horizon import exceptions 18from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/networks/agents/tables.py b/openstack_dashboard/dashboards/admin/networks/agents/tables.py
index 0c08736..b896192 100644
--- a/openstack_dashboard/dashboards/admin/networks/agents/tables.py
+++ b/openstack_dashboard/dashboards/admin/networks/agents/tables.py
@@ -14,8 +14,8 @@
14 14
15import logging 15import logging
16 16
17from django.core.urlresolvers import reverse
18from django.template import defaultfilters as filters 17from django.template import defaultfilters as filters
18from django.urls import reverse
19from django.utils.translation import ugettext_lazy as _ 19from django.utils.translation import ugettext_lazy as _
20from django.utils.translation import ungettext_lazy 20from django.utils.translation import ungettext_lazy
21 21
diff --git a/openstack_dashboard/dashboards/admin/networks/agents/tests.py b/openstack_dashboard/dashboards/admin/networks/agents/tests.py
index 7c2e4fd..ac26073 100644
--- a/openstack_dashboard/dashboards/admin/networks/agents/tests.py
+++ b/openstack_dashboard/dashboards/admin/networks/agents/tests.py
@@ -13,8 +13,8 @@
13# License for the specific language governing permissions and limitations 13# License for the specific language governing permissions and limitations
14# under the License. 14# under the License.
15 15
16from django.core.urlresolvers import reverse
17from django import http 16from django import http
17from django.urls import reverse
18 18
19from mox3.mox import IsA 19from mox3.mox import IsA
20 20
diff --git a/openstack_dashboard/dashboards/admin/networks/agents/views.py b/openstack_dashboard/dashboards/admin/networks/agents/views.py
index 5e998fa..140e2ec 100644
--- a/openstack_dashboard/dashboards/admin/networks/agents/views.py
+++ b/openstack_dashboard/dashboards/admin/networks/agents/views.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse 15from django.urls import reverse
16from django.utils.translation import ugettext_lazy as _ 16from django.utils.translation import ugettext_lazy as _
17 17
18from horizon import exceptions 18from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/networks/forms.py b/openstack_dashboard/dashboards/admin/networks/forms.py
index b95bff2..0c4dd5f 100644
--- a/openstack_dashboard/dashboards/admin/networks/forms.py
+++ b/openstack_dashboard/dashboards/admin/networks/forms.py
@@ -15,7 +15,7 @@
15import logging 15import logging
16 16
17from django.conf import settings 17from django.conf import settings
18from django.core.urlresolvers import reverse 18from django.urls import reverse
19from django.utils.translation import ugettext_lazy as _ 19from django.utils.translation import ugettext_lazy as _
20 20
21from horizon import exceptions 21from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/networks/ports/tables.py b/openstack_dashboard/dashboards/admin/networks/ports/tables.py
index 580afec..10114aa 100644
--- a/openstack_dashboard/dashboards/admin/networks/ports/tables.py
+++ b/openstack_dashboard/dashboards/admin/networks/ports/tables.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse_lazy 15from django.urls import reverse_lazy
16from django.utils.translation import ugettext_lazy as _ 16from django.utils.translation import ugettext_lazy as _
17 17
18from horizon import exceptions 18from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/networks/ports/tests.py b/openstack_dashboard/dashboards/admin/networks/ports/tests.py
index eeedb9f..cf049ab 100644
--- a/openstack_dashboard/dashboards/admin/networks/ports/tests.py
+++ b/openstack_dashboard/dashboards/admin/networks/ports/tests.py
@@ -13,8 +13,8 @@
13# License for the specific language governing permissions and limitations 13# License for the specific language governing permissions and limitations
14# under the License. 14# under the License.
15 15
16from django.core.urlresolvers import reverse
17from django import http 16from django import http
17from django.urls import reverse
18 18
19from mox3.mox import IsA 19from mox3.mox import IsA
20 20
diff --git a/openstack_dashboard/dashboards/admin/networks/ports/views.py b/openstack_dashboard/dashboards/admin/networks/ports/views.py
index 21a81bc..e707bf2 100644
--- a/openstack_dashboard/dashboards/admin/networks/ports/views.py
+++ b/openstack_dashboard/dashboards/admin/networks/ports/views.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse 15from django.urls import reverse
16from django.utils.translation import ugettext_lazy as _ 16from django.utils.translation import ugettext_lazy as _
17 17
18from openstack_dashboard.dashboards.admin.networks.ports \ 18from openstack_dashboard.dashboards.admin.networks.ports \
diff --git a/openstack_dashboard/dashboards/admin/networks/ports/workflows.py b/openstack_dashboard/dashboards/admin/networks/ports/workflows.py
index 4cdc6f0..269184d 100644
--- a/openstack_dashboard/dashboards/admin/networks/ports/workflows.py
+++ b/openstack_dashboard/dashboards/admin/networks/ports/workflows.py
@@ -15,7 +15,7 @@
15 15
16import logging 16import logging
17 17
18from django.core.urlresolvers import reverse 18from django.urls import reverse
19from django.utils.translation import ugettext_lazy as _ 19from django.utils.translation import ugettext_lazy as _
20 20
21from horizon import forms 21from horizon import forms
diff --git a/openstack_dashboard/dashboards/admin/networks/subnets/tables.py b/openstack_dashboard/dashboards/admin/networks/subnets/tables.py
index 9e9dadd..707913c 100644
--- a/openstack_dashboard/dashboards/admin/networks/subnets/tables.py
+++ b/openstack_dashboard/dashboards/admin/networks/subnets/tables.py
@@ -14,8 +14,8 @@
14 14
15import logging 15import logging
16 16
17from django.core.urlresolvers import reverse 17from django.urls import reverse
18from django.core.urlresolvers import reverse_lazy 18from django.urls import reverse_lazy
19from django.utils.translation import ugettext_lazy as _ 19from django.utils.translation import ugettext_lazy as _
20 20
21from horizon import exceptions 21from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/networks/subnets/tests.py b/openstack_dashboard/dashboards/admin/networks/subnets/tests.py
index d31a8ab..3780929 100644
--- a/openstack_dashboard/dashboards/admin/networks/subnets/tests.py
+++ b/openstack_dashboard/dashboards/admin/networks/subnets/tests.py
@@ -13,8 +13,8 @@
13# License for the specific language governing permissions and limitations 13# License for the specific language governing permissions and limitations
14# under the License. 14# under the License.
15 15
16from django.core.urlresolvers import reverse
17from django import http 16from django import http
17from django.urls import reverse
18from mox3.mox import IsA 18from mox3.mox import IsA
19 19
20from horizon.workflows import views 20from horizon.workflows import views
diff --git a/openstack_dashboard/dashboards/admin/networks/subnets/views.py b/openstack_dashboard/dashboards/admin/networks/subnets/views.py
index 45edb50..03368f7 100644
--- a/openstack_dashboard/dashboards/admin/networks/subnets/views.py
+++ b/openstack_dashboard/dashboards/admin/networks/subnets/views.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse 15from django.urls import reverse
16 16
17from openstack_dashboard.dashboards.project.networks.subnets \ 17from openstack_dashboard.dashboards.project.networks.subnets \
18 import views as project_views 18 import views as project_views
diff --git a/openstack_dashboard/dashboards/admin/networks/subnets/workflows.py b/openstack_dashboard/dashboards/admin/networks/subnets/workflows.py
index 871b379..72e2521 100644
--- a/openstack_dashboard/dashboards/admin/networks/subnets/workflows.py
+++ b/openstack_dashboard/dashboards/admin/networks/subnets/workflows.py
@@ -14,7 +14,7 @@
14 14
15import logging 15import logging
16 16
17from django.core.urlresolvers import reverse 17from django.urls import reverse
18from django.utils.translation import ugettext_lazy as _ 18from django.utils.translation import ugettext_lazy as _
19 19
20from horizon import exceptions 20from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/networks/tests.py b/openstack_dashboard/dashboards/admin/networks/tests.py
index 3f39533..a17a1ba 100644
--- a/openstack_dashboard/dashboards/admin/networks/tests.py
+++ b/openstack_dashboard/dashboards/admin/networks/tests.py
@@ -13,8 +13,8 @@
13# under the License. 13# under the License.
14 14
15 15
16from django.core.urlresolvers import reverse
17from django import http 16from django import http
17from django.urls import reverse
18from django.utils.http import urlunquote 18from django.utils.http import urlunquote
19 19
20from mox3.mox import IsA 20from mox3.mox import IsA
diff --git a/openstack_dashboard/dashboards/admin/networks/views.py b/openstack_dashboard/dashboards/admin/networks/views.py
index dbb8131..6cc52d0 100644
--- a/openstack_dashboard/dashboards/admin/networks/views.py
+++ b/openstack_dashboard/dashboards/admin/networks/views.py
@@ -15,7 +15,7 @@
15from collections import OrderedDict 15from collections import OrderedDict
16 16
17from django.conf import settings 17from django.conf import settings
18from django.core.urlresolvers import reverse_lazy 18from django.urls import reverse_lazy
19from django.utils.translation import ugettext_lazy as _ 19from django.utils.translation import ugettext_lazy as _
20 20
21from horizon import exceptions 21from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/networks/workflows.py b/openstack_dashboard/dashboards/admin/networks/workflows.py
index d8925ae..e1b9620 100644
--- a/openstack_dashboard/dashboards/admin/networks/workflows.py
+++ b/openstack_dashboard/dashboards/admin/networks/workflows.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse 15from django.urls import reverse
16 16
17from openstack_dashboard.dashboards.admin.networks import forms \ 17from openstack_dashboard.dashboards.admin.networks import forms \
18 as networks_forms 18 as networks_forms
diff --git a/openstack_dashboard/dashboards/admin/overview/tests.py b/openstack_dashboard/dashboards/admin/overview/tests.py
index 0d12803..ea2f1c3 100644
--- a/openstack_dashboard/dashboards/admin/overview/tests.py
+++ b/openstack_dashboard/dashboards/admin/overview/tests.py
@@ -18,9 +18,9 @@
18 18
19import datetime 19import datetime
20 20
21from django.core.urlresolvers import reverse
22from django import http 21from django import http
23from django.test.utils import override_settings 22from django.test.utils import override_settings
23from django.urls import reverse
24from django.utils import encoding 24from django.utils import encoding
25from django.utils import timezone 25from django.utils import timezone
26 26
diff --git a/openstack_dashboard/dashboards/admin/routers/forms.py b/openstack_dashboard/dashboards/admin/routers/forms.py
index 596b50b..23ebba3 100644
--- a/openstack_dashboard/dashboards/admin/routers/forms.py
+++ b/openstack_dashboard/dashboards/admin/routers/forms.py
@@ -10,7 +10,7 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse_lazy 13from django.urls import reverse_lazy
14 14
15from openstack_dashboard.dashboards.project.routers import forms as r_forms 15from openstack_dashboard.dashboards.project.routers import forms as r_forms
16 16
diff --git a/openstack_dashboard/dashboards/admin/routers/tests.py b/openstack_dashboard/dashboards/admin/routers/tests.py
index 43a0d30..f2f6e01 100644
--- a/openstack_dashboard/dashboards/admin/routers/tests.py
+++ b/openstack_dashboard/dashboards/admin/routers/tests.py
@@ -12,8 +12,8 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse
16from django import http 15from django import http
16from django.urls import reverse
17 17
18from mox3.mox import IgnoreArg 18from mox3.mox import IgnoreArg
19from mox3.mox import IsA 19from mox3.mox import IsA
diff --git a/openstack_dashboard/dashboards/admin/routers/views.py b/openstack_dashboard/dashboards/admin/routers/views.py
index c97fdce..b4b3c8a 100644
--- a/openstack_dashboard/dashboards/admin/routers/views.py
+++ b/openstack_dashboard/dashboards/admin/routers/views.py
@@ -17,7 +17,7 @@ Views for managing Neutron Routers.
17""" 17"""
18 18
19from django.conf import settings 19from django.conf import settings
20from django.core.urlresolvers import reverse_lazy 20from django.urls import reverse_lazy
21from django.utils.translation import ugettext_lazy as _ 21from django.utils.translation import ugettext_lazy as _
22 22
23from horizon import exceptions 23from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/snapshots/forms.py b/openstack_dashboard/dashboards/admin/snapshots/forms.py
index b127a0d..85bb082 100644
--- a/openstack_dashboard/dashboards/admin/snapshots/forms.py
+++ b/openstack_dashboard/dashboards/admin/snapshots/forms.py
@@ -11,7 +11,7 @@
11# under the License. 11# under the License.
12 12
13 13
14from django.core.urlresolvers import reverse 14from django.urls import reverse
15from django.utils.translation import ugettext_lazy as _ 15from django.utils.translation import ugettext_lazy as _
16 16
17from horizon import exceptions 17from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/snapshots/tabs.py b/openstack_dashboard/dashboards/admin/snapshots/tabs.py
index 177381c..29b35e4 100644
--- a/openstack_dashboard/dashboards/admin/snapshots/tabs.py
+++ b/openstack_dashboard/dashboards/admin/snapshots/tabs.py
@@ -10,7 +10,7 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.utils.translation import ugettext_lazy as _ 14from django.utils.translation import ugettext_lazy as _
15 15
16from horizon import tabs 16from horizon import tabs
diff --git a/openstack_dashboard/dashboards/admin/snapshots/tests.py b/openstack_dashboard/dashboards/admin/snapshots/tests.py
index be3e9aa..bf30c2e 100644
--- a/openstack_dashboard/dashboards/admin/snapshots/tests.py
+++ b/openstack_dashboard/dashboards/admin/snapshots/tests.py
@@ -11,9 +11,9 @@
11# under the License. 11# under the License.
12 12
13from django.conf import settings 13from django.conf import settings
14from django.core.urlresolvers import reverse
15from django import http 14from django import http
16from django.test.utils import override_settings 15from django.test.utils import override_settings
16from django.urls import reverse
17from django.utils.http import urlunquote 17from django.utils.http import urlunquote
18from mox3.mox import IsA 18from mox3.mox import IsA
19 19
diff --git a/openstack_dashboard/dashboards/admin/snapshots/views.py b/openstack_dashboard/dashboards/admin/snapshots/views.py
index 74f3e8e..3b9ac4d 100644
--- a/openstack_dashboard/dashboards/admin/snapshots/views.py
+++ b/openstack_dashboard/dashboards/admin/snapshots/views.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.core.urlresolvers import reverse_lazy 14from django.urls import reverse_lazy
15from django.utils.translation import ugettext_lazy as _ 15from django.utils.translation import ugettext_lazy as _
16 16
17from horizon import exceptions 17from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/volume_types/extras/forms.py b/openstack_dashboard/dashboards/admin/volume_types/extras/forms.py
index 8c3d726..cc7d446 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/extras/forms.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/extras/forms.py
@@ -10,7 +10,7 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.utils.translation import ugettext_lazy as _ 14from django.utils.translation import ugettext_lazy as _
15 15
16from openstack_dashboard import api 16from openstack_dashboard import api
diff --git a/openstack_dashboard/dashboards/admin/volume_types/extras/tables.py b/openstack_dashboard/dashboards/admin/volume_types/extras/tables.py
index 5a7519d..1e6714c 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/extras/tables.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/extras/tables.py
@@ -10,7 +10,7 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.utils.translation import ugettext_lazy as _ 14from django.utils.translation import ugettext_lazy as _
15from django.utils.translation import ungettext_lazy 15from django.utils.translation import ungettext_lazy
16 16
diff --git a/openstack_dashboard/dashboards/admin/volume_types/extras/tests.py b/openstack_dashboard/dashboards/admin/volume_types/extras/tests.py
index 9ccfe93..d2c257a 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/extras/tests.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/extras/tests.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse
14from django import http 13from django import http
14from django.urls import reverse
15 15
16from mox3.mox import IsA 16from mox3.mox import IsA
17 17
diff --git a/openstack_dashboard/dashboards/admin/volume_types/extras/views.py b/openstack_dashboard/dashboards/admin/volume_types/extras/views.py
index 0515535..1284421 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/extras/views.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/extras/views.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.core.urlresolvers import reverse_lazy 14from django.urls import reverse_lazy
15from django.utils.translation import ugettext_lazy as _ 15from django.utils.translation import ugettext_lazy as _
16 16
17from horizon import exceptions 17from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/volume_types/forms.py b/openstack_dashboard/dashboards/admin/volume_types/forms.py
index cdacf94..3ff8a11 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/forms.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/forms.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse
14from django.forms import ValidationError 13from django.forms import ValidationError
14from django.urls import reverse
15from django.utils.translation import ugettext_lazy as _ 15from django.utils.translation import ugettext_lazy as _
16 16
17from horizon import exceptions 17from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/volume_types/qos_specs/forms.py b/openstack_dashboard/dashboards/admin/volume_types/qos_specs/forms.py
index 0f1ecfe..eb503ff 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/qos_specs/forms.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/qos_specs/forms.py
@@ -10,7 +10,7 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.utils.translation import ugettext_lazy as _ 14from django.utils.translation import ugettext_lazy as _
15 15
16from horizon import exceptions 16from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/volume_types/qos_specs/tables.py b/openstack_dashboard/dashboards/admin/volume_types/qos_specs/tables.py
index 1c58f67..cf687b1 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/qos_specs/tables.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/qos_specs/tables.py
@@ -10,7 +10,7 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.utils.translation import ugettext_lazy as _ 14from django.utils.translation import ugettext_lazy as _
15from django.utils.translation import ungettext_lazy 15from django.utils.translation import ungettext_lazy
16 16
diff --git a/openstack_dashboard/dashboards/admin/volume_types/qos_specs/tests.py b/openstack_dashboard/dashboards/admin/volume_types/qos_specs/tests.py
index 60b9851..d49ce01 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/qos_specs/tests.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/qos_specs/tests.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse
14from django import http 13from django import http
14from django.urls import reverse
15 15
16from mox3.mox import IsA 16from mox3.mox import IsA
17 17
diff --git a/openstack_dashboard/dashboards/admin/volume_types/qos_specs/views.py b/openstack_dashboard/dashboards/admin/volume_types/qos_specs/views.py
index 18c0500..10cba74 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/qos_specs/views.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/qos_specs/views.py
@@ -10,7 +10,7 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.utils.translation import ugettext_lazy as _ 14from django.utils.translation import ugettext_lazy as _
15 15
16from horizon import exceptions 16from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/volume_types/tables.py b/openstack_dashboard/dashboards/admin/volume_types/tables.py
index 7e3c63a..24e4c68 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/tables.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/tables.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse
14from django.template import defaultfilters as filters 13from django.template import defaultfilters as filters
14from django.urls import reverse
15from django.utils.translation import ugettext_lazy as _ 15from django.utils.translation import ugettext_lazy as _
16from django.utils.translation import ungettext_lazy 16from django.utils.translation import ungettext_lazy
17 17
diff --git a/openstack_dashboard/dashboards/admin/volume_types/tests.py b/openstack_dashboard/dashboards/admin/volume_types/tests.py
index 08a11c5..32102d0 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/tests.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/tests.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse
14from django import http 13from django import http
14from django.urls import reverse
15from mox3.mox import IsA 15from mox3.mox import IsA
16 16
17from horizon import exceptions 17from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/volume_types/views.py b/openstack_dashboard/dashboards/admin/volume_types/views.py
index 419c704..b4c0777 100644
--- a/openstack_dashboard/dashboards/admin/volume_types/views.py
+++ b/openstack_dashboard/dashboards/admin/volume_types/views.py
@@ -15,8 +15,8 @@ Admin views for managing volumes.
15""" 15"""
16from collections import OrderedDict 16from collections import OrderedDict
17 17
18from django.core.urlresolvers import reverse 18from django.urls import reverse
19from django.core.urlresolvers import reverse_lazy 19from django.urls import reverse_lazy
20from django.utils.translation import ugettext_lazy as _ 20from django.utils.translation import ugettext_lazy as _
21 21
22from horizon import exceptions 22from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/volumes/forms.py b/openstack_dashboard/dashboards/admin/volumes/forms.py
index bf1ae25..aa719dc 100644
--- a/openstack_dashboard/dashboards/admin/volumes/forms.py
+++ b/openstack_dashboard/dashboards/admin/volumes/forms.py
@@ -16,7 +16,7 @@
16# License for the specific language governing permissions and limitations 16# License for the specific language governing permissions and limitations
17# under the License. 17# under the License.
18 18
19from django.core.urlresolvers import reverse 19from django.urls import reverse
20from django.utils.translation import ugettext_lazy as _ 20from django.utils.translation import ugettext_lazy as _
21 21
22from horizon import exceptions 22from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/admin/volumes/tests.py b/openstack_dashboard/dashboards/admin/volumes/tests.py
index 423f192..1ab011f 100644
--- a/openstack_dashboard/dashboards/admin/volumes/tests.py
+++ b/openstack_dashboard/dashboards/admin/volumes/tests.py
@@ -15,8 +15,8 @@
15import copy 15import copy
16 16
17from django.conf import settings 17from django.conf import settings
18from django.core.urlresolvers import reverse
19from django.test.utils import override_settings 18from django.test.utils import override_settings
19from django.urls import reverse
20from django.utils.http import urlunquote 20from django.utils.http import urlunquote
21import mock 21import mock
22 22
diff --git a/openstack_dashboard/dashboards/admin/volumes/views.py b/openstack_dashboard/dashboards/admin/volumes/views.py
index 7c096a18..f46f4f4 100644
--- a/openstack_dashboard/dashboards/admin/volumes/views.py
+++ b/openstack_dashboard/dashboards/admin/volumes/views.py
@@ -18,8 +18,8 @@ Admin views for managing volumes and snapshots.
18from collections import OrderedDict 18from collections import OrderedDict
19 19
20from django.conf import settings 20from django.conf import settings
21from django.core.urlresolvers import reverse 21from django.urls import reverse
22from django.core.urlresolvers import reverse_lazy 22from django.urls import reverse_lazy
23from django.utils.translation import ugettext_lazy as _ 23from django.utils.translation import ugettext_lazy as _
24 24
25from horizon import exceptions 25from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/identity/domains/tables.py b/openstack_dashboard/dashboards/identity/domains/tables.py
index 48297b1..89fcf2a 100644
--- a/openstack_dashboard/dashboards/identity/domains/tables.py
+++ b/openstack_dashboard/dashboards/identity/domains/tables.py
@@ -15,8 +15,8 @@
15import logging 15import logging
16 16
17from django.conf import settings 17from django.conf import settings
18from django.core.urlresolvers import reverse
19from django.template import defaultfilters as filters 18from django.template import defaultfilters as filters
19from django.urls import reverse
20from django.utils.http import urlencode 20from django.utils.http import urlencode
21from django.utils.translation import ugettext_lazy as _ 21from django.utils.translation import ugettext_lazy as _
22from django.utils.translation import ungettext_lazy 22from django.utils.translation import ungettext_lazy
diff --git a/openstack_dashboard/dashboards/identity/domains/tests.py b/openstack_dashboard/dashboards/identity/domains/tests.py
index 7517315..c3ed4d2 100644
--- a/openstack_dashboard/dashboards/identity/domains/tests.py
+++ b/openstack_dashboard/dashboards/identity/domains/tests.py
@@ -13,8 +13,8 @@
13# under the License. 13# under the License.
14 14
15 15
16from django.core.urlresolvers import reverse
17from django import http 16from django import http
17from django.urls import reverse
18 18
19from mox3.mox import IgnoreArg 19from mox3.mox import IgnoreArg
20from mox3.mox import IsA 20from mox3.mox import IsA
diff --git a/openstack_dashboard/dashboards/identity/domains/views.py b/openstack_dashboard/dashboards/identity/domains/views.py
index c3914fa..eb63a6e 100644
--- a/openstack_dashboard/dashboards/identity/domains/views.py
+++ b/openstack_dashboard/dashboards/identity/domains/views.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse 15from django.urls import reverse
16from django.utils.translation import ugettext_lazy as _ 16from django.utils.translation import ugettext_lazy as _
17 17
18from horizon import exceptions 18from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/identity/domains/workflows.py b/openstack_dashboard/dashboards/identity/domains/workflows.py
index 2f68452..acf3dab 100644
--- a/openstack_dashboard/dashboards/identity/domains/workflows.py
+++ b/openstack_dashboard/dashboards/identity/domains/workflows.py
@@ -15,7 +15,7 @@
15import logging 15import logging
16 16
17from django.conf import settings 17from django.conf import settings
18from django.core.urlresolvers import reverse 18from django.urls import reverse
19from django.utils.translation import ugettext_lazy as _ 19from django.utils.translation import ugettext_lazy as _
20 20
21from openstack_auth import utils 21from openstack_auth import utils
diff --git a/openstack_dashboard/dashboards/identity/groups/tables.py b/openstack_dashboard/dashboards/identity/groups/tables.py
index a6fad0c..1e28c13 100644
--- a/openstack_dashboard/dashboards/identity/groups/tables.py
+++ b/openstack_dashboard/dashboards/identity/groups/tables.py
@@ -14,8 +14,8 @@
14 14
15import logging 15import logging
16 16
17from django.core.urlresolvers import reverse
18from django.template import defaultfilters 17from django.template import defaultfilters
18from django.urls import reverse
19from django.utils.translation import ugettext_lazy as _ 19from django.utils.translation import ugettext_lazy as _
20from django.utils.translation import ungettext_lazy 20from django.utils.translation import ungettext_lazy
21 21
diff --git a/openstack_dashboard/dashboards/identity/groups/tests.py b/openstack_dashboard/dashboards/identity/groups/tests.py
index 6b1e006..572bb2d 100644
--- a/openstack_dashboard/dashboards/identity/groups/tests.py
+++ b/openstack_dashboard/dashboards/identity/groups/tests.py
@@ -12,8 +12,8 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse
16from django import http 15from django import http
16from django.urls import reverse
17 17
18from mox3.mox import IgnoreArg 18from mox3.mox import IgnoreArg
19from mox3.mox import IsA 19from mox3.mox import IsA
diff --git a/openstack_dashboard/dashboards/identity/groups/views.py b/openstack_dashboard/dashboards/identity/groups/views.py
index 1fb72cd..ef3df9d 100644
--- a/openstack_dashboard/dashboards/identity/groups/views.py
+++ b/openstack_dashboard/dashboards/identity/groups/views.py
@@ -13,8 +13,8 @@
13# under the License. 13# under the License.
14 14
15from django.conf import settings 15from django.conf import settings
16from django.core.urlresolvers import reverse 16from django.urls import reverse
17from django.core.urlresolvers import reverse_lazy 17from django.urls import reverse_lazy
18from django.utils.translation import ugettext_lazy as _ 18from django.utils.translation import ugettext_lazy as _
19 19
20from horizon import exceptions 20from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/identity/identity_providers/protocols/tables.py b/openstack_dashboard/dashboards/identity/identity_providers/protocols/tables.py
index 3fd6822..15e5d1e 100644
--- a/openstack_dashboard/dashboards/identity/identity_providers/protocols/tables.py
+++ b/openstack_dashboard/dashboards/identity/identity_providers/protocols/tables.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse 15from django.urls import reverse
16from django.utils.translation import ugettext_lazy as _ 16from django.utils.translation import ugettext_lazy as _
17from django.utils.translation import ungettext_lazy 17from django.utils.translation import ungettext_lazy
18 18
diff --git a/openstack_dashboard/dashboards/identity/identity_providers/protocols/tests.py b/openstack_dashboard/dashboards/identity/identity_providers/protocols/tests.py
index 144e45c..9148550 100644
--- a/openstack_dashboard/dashboards/identity/identity_providers/protocols/tests.py
+++ b/openstack_dashboard/dashboards/identity/identity_providers/protocols/tests.py
@@ -12,8 +12,8 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse
16from django import http 15from django import http
16from django.urls import reverse
17 17
18from mox3.mox import IgnoreArg 18from mox3.mox import IgnoreArg
19from mox3.mox import IsA 19from mox3.mox import IsA
diff --git a/openstack_dashboard/dashboards/identity/identity_providers/protocols/views.py b/openstack_dashboard/dashboards/identity/identity_providers/protocols/views.py
index 8735761..b889f77 100644
--- a/openstack_dashboard/dashboards/identity/identity_providers/protocols/views.py
+++ b/openstack_dashboard/dashboards/identity/identity_providers/protocols/views.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse 15from django.urls import reverse
16from django.utils.translation import ugettext_lazy as _ 16from django.utils.translation import ugettext_lazy as _
17 17
18from horizon import forms 18from horizon import forms
diff --git a/openstack_dashboard/dashboards/identity/identity_providers/tests.py b/openstack_dashboard/dashboards/identity/identity_providers/tests.py
index 8157545..25e4e2a 100644
--- a/openstack_dashboard/dashboards/identity/identity_providers/tests.py
+++ b/openstack_dashboard/dashboards/identity/identity_providers/tests.py
@@ -12,8 +12,8 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse
16from django import http 15from django import http
16from django.urls import reverse
17 17
18from mox3.mox import IgnoreArg 18from mox3.mox import IgnoreArg
19from mox3.mox import IsA 19from mox3.mox import IsA
diff --git a/openstack_dashboard/dashboards/identity/identity_providers/views.py b/openstack_dashboard/dashboards/identity/identity_providers/views.py
index f75abc3..0936a41 100644
--- a/openstack_dashboard/dashboards/identity/identity_providers/views.py
+++ b/openstack_dashboard/dashboards/identity/identity_providers/views.py
@@ -12,8 +12,8 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse 15from django.urls import reverse
16from django.core.urlresolvers import reverse_lazy 16from django.urls import reverse_lazy
17from django.utils.translation import ugettext_lazy as _ 17from django.utils.translation import ugettext_lazy as _
18 18
19from horizon import exceptions 19from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/identity/mappings/tests.py b/openstack_dashboard/dashboards/identity/mappings/tests.py
index 9afa5d6..f76cbc6 100644
--- a/openstack_dashboard/dashboards/identity/mappings/tests.py
+++ b/openstack_dashboard/dashboards/identity/mappings/tests.py
@@ -14,8 +14,8 @@
14 14
15import json 15import json
16 16
17from django.core.urlresolvers import reverse
18from django import http 17from django import http
18from django.urls import reverse
19 19
20from mox3.mox import IgnoreArg 20from mox3.mox import IgnoreArg
21from mox3.mox import IsA 21from mox3.mox import IsA
diff --git a/openstack_dashboard/dashboards/identity/mappings/views.py b/openstack_dashboard/dashboards/identity/mappings/views.py
index ee45bc0..d7eb99f 100644
--- a/openstack_dashboard/dashboards/identity/mappings/views.py
+++ b/openstack_dashboard/dashboards/identity/mappings/views.py
@@ -14,8 +14,8 @@
14 14
15import json 15import json
16 16
17from django.core.urlresolvers import reverse 17from django.urls import reverse
18from django.core.urlresolvers import reverse_lazy 18from django.urls import reverse_lazy
19from django.utils.translation import ugettext_lazy as _ 19from django.utils.translation import ugettext_lazy as _
20 20
21from horizon import exceptions 21from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/identity/projects/tables.py b/openstack_dashboard/dashboards/identity/projects/tables.py
index b388690..2fca96e 100644
--- a/openstack_dashboard/dashboards/identity/projects/tables.py
+++ b/openstack_dashboard/dashboards/identity/projects/tables.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse
14from django.template import defaultfilters as filters 13from django.template import defaultfilters as filters
14from django.urls import reverse
15from django.utils.http import urlencode 15from django.utils.http import urlencode
16from django.utils.translation import ugettext_lazy as _ 16from django.utils.translation import ugettext_lazy as _
17from django.utils.translation import ungettext_lazy 17from django.utils.translation import ungettext_lazy
diff --git a/openstack_dashboard/dashboards/identity/projects/tests.py b/openstack_dashboard/dashboards/identity/projects/tests.py
index 16dd161..d5b6d91 100644
--- a/openstack_dashboard/dashboards/identity/projects/tests.py
+++ b/openstack_dashboard/dashboards/identity/projects/tests.py
@@ -18,9 +18,9 @@ import os
18import unittest 18import unittest
19 19
20import django 20import django
21from django.core.urlresolvers import reverse
22from django import http 21from django import http
23from django.test.utils import override_settings 22from django.test.utils import override_settings
23from django.urls import reverse
24from django.utils import timezone 24from django.utils import timezone
25 25
26from mox3.mox import IgnoreArg 26from mox3.mox import IgnoreArg
diff --git a/openstack_dashboard/dashboards/identity/projects/views.py b/openstack_dashboard/dashboards/identity/projects/views.py
index 21d579f..b6eca2c 100644
--- a/openstack_dashboard/dashboards/identity/projects/views.py
+++ b/openstack_dashboard/dashboards/identity/projects/views.py
@@ -17,7 +17,7 @@
17# under the License. 17# under the License.
18 18
19from django.conf import settings 19from django.conf import settings
20from django.core.urlresolvers import reverse 20from django.urls import reverse
21from django.utils.translation import ugettext_lazy as _ 21from django.utils.translation import ugettext_lazy as _
22 22
23from horizon import exceptions 23from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/identity/projects/workflows.py b/openstack_dashboard/dashboards/identity/projects/workflows.py
index 51e235c..18c93b7 100644
--- a/openstack_dashboard/dashboards/identity/projects/workflows.py
+++ b/openstack_dashboard/dashboards/identity/projects/workflows.py
@@ -19,7 +19,7 @@
19import logging 19import logging
20 20
21from django.conf import settings 21from django.conf import settings
22from django.core.urlresolvers import reverse 22from django.urls import reverse
23from django.utils.translation import ugettext_lazy as _ 23from django.utils.translation import ugettext_lazy as _
24 24
25from openstack_auth import utils 25from openstack_auth import utils
diff --git a/openstack_dashboard/dashboards/identity/roles/tests.py b/openstack_dashboard/dashboards/identity/roles/tests.py
index 5be84fe..cb2ca99 100644
--- a/openstack_dashboard/dashboards/identity/roles/tests.py
+++ b/openstack_dashboard/dashboards/identity/roles/tests.py
@@ -12,8 +12,8 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse
16from django import http 15from django import http
16from django.urls import reverse
17 17
18from mox3.mox import IgnoreArg 18from mox3.mox import IgnoreArg
19from mox3.mox import IsA 19from mox3.mox import IsA
diff --git a/openstack_dashboard/dashboards/identity/roles/views.py b/openstack_dashboard/dashboards/identity/roles/views.py
index d5b86e2..eb74b83 100644
--- a/openstack_dashboard/dashboards/identity/roles/views.py
+++ b/openstack_dashboard/dashboards/identity/roles/views.py
@@ -13,8 +13,8 @@
13# under the License. 13# under the License.
14 14
15from django.conf import settings 15from django.conf import settings
16from django.core.urlresolvers import reverse 16from django.urls import reverse
17from django.core.urlresolvers import reverse_lazy 17from django.urls import reverse_lazy
18from django.utils.translation import ugettext_lazy as _ 18from django.utils.translation import ugettext_lazy as _
19 19
20from horizon import exceptions 20from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/identity/users/tests.py b/openstack_dashboard/dashboards/identity/users/tests.py
index 5241de1..c062cdd 100644
--- a/openstack_dashboard/dashboards/identity/users/tests.py
+++ b/openstack_dashboard/dashboards/identity/users/tests.py
@@ -19,9 +19,9 @@
19from socket import timeout as socket_timeout 19from socket import timeout as socket_timeout
20 20
21import django 21import django
22from django.core.urlresolvers import reverse
23from django import http 22from django import http
24from django.test.utils import override_settings 23from django.test.utils import override_settings
24from django.urls import reverse
25 25
26from mox3.mox import IgnoreArg 26from mox3.mox import IgnoreArg
27from mox3.mox import IsA 27from mox3.mox import IsA
diff --git a/openstack_dashboard/dashboards/identity/users/views.py b/openstack_dashboard/dashboards/identity/users/views.py
index da2166b3..45cbf40 100644
--- a/openstack_dashboard/dashboards/identity/users/views.py
+++ b/openstack_dashboard/dashboards/identity/users/views.py
@@ -20,8 +20,8 @@ import logging
20import operator 20import operator
21 21
22from django.conf import settings 22from django.conf import settings
23from django.core.urlresolvers import reverse 23from django.urls import reverse
24from django.core.urlresolvers import reverse_lazy 24from django.urls import reverse_lazy
25from django.utils.decorators import method_decorator 25from django.utils.decorators import method_decorator
26from django.utils.translation import ugettext_lazy as _ 26from django.utils.translation import ugettext_lazy as _
27from django.views.decorators.debug import sensitive_post_parameters 27from django.views.decorators.debug import sensitive_post_parameters
diff --git a/openstack_dashboard/dashboards/project/api_access/tests.py b/openstack_dashboard/dashboards/project/api_access/tests.py
index c82e221..f23ad16 100644
--- a/openstack_dashboard/dashboards/project/api_access/tests.py
+++ b/openstack_dashboard/dashboards/project/api_access/tests.py
@@ -16,11 +16,11 @@ from mox3.mox import IsA
16import six 16import six
17import yaml 17import yaml
18 18
19from django.core.urlresolvers import reverse
20from django.http import HttpRequest 19from django.http import HttpRequest
21from django import template 20from django import template
22from django.template import loader 21from django.template import loader
23from django.test.utils import override_settings 22from django.test.utils import override_settings
23from django.urls import reverse
24 24
25from openstack_dashboard import api 25from openstack_dashboard import api
26from openstack_dashboard.test import helpers as test 26from openstack_dashboard.test import helpers as test
diff --git a/openstack_dashboard/dashboards/project/api_access/views.py b/openstack_dashboard/dashboards/project/api_access/views.py
index be3c30f..d9e56ef 100644
--- a/openstack_dashboard/dashboards/project/api_access/views.py
+++ b/openstack_dashboard/dashboards/project/api_access/views.py
@@ -18,10 +18,10 @@ import tempfile
18import zipfile 18import zipfile
19 19
20from django.conf import settings 20from django.conf import settings
21from django.core.urlresolvers import reverse_lazy
22from django import http 21from django import http
23from django import shortcuts 22from django import shortcuts
24from django.template.loader import render_to_string 23from django.template.loader import render_to_string
24from django.urls import reverse_lazy
25from django.utils.translation import ugettext_lazy as _ 25from django.utils.translation import ugettext_lazy as _
26 26
27from openstack_auth import utils 27from openstack_auth import utils
diff --git a/openstack_dashboard/dashboards/project/backups/forms.py b/openstack_dashboard/dashboards/project/backups/forms.py
index 4c92834..45f3178 100644
--- a/openstack_dashboard/dashboards/project/backups/forms.py
+++ b/openstack_dashboard/dashboards/project/backups/forms.py
@@ -17,7 +17,7 @@ Views for managing backups.
17 17
18import operator 18import operator
19 19
20from django.core.urlresolvers import reverse 20from django.urls import reverse
21from django.utils.translation import ugettext_lazy as _ 21from django.utils.translation import ugettext_lazy as _
22 22
23from horizon import exceptions 23from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/backups/tables.py b/openstack_dashboard/dashboards/project/backups/tables.py
index 8c7b81c..e4ce2ec 100644
--- a/openstack_dashboard/dashboards/project/backups/tables.py
+++ b/openstack_dashboard/dashboards/project/backups/tables.py
@@ -10,7 +10,7 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.utils import html 14from django.utils import html
15from django.utils import http 15from django.utils import http
16from django.utils import safestring 16from django.utils import safestring
diff --git a/openstack_dashboard/dashboards/project/backups/tabs.py b/openstack_dashboard/dashboards/project/backups/tabs.py
index 322e1cb..486fe03 100644
--- a/openstack_dashboard/dashboards/project/backups/tabs.py
+++ b/openstack_dashboard/dashboards/project/backups/tabs.py
@@ -11,7 +11,7 @@
11# under the License. 11# under the License.
12 12
13 13
14from django.core.urlresolvers import reverse 14from django.urls import reverse
15from django.utils.translation import ugettext_lazy as _ 15from django.utils.translation import ugettext_lazy as _
16 16
17from horizon import exceptions 17from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/backups/tests.py b/openstack_dashboard/dashboards/project/backups/tests.py
index c26e630..9b6e2ed 100644
--- a/openstack_dashboard/dashboards/project/backups/tests.py
+++ b/openstack_dashboard/dashboards/project/backups/tests.py
@@ -11,9 +11,9 @@
11# under the License. 11# under the License.
12 12
13from django.conf import settings 13from django.conf import settings
14from django.core.urlresolvers import reverse
15from django import http 14from django import http
16from django.test.utils import override_settings 15from django.test.utils import override_settings
16from django.urls import reverse
17from django.utils.http import urlencode 17from django.utils.http import urlencode
18from django.utils.http import urlunquote 18from django.utils.http import urlunquote
19from mox3.mox import IsA 19from mox3.mox import IsA
diff --git a/openstack_dashboard/dashboards/project/backups/views.py b/openstack_dashboard/dashboards/project/backups/views.py
index 6cb2fbd..997594f 100644
--- a/openstack_dashboard/dashboards/project/backups/views.py
+++ b/openstack_dashboard/dashboards/project/backups/views.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.core.urlresolvers import reverse_lazy 14from django.urls import reverse_lazy
15from django.utils.translation import ugettext_lazy as _ 15from django.utils.translation import ugettext_lazy as _
16 16
17from horizon import exceptions 17from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/cg_snapshots/forms.py b/openstack_dashboard/dashboards/project/cg_snapshots/forms.py
index 3381087..f54b779 100644
--- a/openstack_dashboard/dashboards/project/cg_snapshots/forms.py
+++ b/openstack_dashboard/dashboards/project/cg_snapshots/forms.py
@@ -11,7 +11,7 @@
11# under the License. 11# under the License.
12 12
13 13
14from django.core.urlresolvers import reverse 14from django.urls import reverse
15from django.utils.translation import ugettext_lazy as _ 15from django.utils.translation import ugettext_lazy as _
16 16
17from horizon import exceptions 17from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/cg_snapshots/tabs.py b/openstack_dashboard/dashboards/project/cg_snapshots/tabs.py
index f1fc523..4c9cd99 100644
--- a/openstack_dashboard/dashboards/project/cg_snapshots/tabs.py
+++ b/openstack_dashboard/dashboards/project/cg_snapshots/tabs.py
@@ -10,7 +10,7 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.utils.translation import ugettext_lazy as _ 14from django.utils.translation import ugettext_lazy as _
15 15
16from horizon import tabs 16from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/cg_snapshots/tests.py b/openstack_dashboard/dashboards/project/cg_snapshots/tests.py
index 5bdf270..cca3422 100644
--- a/openstack_dashboard/dashboards/project/cg_snapshots/tests.py
+++ b/openstack_dashboard/dashboards/project/cg_snapshots/tests.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse
14from django import http 13from django import http
14from django.urls import reverse
15from mox3.mox import IsA 15from mox3.mox import IsA
16 16
17from openstack_dashboard.api import cinder 17from openstack_dashboard.api import cinder
diff --git a/openstack_dashboard/dashboards/project/cg_snapshots/views.py b/openstack_dashboard/dashboards/project/cg_snapshots/views.py
index e2e1404..a7b2059 100644
--- a/openstack_dashboard/dashboards/project/cg_snapshots/views.py
+++ b/openstack_dashboard/dashboards/project/cg_snapshots/views.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.core.urlresolvers import reverse_lazy 14from django.urls import reverse_lazy
15from django.utils.translation import ugettext_lazy as _ 15from django.utils.translation import ugettext_lazy as _
16 16
17from horizon import exceptions 17from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/cgroups/forms.py b/openstack_dashboard/dashboards/project/cgroups/forms.py
index db98134..2dbd940 100644
--- a/openstack_dashboard/dashboards/project/cgroups/forms.py
+++ b/openstack_dashboard/dashboards/project/cgroups/forms.py
@@ -11,7 +11,7 @@
11# under the License. 11# under the License.
12 12
13 13
14from django.core.urlresolvers import reverse 14from django.urls import reverse
15from django.utils.translation import ugettext_lazy as _ 15from django.utils.translation import ugettext_lazy as _
16 16
17from horizon import exceptions 17from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/cgroups/tabs.py b/openstack_dashboard/dashboards/project/cgroups/tabs.py
index a25abe3..83b4073 100644
--- a/openstack_dashboard/dashboards/project/cgroups/tabs.py
+++ b/openstack_dashboard/dashboards/project/cgroups/tabs.py
@@ -10,7 +10,7 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.utils.translation import ugettext_lazy as _ 14from django.utils.translation import ugettext_lazy as _
15 15
16from horizon import tabs 16from horizon import tabs
diff --git a/openstack_dashboard/dashboards/project/cgroups/tests.py b/openstack_dashboard/dashboards/project/cgroups/tests.py
index 44b4919..49109bf 100644
--- a/openstack_dashboard/dashboards/project/cgroups/tests.py
+++ b/openstack_dashboard/dashboards/project/cgroups/tests.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse
14from django import http 13from django import http
14from django.urls import reverse
15from django.utils.http import urlunquote 15from django.utils.http import urlunquote
16from mox3.mox import IsA 16from mox3.mox import IsA
17 17
diff --git a/openstack_dashboard/dashboards/project/cgroups/views.py b/openstack_dashboard/dashboards/project/cgroups/views.py
index 17dc076..18fb077 100644
--- a/openstack_dashboard/dashboards/project/cgroups/views.py
+++ b/openstack_dashboard/dashboards/project/cgroups/views.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.core.urlresolvers import reverse_lazy 14from django.urls import reverse_lazy
15from django.utils.translation import ugettext_lazy as _ 15from django.utils.translation import ugettext_lazy as _
16 16
17from horizon import exceptions 17from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/floating_ips/tables.py b/openstack_dashboard/dashboards/project/floating_ips/tables.py
index 927178e..9e4e59e 100644
--- a/openstack_dashboard/dashboards/project/floating_ips/tables.py
+++ b/openstack_dashboard/dashboards/project/floating_ips/tables.py
@@ -15,8 +15,8 @@
15 15
16import logging 16import logging
17 17
18from django.core.urlresolvers import reverse
19from django import shortcuts 18from django import shortcuts
19from django.urls import reverse
20from django.utils.http import urlencode 20from django.utils.http import urlencode
21from django.utils.translation import pgettext_lazy 21from django.utils.translation import pgettext_lazy
22from django.utils.translation import string_concat 22from django.utils.translation import string_concat
diff --git a/openstack_dashboard/dashboards/project/floating_ips/tests.py b/openstack_dashboard/dashboards/project/floating_ips/tests.py
index 521740c..1f46d18 100644
--- a/openstack_dashboard/dashboards/project/floating_ips/tests.py
+++ b/openstack_dashboard/dashboards/project/floating_ips/tests.py
@@ -17,8 +17,8 @@
17# License for the specific language governing permissions and limitations 17# License for the specific language governing permissions and limitations
18# under the License. 18# under the License.
19 19
20from django.core.urlresolvers import reverse
21from django import http 20from django import http
21from django.urls import reverse
22from django.utils.http import urlencode 22from django.utils.http import urlencode
23 23
24from mox3.mox import IsA 24from mox3.mox import IsA
diff --git a/openstack_dashboard/dashboards/project/floating_ips/views.py b/openstack_dashboard/dashboards/project/floating_ips/views.py
index fec4192..9e948d4 100644
--- a/openstack_dashboard/dashboards/project/floating_ips/views.py
+++ b/openstack_dashboard/dashboards/project/floating_ips/views.py
@@ -21,7 +21,7 @@
21Views for managing floating IPs. 21Views for managing floating IPs.
22""" 22"""
23 23
24from django.core.urlresolvers import reverse_lazy 24from django.urls import reverse_lazy
25from django.utils.translation import ugettext_lazy as _ 25from django.utils.translation import ugettext_lazy as _
26 26
27from neutronclient.common import exceptions as neutron_exc 27from neutronclient.common import exceptions as neutron_exc
diff --git a/openstack_dashboard/dashboards/project/floating_ips/workflows.py b/openstack_dashboard/dashboards/project/floating_ips/workflows.py
index 147353c..fc79875 100644
--- a/openstack_dashboard/dashboards/project/floating_ips/workflows.py
+++ b/openstack_dashboard/dashboards/project/floating_ips/workflows.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse 15from django.urls import reverse
16from django.utils.translation import ugettext_lazy as _ 16from django.utils.translation import ugettext_lazy as _
17 17
18from neutronclient.common import exceptions as neutron_exc 18from neutronclient.common import exceptions as neutron_exc
diff --git a/openstack_dashboard/dashboards/project/images/images/tables.py b/openstack_dashboard/dashboards/project/images/images/tables.py
index d816cd4..b56b5f2 100644
--- a/openstack_dashboard/dashboards/project/images/images/tables.py
+++ b/openstack_dashboard/dashboards/project/images/images/tables.py
@@ -15,8 +15,8 @@
15from collections import defaultdict 15from collections import defaultdict
16 16
17from django.conf import settings 17from django.conf import settings
18from django.core.urlresolvers import reverse
19from django.template import defaultfilters as filters 18from django.template import defaultfilters as filters
19from django.urls import reverse
20from django.utils.http import urlencode 20from django.utils.http import urlencode
21from django.utils.translation import pgettext_lazy 21from django.utils.translation import pgettext_lazy
22from django.utils.translation import ugettext_lazy as _ 22from django.utils.translation import ugettext_lazy as _
diff --git a/openstack_dashboard/dashboards/project/images/images/tests.py b/openstack_dashboard/dashboards/project/images/images/tests.py
index 0155ae8..845acbd 100644
--- a/openstack_dashboard/dashboards/project/images/images/tests.py
+++ b/openstack_dashboard/dashboards/project/images/images/tests.py
@@ -20,9 +20,9 @@ import tempfile
20 20
21from django.conf import settings 21from django.conf import settings
22from django.core.files.uploadedfile import InMemoryUploadedFile 22from django.core.files.uploadedfile import InMemoryUploadedFile
23from django.core.urlresolvers import reverse
24from django.forms.widgets import HiddenInput 23from django.forms.widgets import HiddenInput
25from django.test.utils import override_settings 24from django.test.utils import override_settings
25from django.urls import reverse
26 26
27import mock 27import mock
28import six 28import six
diff --git a/openstack_dashboard/dashboards/project/images/images/views.py b/openstack_dashboard/dashboards/project/images/images/views.py
index e43def5..6336d84 100644
--- a/openstack_dashboard/dashboards/project/images/images/views.py
+++ b/openstack_dashboard/dashboards/project/images/images/views.py
@@ -20,8 +20,8 @@
20Views for managing images. 20Views for managing images.
21""" 21"""
22from django.conf import settings 22from django.conf import settings
23from django.core.urlresolvers import reverse 23from django.urls import reverse
24from django.core.urlresolvers import reverse_lazy 24from django.urls import reverse_lazy
25from django.utils.translation import ugettext_lazy as _ 25from django.utils.translation import ugettext_lazy as _
26 26
27from horizon import exceptions 27from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/images/snapshots/forms.py b/openstack_dashboard/dashboards/project/images/snapshots/forms.py
index ae47ca3..50a659ab 100644
--- a/openstack_dashboard/dashboards/project/images/snapshots/forms.py
+++ b/openstack_dashboard/dashboards/project/images/snapshots/forms.py
@@ -16,7 +16,7 @@
16# License for the specific language governing permissions and limitations 16# License for the specific language governing permissions and limitations
17# under the License. 17# under the License.
18 18
19from django.core.urlresolvers import reverse 19from django.urls import reverse
20from django.utils.translation import ugettext_lazy as _ 20from django.utils.translation import ugettext_lazy as _
21 21
22from horizon import exceptions 22from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/images/snapshots/tests.py b/openstack_dashboard/dashboards/project/images/snapshots/tests.py
index 2755927..4e598d3 100644
--- a/openstack_dashboard/dashboards/project/images/snapshots/tests.py
+++ b/openstack_dashboard/dashboards/project/images/snapshots/tests.py
@@ -16,7 +16,7 @@
16# License for the specific language governing permissions and limitations 16# License for the specific language governing permissions and limitations
17# under the License. 17# under the License.
18 18
19from django.core.urlresolvers import reverse 19from django.urls import reverse
20 20
21import mock 21import mock
22 22
diff --git a/openstack_dashboard/dashboards/project/images/snapshots/views.py b/openstack_dashboard/dashboards/project/images/snapshots/views.py
index 40b034a..ce3e15e 100644
--- a/openstack_dashboard/dashboards/project/images/snapshots/views.py
+++ b/openstack_dashboard/dashboards/project/images/snapshots/views.py
@@ -19,8 +19,8 @@
19""" 19"""
20Views for managing instance snapshots. 20Views for managing instance snapshots.
21""" 21"""
22from django.core.urlresolvers import reverse 22from django.urls import reverse
23from django.core.urlresolvers import reverse_lazy 23from django.urls import reverse_lazy
24from django.utils.translation import ugettext_lazy as _ 24from django.utils.translation import ugettext_lazy as _
25 25
26from horizon import forms 26from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/images/tests.py b/openstack_dashboard/dashboards/project/images/tests.py
index f618f78..08dcfde 100644
--- a/openstack_dashboard/dashboards/project/images/tests.py
+++ b/openstack_dashboard/dashboards/project/images/tests.py
@@ -21,8 +21,8 @@ import os
21from socket import timeout as socket_timeout 21from socket import timeout as socket_timeout
22import unittest 22import unittest
23 23
24from django.core.urlresolvers import reverse
25from django import http 24from django import http
25from django.urls import reverse
26 26
27import mock 27import mock
28from mox3.mox import IsA 28from mox3.mox import IsA
diff --git a/openstack_dashboard/dashboards/project/instances/forms.py b/openstack_dashboard/dashboards/project/instances/forms.py
index 267b32f..0b72844 100644
--- a/openstack_dashboard/dashboards/project/instances/forms.py
+++ b/openstack_dashboard/dashboards/project/instances/forms.py
@@ -13,8 +13,8 @@
13# License for the specific language governing permissions and limitations 13# License for the specific language governing permissions and limitations
14# under the License. 14# under the License.
15 15
16from django.core.urlresolvers import reverse
17from django.template.defaultfilters import filesizeformat 16from django.template.defaultfilters import filesizeformat
17from django.urls import reverse
18from django.utils.translation import ugettext_lazy as _ 18from django.utils.translation import ugettext_lazy as _
19from django.views.decorators.debug import sensitive_variables 19from django.views.decorators.debug import sensitive_variables
20 20
diff --git a/openstack_dashboard/dashboards/project/instances/tables.py b/openstack_dashboard/dashboards/project/instances/tables.py
index 42f0b9f..cc76326 100644
--- a/openstack_dashboard/dashboards/project/instances/tables.py
+++ b/openstack_dashboard/dashboards/project/instances/tables.py
@@ -16,11 +16,11 @@
16import logging 16import logging
17 17
18from django.conf import settings 18from django.conf import settings
19from django.core import urlresolvers
20from django.http import HttpResponse 19from django.http import HttpResponse
21from django import shortcuts 20from django import shortcuts
22from django import template 21from django import template
23from django.template.defaultfilters import title 22from django.template.defaultfilters import title
23from django import urls
24from django.utils.http import urlencode 24from django.utils.http import urlencode
25from django.utils.safestring import mark_safe 25from django.utils.safestring import mark_safe
26from django.utils.translation import npgettext_lazy 26from django.utils.translation import npgettext_lazy
@@ -429,7 +429,7 @@ class LaunchLinkNG(LaunchLink):
429 classes = ("btn-launch", ) 429 classes = ("btn-launch", )
430 430
431 def get_default_attrs(self): 431 def get_default_attrs(self):
432 url = urlresolvers.reverse(self.url) 432 url = urls.reverse(self.url)
433 ngclick = "modal.openLaunchInstanceWizard(" \ 433 ngclick = "modal.openLaunchInstanceWizard(" \
434 "{ successUrl: '%s' })" % url 434 "{ successUrl: '%s' })" % url
435 self.attrs.update({ 435 self.attrs.update({
@@ -454,7 +454,7 @@ class EditInstance(policy.PolicyTargetMixin, tables.LinkAction):
454 return self._get_link_url(project, 'instance_info') 454 return self._get_link_url(project, 'instance_info')
455 455
456 def _get_link_url(self, project, step_slug): 456 def _get_link_url(self, project, step_slug):
457 base_url = urlresolvers.reverse(self.url, args=[project.id]) 457 base_url = urls.reverse(self.url, args=[project.id])
458 next_url = self.table.get_full_url() 458 next_url = self.table.get_full_url()
459 params = {"step": step_slug, 459 params = {"step": step_slug,
460 update_instance.UpdateInstance.redirect_param_name: next_url} 460 update_instance.UpdateInstance.redirect_param_name: next_url}
@@ -542,7 +542,7 @@ class ResizeLink(policy.PolicyTargetMixin, tables.LinkAction):
542 return self._get_link_url(project, 'flavor_choice') 542 return self._get_link_url(project, 'flavor_choice')
543 543
544 def _get_link_url(self, project, step_slug): 544 def _get_link_url(self, project, step_slug):
545 base_url = urlresolvers.reverse(self.url, args=[project.id]) 545 base_url = urls.reverse(self.url, args=[project.id])
546 next_url = self.table.get_full_url() 546 next_url = self.table.get_full_url()
547 params = {"step": step_slug, 547 params = {"step": step_slug,
548 resize_instance.ResizeInstance.redirect_param_name: next_url} 548 resize_instance.ResizeInstance.redirect_param_name: next_url}
@@ -596,7 +596,7 @@ class RebuildInstance(policy.PolicyTargetMixin, tables.LinkAction):
596 596
597 def get_link_url(self, datum): 597 def get_link_url(self, datum):
598 instance_id = self.table.get_object_id(datum) 598 instance_id = self.table.get_object_id(datum)
599 return urlresolvers.reverse(self.url, args=[instance_id]) 599 return urls.reverse(self.url, args=[instance_id])
600 600
601 601
602class DecryptInstancePassword(tables.LinkAction): 602class DecryptInstancePassword(tables.LinkAction):
@@ -618,8 +618,8 @@ class DecryptInstancePassword(tables.LinkAction):
618 def get_link_url(self, datum): 618 def get_link_url(self, datum):
619 instance_id = self.table.get_object_id(datum) 619 instance_id = self.table.get_object_id(datum)
620 keypair_name = get_keyname(datum) 620 keypair_name = get_keyname(datum)
621 return urlresolvers.reverse(self.url, args=[instance_id, 621 return urls.reverse(self.url, args=[instance_id,
622 keypair_name]) 622 keypair_name])
623 623
624 624
625class AssociateIP(policy.PolicyTargetMixin, tables.LinkAction): 625class AssociateIP(policy.PolicyTargetMixin, tables.LinkAction):
@@ -646,7 +646,7 @@ class AssociateIP(policy.PolicyTargetMixin, tables.LinkAction):
646 return not is_deleting(instance) 646 return not is_deleting(instance)
647 647
648 def get_link_url(self, datum): 648 def get_link_url(self, datum):
649 base_url = urlresolvers.reverse(self.url) 649 base_url = urls.reverse(self.url)
650 next_url = self.table.get_full_url() 650 next_url = self.table.get_full_url()
651 params = { 651 params = {
652 "instance_id": self.table.get_object_id(datum), 652 "instance_id": self.table.get_object_id(datum),
@@ -953,7 +953,7 @@ class AttachInterface(policy.PolicyTargetMixin, tables.LinkAction):
953 953
954 def get_link_url(self, datum): 954 def get_link_url(self, datum):
955 instance_id = self.table.get_object_id(datum) 955 instance_id = self.table.get_object_id(datum)
956 return urlresolvers.reverse(self.url, args=[instance_id]) 956 return urls.reverse(self.url, args=[instance_id])
957 957
958 958
959class DetachInterface(policy.PolicyTargetMixin, tables.LinkAction): 959class DetachInterface(policy.PolicyTargetMixin, tables.LinkAction):
@@ -979,7 +979,7 @@ class DetachInterface(policy.PolicyTargetMixin, tables.LinkAction):
979 979
980 def get_link_url(self, datum): 980 def get_link_url(self, datum):
981 instance_id = self.table.get_object_id(datum) 981 instance_id = self.table.get_object_id(datum)
982 return urlresolvers.reverse(self.url, args=[instance_id]) 982 return urls.reverse(self.url, args=[instance_id])
983 983
984 984
985def get_ips(instance): 985def get_ips(instance):
diff --git a/openstack_dashboard/dashboards/project/instances/tabs.py b/openstack_dashboard/dashboards/project/instances/tabs.py
index d6004b1..3aac460 100644
--- a/openstack_dashboard/dashboards/project/instances/tabs.py
+++ b/openstack_dashboard/dashboards/project/instances/tabs.py
@@ -13,7 +13,7 @@
13# under the License. 13# under the License.
14 14
15from django.conf import settings 15from django.conf import settings
16from django.core.urlresolvers import reverse 16from django.urls import reverse
17from django.utils.translation import ugettext_lazy as _ 17from django.utils.translation import ugettext_lazy as _
18 18
19from horizon import exceptions 19from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/instances/tests.py b/openstack_dashboard/dashboards/project/instances/tests.py
index c72f123..9a67c82 100644
--- a/openstack_dashboard/dashboards/project/instances/tests.py
+++ b/openstack_dashboard/dashboards/project/instances/tests.py
@@ -23,11 +23,11 @@ import sys
23 23
24import django 24import django
25from django.conf import settings 25from django.conf import settings
26from django.core.urlresolvers import reverse
27from django.forms import widgets 26from django.forms import widgets
28from django import http 27from django import http
29import django.test 28import django.test
30from django.test.utils import override_settings 29from django.test.utils import override_settings
30from django.urls import reverse
31from django.utils.http import urlencode 31from django.utils.http import urlencode
32from mox3.mox import IgnoreArg 32from mox3.mox import IgnoreArg
33from mox3.mox import IsA 33from mox3.mox import IsA
diff --git a/openstack_dashboard/dashboards/project/instances/views.py b/openstack_dashboard/dashboards/project/instances/views.py
index b4f2084..ab053b0 100644
--- a/openstack_dashboard/dashboards/project/instances/views.py
+++ b/openstack_dashboard/dashboards/project/instances/views.py
@@ -25,10 +25,10 @@ import logging
25import futurist 25import futurist
26 26
27from django.conf import settings 27from django.conf import settings
28from django.core.urlresolvers import reverse
29from django.core.urlresolvers import reverse_lazy
30from django import http 28from django import http
31from django import shortcuts 29from django import shortcuts
30from django.urls import reverse
31from django.urls import reverse_lazy
32from django.utils.translation import ugettext_lazy as _ 32from django.utils.translation import ugettext_lazy as _
33from django.views import generic 33from django.views import generic
34 34
diff --git a/openstack_dashboard/dashboards/project/key_pairs/tables.py b/openstack_dashboard/dashboards/project/key_pairs/tables.py
index b966208..2c374a7 100644
--- a/openstack_dashboard/dashboards/project/key_pairs/tables.py
+++ b/openstack_dashboard/dashboards/project/key_pairs/tables.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core import urlresolvers 15from django import urls
16from django.utils.translation import string_concat 16from django.utils.translation import string_concat
17from django.utils.translation import ugettext_lazy as _ 17from django.utils.translation import ugettext_lazy as _
18from django.utils.translation import ungettext_lazy 18from django.utils.translation import ungettext_lazy
@@ -88,7 +88,7 @@ class CreateLinkNG(QuotaKeypairMixin, tables.LinkAction):
88 policy_rules = (("compute", "os_compute_api:os-keypairs:create"),) 88 policy_rules = (("compute", "os_compute_api:os-keypairs:create"),)
89 89
90 def get_default_attrs(self): 90 def get_default_attrs(self):
91 url = urlresolvers.reverse(self.url) 91 url = urls.reverse(self.url)
92 ngclick = "modal.createKeyPair({ successUrl: '%s' })" % url 92 ngclick = "modal.createKeyPair({ successUrl: '%s' })" % url
93 self.attrs.update({ 93 self.attrs.update({
94 'ng-controller': 'KeypairController as modal', 94 'ng-controller': 'KeypairController as modal',
diff --git a/openstack_dashboard/dashboards/project/key_pairs/tests.py b/openstack_dashboard/dashboards/project/key_pairs/tests.py
index f2cb618..fe422d0 100644
--- a/openstack_dashboard/dashboards/project/key_pairs/tests.py
+++ b/openstack_dashboard/dashboards/project/key_pairs/tests.py
@@ -16,8 +16,8 @@
16# License for the specific language governing permissions and limitations 16# License for the specific language governing permissions and limitations
17# under the License. 17# under the License.
18 18
19from django.core.urlresolvers import reverse
20from django import http 19from django import http
20from django.urls import reverse
21from mox3.mox import IsA 21from mox3.mox import IsA
22import six 22import six
23 23
diff --git a/openstack_dashboard/dashboards/project/key_pairs/views.py b/openstack_dashboard/dashboards/project/key_pairs/views.py
index fb4a059..0d3b959 100644
--- a/openstack_dashboard/dashboards/project/key_pairs/views.py
+++ b/openstack_dashboard/dashboards/project/key_pairs/views.py
@@ -12,8 +12,8 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse 15from django.urls import reverse
16from django.core.urlresolvers import reverse_lazy 16from django.urls import reverse_lazy
17from django.utils.translation import ugettext_lazy as _ 17from django.utils.translation import ugettext_lazy as _
18 18
19from horizon import exceptions 19from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/network_topology/tests.py b/openstack_dashboard/dashboards/project/network_topology/tests.py
index 2aa5bc0..e52cf6d 100644
--- a/openstack_dashboard/dashboards/project/network_topology/tests.py
+++ b/openstack_dashboard/dashboards/project/network_topology/tests.py
@@ -12,9 +12,9 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse
16from django import http 15from django import http
17import django.test 16import django.test
17from django.urls import reverse
18 18
19from mox3.mox import IsA 19from mox3.mox import IsA
20from oslo_serialization import jsonutils 20from oslo_serialization import jsonutils
diff --git a/openstack_dashboard/dashboards/project/network_topology/views.py b/openstack_dashboard/dashboards/project/network_topology/views.py
index 87dc469..979911c 100644
--- a/openstack_dashboard/dashboards/project/network_topology/views.py
+++ b/openstack_dashboard/dashboards/project/network_topology/views.py
@@ -19,9 +19,9 @@
19import json 19import json
20 20
21from django.conf import settings 21from django.conf import settings
22from django.core.urlresolvers import reverse
23from django.core.urlresolvers import reverse_lazy
24from django.http import HttpResponse 22from django.http import HttpResponse
23from django.urls import reverse
24from django.urls import reverse_lazy
25from django.utils.translation import ugettext_lazy as _ 25from django.utils.translation import ugettext_lazy as _
26from django.views.generic import View 26from django.views.generic import View
27 27
diff --git a/openstack_dashboard/dashboards/project/networks/forms.py b/openstack_dashboard/dashboards/project/networks/forms.py
index 4172b53..8dbfbfa 100644
--- a/openstack_dashboard/dashboards/project/networks/forms.py
+++ b/openstack_dashboard/dashboards/project/networks/forms.py
@@ -18,7 +18,7 @@
18 18
19import logging 19import logging
20 20
21from django.core.urlresolvers import reverse 21from django.urls import reverse
22from django.utils.translation import ugettext_lazy as _ 22from django.utils.translation import ugettext_lazy as _
23 23
24from horizon import exceptions 24from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/forms.py b/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/forms.py
index 1ef8e5a..cdc6f2d 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/forms.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/forms.py
@@ -15,7 +15,7 @@
15 15
16import logging 16import logging
17 17
18from django.core.urlresolvers import reverse 18from django.urls import reverse
19from django.utils.translation import ugettext_lazy as _ 19from django.utils.translation import ugettext_lazy as _
20 20
21from horizon import exceptions 21from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tables.py b/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tables.py
index 1570351..bdea189 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tables.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tables.py
@@ -15,7 +15,7 @@
15 15
16import logging 16import logging
17 17
18from django.core.urlresolvers import reverse 18from django.urls import reverse
19from django.utils.translation import ugettext_lazy as _ 19from django.utils.translation import ugettext_lazy as _
20from django.utils.translation import ungettext_lazy 20from django.utils.translation import ungettext_lazy
21 21
diff --git a/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/views.py b/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/views.py
index bcae6eb..e9bb5d6 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/views.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/views.py
@@ -13,7 +13,7 @@
13# License for the specific language governing permissions and limitations 13# License for the specific language governing permissions and limitations
14# under the License. 14# under the License.
15 15
16from django.core.urlresolvers import reverse 16from django.urls import reverse
17from django.utils.translation import ugettext_lazy as _ 17from django.utils.translation import ugettext_lazy as _
18 18
19from horizon import forms 19from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/networks/ports/tables.py b/openstack_dashboard/dashboards/project/networks/ports/tables.py
index c7f9ef2..427538b 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/tables.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/tables.py
@@ -14,8 +14,8 @@
14 14
15import logging 15import logging
16 16
17from django.core.urlresolvers import reverse
18from django import template 17from django import template
18from django.urls import reverse
19from django.utils.http import urlencode 19from django.utils.http import urlencode
20from django.utils.translation import pgettext_lazy 20from django.utils.translation import pgettext_lazy
21from django.utils.translation import ugettext_lazy as _ 21from django.utils.translation import ugettext_lazy as _
diff --git a/openstack_dashboard/dashboards/project/networks/ports/tests.py b/openstack_dashboard/dashboards/project/networks/ports/tests.py
index 631d39f..48ef6b0 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/tests.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/tests.py
@@ -15,8 +15,8 @@
15 15
16import copy 16import copy
17 17
18from django.core.urlresolvers import reverse
19from django import http 18from django import http
19from django.urls import reverse
20 20
21from mox3.mox import IsA 21from mox3.mox import IsA
22 22
diff --git a/openstack_dashboard/dashboards/project/networks/ports/views.py b/openstack_dashboard/dashboards/project/networks/ports/views.py
index d41d8a9..0ea87f7 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/views.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/views.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse 15from django.urls import reverse
16from django.utils.translation import ugettext_lazy as _ 16from django.utils.translation import ugettext_lazy as _
17 17
18from horizon import exceptions 18from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/networks/ports/workflows.py b/openstack_dashboard/dashboards/project/networks/ports/workflows.py
index 23ddad1..0a21145 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/workflows.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/workflows.py
@@ -16,7 +16,7 @@
16import logging 16import logging
17 17
18from django.conf import settings 18from django.conf import settings
19from django.core.urlresolvers import reverse 19from django.urls import reverse
20from django.utils.translation import ugettext_lazy as _ 20from django.utils.translation import ugettext_lazy as _
21 21
22from horizon import exceptions 22from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/networks/subnets/tables.py b/openstack_dashboard/dashboards/project/networks/subnets/tables.py
index 2197090..052062c 100644
--- a/openstack_dashboard/dashboards/project/networks/subnets/tables.py
+++ b/openstack_dashboard/dashboards/project/networks/subnets/tables.py
@@ -16,8 +16,8 @@ import logging
16 16
17from neutronclient.common import exceptions as neutron_exceptions 17from neutronclient.common import exceptions as neutron_exceptions
18 18
19from django.core.urlresolvers import reverse 19from django.urls import reverse
20from django.core.urlresolvers import reverse_lazy 20from django.urls import reverse_lazy
21from django.utils.translation import ugettext_lazy as _ 21from django.utils.translation import ugettext_lazy as _
22from django.utils.translation import ungettext_lazy 22from django.utils.translation import ungettext_lazy
23 23
diff --git a/openstack_dashboard/dashboards/project/networks/subnets/tests.py b/openstack_dashboard/dashboards/project/networks/subnets/tests.py
index a2fa6ee..4aff99c 100644
--- a/openstack_dashboard/dashboards/project/networks/subnets/tests.py
+++ b/openstack_dashboard/dashboards/project/networks/subnets/tests.py
@@ -13,8 +13,8 @@
13# License for the specific language governing permissions and limitations 13# License for the specific language governing permissions and limitations
14# under the License. 14# under the License.
15 15
16from django.core.urlresolvers import reverse
17from django import http 16from django import http
17from django.urls import reverse
18from mox3.mox import IsA 18from mox3.mox import IsA
19 19
20from horizon.workflows import views 20from horizon.workflows import views
diff --git a/openstack_dashboard/dashboards/project/networks/subnets/views.py b/openstack_dashboard/dashboards/project/networks/subnets/views.py
index 48aeb59..0ab085d 100644
--- a/openstack_dashboard/dashboards/project/networks/subnets/views.py
+++ b/openstack_dashboard/dashboards/project/networks/subnets/views.py
@@ -15,7 +15,7 @@
15""" 15"""
16Views for managing Neutron Subnets. 16Views for managing Neutron Subnets.
17""" 17"""
18from django.core.urlresolvers import reverse 18from django.urls import reverse
19from django.utils.translation import ugettext_lazy as _ 19from django.utils.translation import ugettext_lazy as _
20 20
21from horizon import exceptions 21from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/networks/subnets/workflows.py b/openstack_dashboard/dashboards/project/networks/subnets/workflows.py
index 1202dcc..ae7dd9c 100644
--- a/openstack_dashboard/dashboards/project/networks/subnets/workflows.py
+++ b/openstack_dashboard/dashboards/project/networks/subnets/workflows.py
@@ -14,7 +14,7 @@
14 14
15import logging 15import logging
16 16
17from django.core.urlresolvers import reverse 17from django.urls import reverse
18from django.utils.translation import ugettext_lazy as _ 18from django.utils.translation import ugettext_lazy as _
19 19
20from horizon import exceptions 20from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/networks/tests.py b/openstack_dashboard/dashboards/project/networks/tests.py
index bc72432..c4f222d 100644
--- a/openstack_dashboard/dashboards/project/networks/tests.py
+++ b/openstack_dashboard/dashboards/project/networks/tests.py
@@ -12,8 +12,8 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse
16from django import http 15from django import http
16from django.urls import reverse
17from django.utils.html import escape 17from django.utils.html import escape
18from django.utils.http import urlunquote 18from django.utils.http import urlunquote
19from mox3.mox import IsA 19from mox3.mox import IsA
diff --git a/openstack_dashboard/dashboards/project/networks/views.py b/openstack_dashboard/dashboards/project/networks/views.py
index 7fb49c9..5799a5c 100644
--- a/openstack_dashboard/dashboards/project/networks/views.py
+++ b/openstack_dashboard/dashboards/project/networks/views.py
@@ -16,8 +16,8 @@
16Views for managing Neutron Networks. 16Views for managing Neutron Networks.
17""" 17"""
18from django.conf import settings 18from django.conf import settings
19from django.core.urlresolvers import reverse 19from django.urls import reverse
20from django.core.urlresolvers import reverse_lazy 20from django.urls import reverse_lazy
21from django.utils.translation import ugettext_lazy as _ 21from django.utils.translation import ugettext_lazy as _
22 22
23from horizon import exceptions 23from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/networks/workflows.py b/openstack_dashboard/dashboards/project/networks/workflows.py
index 58a3974..c9d23e8 100644
--- a/openstack_dashboard/dashboards/project/networks/workflows.py
+++ b/openstack_dashboard/dashboards/project/networks/workflows.py
@@ -16,7 +16,7 @@
16import logging 16import logging
17 17
18from django.conf import settings 18from django.conf import settings
19from django.core.urlresolvers import reverse 19from django.urls import reverse
20from django.utils.translation import ugettext_lazy as _ 20from django.utils.translation import ugettext_lazy as _
21import netaddr 21import netaddr
22 22
diff --git a/openstack_dashboard/dashboards/project/overview/tests.py b/openstack_dashboard/dashboards/project/overview/tests.py
index 3459ae2..29aa49a 100644
--- a/openstack_dashboard/dashboards/project/overview/tests.py
+++ b/openstack_dashboard/dashboards/project/overview/tests.py
@@ -19,9 +19,9 @@
19import datetime 19import datetime
20import logging 20import logging
21 21
22from django.core.urlresolvers import reverse
23from django import http 22from django import http
24from django.test.utils import override_settings 23from django.test.utils import override_settings
24from django.urls import reverse
25from django.utils import timezone 25from django.utils import timezone
26 26
27from mox3.mox import IsA 27from mox3.mox import IsA
diff --git a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/forms.py b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/forms.py
index bf8001d..7595646 100644
--- a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/forms.py
+++ b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/forms.py
@@ -15,7 +15,7 @@
15 15
16import logging 16import logging
17 17
18from django.core.urlresolvers import reverse 18from django.urls import reverse
19from django.utils.translation import ugettext_lazy as _ 19from django.utils.translation import ugettext_lazy as _
20from neutronclient.common import exceptions as neutron_exc 20from neutronclient.common import exceptions as neutron_exc
21 21
diff --git a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tables.py b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tables.py
index 10e1cdb..0ee5c12 100644
--- a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tables.py
+++ b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tables.py
@@ -13,7 +13,7 @@
13# License for the specific language governing permissions and limitations 13# License for the specific language governing permissions and limitations
14# under the License. 14# under the License.
15 15
16from django.core.urlresolvers import reverse 16from django.urls import reverse
17from django.utils.translation import ugettext_lazy as _ 17from django.utils.translation import ugettext_lazy as _
18from django.utils.translation import ungettext_lazy 18from django.utils.translation import ungettext_lazy
19 19
diff --git a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/views.py b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/views.py
index 5939011..79e8a3b 100644
--- a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/views.py
+++ b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/views.py
@@ -13,7 +13,7 @@
13# License for the specific language governing permissions and limitations 13# License for the specific language governing permissions and limitations
14# under the License. 14# under the License.
15 15
16from django.core.urlresolvers import reverse 16from django.urls import reverse
17from django.utils.translation import ugettext_lazy as _ 17from django.utils.translation import ugettext_lazy as _
18 18
19from horizon import exceptions 19from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/routers/forms.py b/openstack_dashboard/dashboards/project/routers/forms.py
index 08c7545..a1bc78a 100644
--- a/openstack_dashboard/dashboards/project/routers/forms.py
+++ b/openstack_dashboard/dashboards/project/routers/forms.py
@@ -18,8 +18,8 @@ Views for managing Neutron Routers.
18""" 18"""
19import logging 19import logging
20 20
21from django.core.urlresolvers import reverse 21from django.urls import reverse
22from django.core.urlresolvers import reverse_lazy 22from django.urls import reverse_lazy
23from django.utils.translation import ugettext_lazy as _ 23from django.utils.translation import ugettext_lazy as _
24 24
25from horizon import exceptions 25from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/routers/ports/forms.py b/openstack_dashboard/dashboards/project/routers/ports/forms.py
index fd15fa2..4a2730d 100644
--- a/openstack_dashboard/dashboards/project/routers/ports/forms.py
+++ b/openstack_dashboard/dashboards/project/routers/ports/forms.py
@@ -14,7 +14,7 @@
14 14
15import logging 15import logging
16 16
17from django.core.urlresolvers import reverse 17from django.urls import reverse
18from django.utils.translation import ugettext_lazy as _ 18from django.utils.translation import ugettext_lazy as _
19 19
20from horizon import exceptions 20from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/routers/ports/tables.py b/openstack_dashboard/dashboards/project/routers/ports/tables.py
index 60df397..93034462 100644
--- a/openstack_dashboard/dashboards/project/routers/ports/tables.py
+++ b/openstack_dashboard/dashboards/project/routers/ports/tables.py
@@ -14,7 +14,7 @@
14 14
15import logging 15import logging
16 16
17from django.core.urlresolvers import reverse 17from django.urls import reverse
18from django.utils.translation import pgettext_lazy 18from django.utils.translation import pgettext_lazy
19from django.utils.translation import ugettext_lazy as _ 19from django.utils.translation import ugettext_lazy as _
20from django.utils.translation import ungettext_lazy 20from django.utils.translation import ungettext_lazy
diff --git a/openstack_dashboard/dashboards/project/routers/ports/tabs.py b/openstack_dashboard/dashboards/project/routers/ports/tabs.py
index dec47d5..d4aea2a 100644
--- a/openstack_dashboard/dashboards/project/routers/ports/tabs.py
+++ b/openstack_dashboard/dashboards/project/routers/ports/tabs.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse 15from django.urls import reverse
16from django.utils.translation import ugettext_lazy as _ 16from django.utils.translation import ugettext_lazy as _
17 17
18from horizon import exceptions 18from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/routers/ports/views.py b/openstack_dashboard/dashboards/project/routers/ports/views.py
index bdc0f3f..ea18cac 100644
--- a/openstack_dashboard/dashboards/project/routers/ports/views.py
+++ b/openstack_dashboard/dashboards/project/routers/ports/views.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse 15from django.urls import reverse
16from django.utils.translation import ugettext_lazy as _ 16from django.utils.translation import ugettext_lazy as _
17 17
18from horizon import exceptions 18from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/routers/tables.py b/openstack_dashboard/dashboards/project/routers/tables.py
index 7266c08..9c24e86 100644
--- a/openstack_dashboard/dashboards/project/routers/tables.py
+++ b/openstack_dashboard/dashboards/project/routers/tables.py
@@ -14,8 +14,8 @@
14 14
15import logging 15import logging
16 16
17from django.core.urlresolvers import reverse
18from django.template import defaultfilters as filters 17from django.template import defaultfilters as filters
18from django.urls import reverse
19from django.utils.translation import pgettext_lazy 19from django.utils.translation import pgettext_lazy
20from django.utils.translation import ugettext_lazy as _ 20from django.utils.translation import ugettext_lazy as _
21from django.utils.translation import ungettext_lazy 21from django.utils.translation import ungettext_lazy
diff --git a/openstack_dashboard/dashboards/project/routers/tests.py b/openstack_dashboard/dashboards/project/routers/tests.py
index dced786..c942386 100644
--- a/openstack_dashboard/dashboards/project/routers/tests.py
+++ b/openstack_dashboard/dashboards/project/routers/tests.py
@@ -14,8 +14,8 @@
14import copy 14import copy
15 15
16import django 16import django
17from django.core.urlresolvers import reverse
18from django import http 17from django import http
18from django.urls import reverse
19 19
20from mox3.mox import IgnoreArg 20from mox3.mox import IgnoreArg
21from mox3.mox import IsA 21from mox3.mox import IsA
diff --git a/openstack_dashboard/dashboards/project/routers/views.py b/openstack_dashboard/dashboards/project/routers/views.py
index 4c428f3..35b65cd 100644
--- a/openstack_dashboard/dashboards/project/routers/views.py
+++ b/openstack_dashboard/dashboards/project/routers/views.py
@@ -19,8 +19,8 @@ Views for managing Neutron Routers.
19 19
20from collections import OrderedDict 20from collections import OrderedDict
21 21
22from django.core.urlresolvers import reverse 22from django.urls import reverse
23from django.core.urlresolvers import reverse_lazy 23from django.urls import reverse_lazy
24from django.utils.translation import pgettext_lazy 24from django.utils.translation import pgettext_lazy
25from django.utils.translation import ugettext_lazy as _ 25from django.utils.translation import ugettext_lazy as _
26 26
diff --git a/openstack_dashboard/dashboards/project/security_groups/forms.py b/openstack_dashboard/dashboards/project/security_groups/forms.py
index 4d85aa9..731c6ef 100644
--- a/openstack_dashboard/dashboards/project/security_groups/forms.py
+++ b/openstack_dashboard/dashboards/project/security_groups/forms.py
@@ -19,8 +19,8 @@
19import netaddr 19import netaddr
20 20
21from django.conf import settings 21from django.conf import settings
22from django.core.urlresolvers import reverse
23from django.forms import ValidationError 22from django.forms import ValidationError
23from django.urls import reverse
24from django.utils.translation import ugettext_lazy as _ 24from django.utils.translation import ugettext_lazy as _
25 25
26import six 26import six
diff --git a/openstack_dashboard/dashboards/project/security_groups/tables.py b/openstack_dashboard/dashboards/project/security_groups/tables.py
index e75fcbf..3872116 100644
--- a/openstack_dashboard/dashboards/project/security_groups/tables.py
+++ b/openstack_dashboard/dashboards/project/security_groups/tables.py
@@ -13,7 +13,7 @@
13# under the License. 13# under the License.
14 14
15from django.conf import settings 15from django.conf import settings
16from django.core.urlresolvers import reverse 16from django.urls import reverse
17from django.utils.translation import ugettext_lazy as _ 17from django.utils.translation import ugettext_lazy as _
18from django.utils.translation import ungettext_lazy 18from django.utils.translation import ungettext_lazy
19import six 19import six
diff --git a/openstack_dashboard/dashboards/project/security_groups/tests.py b/openstack_dashboard/dashboards/project/security_groups/tests.py
index 520234c..95cce0b 100644
--- a/openstack_dashboard/dashboards/project/security_groups/tests.py
+++ b/openstack_dashboard/dashboards/project/security_groups/tests.py
@@ -23,8 +23,8 @@ import six
23 23
24import django 24import django
25from django.conf import settings 25from django.conf import settings
26from django.core.urlresolvers import reverse
27from django import http 26from django import http
27from django.urls import reverse
28 28
29from horizon import exceptions 29from horizon import exceptions
30from horizon import forms 30from horizon import forms
diff --git a/openstack_dashboard/dashboards/project/security_groups/views.py b/openstack_dashboard/dashboards/project/security_groups/views.py
index 9f78f09..5ba6e41 100644
--- a/openstack_dashboard/dashboards/project/security_groups/views.py
+++ b/openstack_dashboard/dashboards/project/security_groups/views.py
@@ -19,8 +19,8 @@
19""" 19"""
20Views for managing instances. 20Views for managing instances.
21""" 21"""
22from django.core.urlresolvers import reverse 22from django.urls import reverse
23from django.core.urlresolvers import reverse_lazy 23from django.urls import reverse_lazy
24from django.utils.translation import ugettext_lazy as _ 24from django.utils.translation import ugettext_lazy as _
25from neutronclient.common import exceptions as neutron_exc 25from neutronclient.common import exceptions as neutron_exc
26 26
diff --git a/openstack_dashboard/dashboards/project/snapshots/forms.py b/openstack_dashboard/dashboards/project/snapshots/forms.py
index 77c2f0c..0e36327 100644
--- a/openstack_dashboard/dashboards/project/snapshots/forms.py
+++ b/openstack_dashboard/dashboards/project/snapshots/forms.py
@@ -11,7 +11,7 @@
11# under the License. 11# under the License.
12 12
13 13
14from django.core.urlresolvers import reverse 14from django.urls import reverse
15from django.utils.translation import ugettext_lazy as _ 15from django.utils.translation import ugettext_lazy as _
16 16
17from horizon import exceptions 17from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/snapshots/tables.py b/openstack_dashboard/dashboards/project/snapshots/tables.py
index 068f965..43f91cc 100644
--- a/openstack_dashboard/dashboards/project/snapshots/tables.py
+++ b/openstack_dashboard/dashboards/project/snapshots/tables.py
@@ -13,7 +13,7 @@
13# under the License. 13# under the License.
14 14
15from django.conf import settings 15from django.conf import settings
16from django.core.urlresolvers import reverse 16from django.urls import reverse
17from django.utils.http import urlencode 17from django.utils.http import urlencode
18from django.utils.translation import ugettext_lazy as _ 18from django.utils.translation import ugettext_lazy as _
19from django.utils.translation import ungettext_lazy 19from django.utils.translation import ungettext_lazy
diff --git a/openstack_dashboard/dashboards/project/snapshots/tabs.py b/openstack_dashboard/dashboards/project/snapshots/tabs.py
index 7fcd8b3..47a7bea 100644
--- a/openstack_dashboard/dashboards/project/snapshots/tabs.py
+++ b/openstack_dashboard/dashboards/project/snapshots/tabs.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse 15from django.urls import reverse
16from django.utils.translation import ugettext_lazy as _ 16from django.utils.translation import ugettext_lazy as _
17 17
18from horizon import exceptions 18from horizon import exceptions
diff --git a/openstack_dashboard/dashboards/project/snapshots/tests.py b/openstack_dashboard/dashboards/project/snapshots/tests.py
index ec3a051..747636c 100644
--- a/openstack_dashboard/dashboards/project/snapshots/tests.py
+++ b/openstack_dashboard/dashboards/project/snapshots/tests.py
@@ -17,9 +17,9 @@
17# under the License. 17# under the License.
18 18
19from django.conf import settings 19from django.conf import settings
20from django.core.urlresolvers import reverse
21from django import http 20from django import http
22from django.test.utils import override_settings 21from django.test.utils import override_settings
22from django.urls import reverse
23from django.utils.http import urlunquote 23from django.utils.http import urlunquote
24from mox3.mox import IsA 24from mox3.mox import IsA
25 25
diff --git a/openstack_dashboard/dashboards/project/snapshots/views.py b/openstack_dashboard/dashboards/project/snapshots/views.py
index b7517dc..8746250 100644
--- a/openstack_dashboard/dashboards/project/snapshots/views.py
+++ b/openstack_dashboard/dashboards/project/snapshots/views.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core.urlresolvers import reverse 13from django.urls import reverse
14from django.core.urlresolvers import reverse_lazy 14from django.urls import reverse_lazy
15from django.utils.http import urlencode 15from django.utils.http import urlencode
16from django.utils.translation import ugettext_lazy as _ 16from django.utils.translation import ugettext_lazy as _
17 17
diff --git a/openstack_dashboard/dashboards/project/volumes/forms.py b/openstack_dashboard/dashboards/project/volumes/forms.py
index 4efe2b1..236022a 100644
--- a/openstack_dashboard/dashboards/project/volumes/forms.py
+++ b/openstack_dashboard/dashboards/project/volumes/forms.py
@@ -18,9 +18,9 @@ Views for managing volumes.
18""" 18"""
19 19
20from django.conf import settings 20from django.conf import settings
21from django.core.urlresolvers import reverse
22from django.forms import ValidationError 21from django.forms import ValidationError
23from django.template.defaultfilters import filesizeformat 22from django.template.defaultfilters import filesizeformat
23from django.urls import reverse
24from django.utils.translation import pgettext_lazy 24from django.utils.translation import pgettext_lazy
25from django.utils.translation import ugettext_lazy as _ 25from django.utils.translation import ugettext_lazy as _
26 26
diff --git a/openstack_dashboard/dashboards/project/volumes/tables.py b/openstack_dashboard/dashboards/project/volumes/tables.py
index d57cf37..ecadc06 100644
--- a/openstack_dashboard/dashboards/project/volumes/tables.py
+++ b/openstack_dashboard/dashboards/project/volumes/tables.py
@@ -13,10 +13,10 @@
13# under the License. 13# under the License.
14 14
15from django.conf import settings 15from django.conf import settings
16from django.core.urlresolvers import NoReverseMatch
17from django.core.urlresolvers import reverse
18from django.http import HttpResponse 16from django.http import HttpResponse
19from django.template import defaultfilters as filters 17from django.template import defaultfilters as filters
18from django.urls import NoReverseMatch
19from django.urls import reverse
20from django.utils import html 20from django.utils import html
21from django.utils.http import urlencode 21from django.utils.http import urlencode
22from django.utils import safestring 22from django.utils import safestring
diff --git a/openstack_dashboard/dashboards/project/volumes/tests.py b/openstack_dashboard/dashboards/project/volumes/tests.py
index 35de444..7b16db1 100644
--- a/openstack_dashboard/dashboards/project/volumes/tests.py
+++ b/openstack_dashboard/dashboards/project/volumes/tests.py
@@ -19,10 +19,10 @@ import six
19 19
20import django 20import django
21from django.conf import settings 21from django.conf import settings
22from django.core.urlresolvers import reverse
23from django.forms import widgets 22from django.forms import widgets
24from django.template.defaultfilters import slugify 23from django.template.defaultfilters import slugify
25from django.test.utils import override_settings 24from django.test.utils import override_settings
25from django.urls import reverse
26from django.utils.http import urlunquote 26from django.utils.http import urlunquote
27 27
28from openstack_dashboard import api 28from openstack_dashboard import api
diff --git a/openstack_dashboard/dashboards/project/volumes/views.py b/openstack_dashboard/dashboards/project/volumes/views.py
index f4a77d7..3bf3c2d 100644
--- a/openstack_dashboard/dashboards/project/volumes/views.py
+++ b/openstack_dashboard/dashboards/project/volumes/views.py
@@ -19,10 +19,10 @@ Views for managing volumes.
19from collections import OrderedDict 19from collections import OrderedDict
20import json 20import json
21 21
22from django.core.urlresolvers import reverse
23from django.core.urlresolvers import reverse_lazy
24from django import shortcuts 22from django import shortcuts
25from django.template.defaultfilters import slugify 23from django.template.defaultfilters import slugify
24from django.urls import reverse
25from django.urls import reverse_lazy
26from django.utils.decorators import method_decorator 26from django.utils.decorators import method_decorator
27from django.utils import encoding 27from django.utils import encoding
28from django.utils.translation import ugettext_lazy as _ 28from django.utils.translation import ugettext_lazy as _
diff --git a/openstack_dashboard/dashboards/settings/password/tests.py b/openstack_dashboard/dashboards/settings/password/tests.py
index b9b0a6f..22d8081 100644
--- a/openstack_dashboard/dashboards/settings/password/tests.py
+++ b/openstack_dashboard/dashboards/settings/password/tests.py
@@ -13,8 +13,8 @@
13# under the License. 13# under the License.
14 14
15from django.conf import settings 15from django.conf import settings
16from django.core.urlresolvers import reverse
17from django import http 16from django import http
17from django.urls import reverse
18from django.utils.six.moves.urllib.parse import urlsplit 18from django.utils.six.moves.urllib.parse import urlsplit
19 19
20import mock 20import mock
diff --git a/openstack_dashboard/dashboards/settings/password/views.py b/openstack_dashboard/dashboards/settings/password/views.py
index aaacf6f..331bb4b 100644
--- a/openstack_dashboard/dashboards/settings/password/views.py
+++ b/openstack_dashboard/dashboards/settings/password/views.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse_lazy 15from django.urls import reverse_lazy
16from django.utils.translation import ugettext_lazy as _ 16from django.utils.translation import ugettext_lazy as _
17 17
18from horizon import forms 18from horizon import forms
diff --git a/openstack_dashboard/dashboards/settings/user/tests.py b/openstack_dashboard/dashboards/settings/user/tests.py
index 5ecb5aa..54c4942 100644
--- a/openstack_dashboard/dashboards/settings/user/tests.py
+++ b/openstack_dashboard/dashboards/settings/user/tests.py
@@ -13,7 +13,7 @@
13# under the License. 13# under the License.
14 14
15from django.conf import settings 15from django.conf import settings
16from django.core.urlresolvers import reverse 16from django.urls import reverse
17 17
18from openstack_dashboard.test import helpers as test 18from openstack_dashboard.test import helpers as test
19 19
diff --git a/openstack_dashboard/dashboards/settings/user/views.py b/openstack_dashboard/dashboards/settings/user/views.py
index e5a4aec..f8649c0 100644
--- a/openstack_dashboard/dashboards/settings/user/views.py
+++ b/openstack_dashboard/dashboards/settings/user/views.py
@@ -12,7 +12,7 @@
12# License for the specific language governing permissions and limitations 12# License for the specific language governing permissions and limitations
13# under the License. 13# under the License.
14 14
15from django.core.urlresolvers import reverse_lazy 15from django.urls import reverse_lazy
16from django.utils.translation import ugettext_lazy as _ 16from django.utils.translation import ugettext_lazy as _
17 17
18from horizon import forms 18from horizon import forms
diff --git a/openstack_dashboard/test/helpers.py b/openstack_dashboard/test/helpers.py
index 3f9acf4..b1f5401 100644
--- a/openstack_dashboard/test/helpers.py
+++ b/openstack_dashboard/test/helpers.py
@@ -29,10 +29,10 @@ import django
29from django.conf import settings 29from django.conf import settings
30from django.contrib.messages.storage import default_storage 30from django.contrib.messages.storage import default_storage
31from django.core.handlers import wsgi 31from django.core.handlers import wsgi
32from django.core import urlresolvers
33from django import http as http_request 32from django import http as http_request
34from django.test.client import RequestFactory 33from django.test.client import RequestFactory
35from django.test import utils as django_test_utils 34from django.test import utils as django_test_utils
35from django import urls
36from django.utils import http 36from django.utils import http
37 37
38from cinderclient import client as cinder_client 38from cinderclient import client as cinder_client
@@ -732,7 +732,7 @@ class PluginTestCase(TestCase):
732 to be re-calculated after registering new dashboards. Useful 732 to be re-calculated after registering new dashboards. Useful
733 only for testing and should never be used on a live site. 733 only for testing and should never be used on a live site.
734 """ 734 """
735 urlresolvers.clear_url_caches() 735 urls.clear_url_caches()
736 moves.reload_module(import_module(settings.ROOT_URLCONF)) 736 moves.reload_module(import_module(settings.ROOT_URLCONF))
737 base.Horizon._urls() 737 base.Horizon._urls()
738 738
diff --git a/openstack_dashboard/usage/tables.py b/openstack_dashboard/usage/tables.py
index e2b7414..e47eefb 100644
--- a/openstack_dashboard/usage/tables.py
+++ b/openstack_dashboard/usage/tables.py
@@ -10,8 +10,8 @@
10# License for the specific language governing permissions and limitations 10# License for the specific language governing permissions and limitations
11# under the License. 11# under the License.
12 12
13from django.core import urlresolvers
14from django.template.defaultfilters import floatformat 13from django.template.defaultfilters import floatformat
14from django import urls
15from django.utils.translation import ugettext_lazy as _ 15from django.utils.translation import ugettext_lazy as _
16 16
17from horizon import tables 17from horizon import tables
@@ -73,7 +73,7 @@ class GlobalUsageTable(BaseUsageTable):
73def get_instance_link(datum): 73def get_instance_link(datum):
74 view = "horizon:project:instances:detail" 74 view = "horizon:project:instances:detail"
75 if datum.get('instance_id', False): 75 if datum.get('instance_id', False):
76 return urlresolvers.reverse(view, args=(datum.get('instance_id'),)) 76 return urls.reverse(view, args=(datum.get('instance_id'),))
77 else: 77 else:
78 return None 78 return None
79 79
diff --git a/openstack_dashboard/views.py b/openstack_dashboard/views.py
index a1354b6..2255301 100644
--- a/openstack_dashboard/views.py
+++ b/openstack_dashboard/views.py
@@ -16,9 +16,9 @@ from importlib import import_module
16import logging 16import logging
17 17
18from django.conf import settings 18from django.conf import settings
19from django.core import urlresolvers
20from django import http 19from django import http
21from django import shortcuts 20from django import shortcuts
21from django import urls
22from django.utils.translation import ugettext as _ 22from django.utils.translation import ugettext as _
23import django.views.decorators.vary 23import django.views.decorators.vary
24from django.views.generic import TemplateView 24from django.views.generic import TemplateView
@@ -74,9 +74,9 @@ def splash(request):
74def get_url_with_pagination(request, marker_name, prev_marker_name, url_string, 74def get_url_with_pagination(request, marker_name, prev_marker_name, url_string,
75 object_id=None): 75 object_id=None):
76 if object_id: 76 if object_id:
77 url = urlresolvers.reverse(url_string, args=(object_id,)) 77 url = urls.reverse(url_string, args=(object_id,))
78 else: 78 else:
79 url = urlresolvers.reverse(url_string) 79 url = urls.reverse(url_string)
80 marker = request.GET.get(marker_name, None) 80 marker = request.GET.get(marker_name, None)
81 if marker: 81 if marker:
82 return "{}?{}".format(url, 82 return "{}?{}".format(url,