From eccd9e5bb39433bc0eaeba8f33937e0516281842 Mon Sep 17 00:00:00 2001 From: Ivan Udovichenko Date: Tue, 21 Jun 2016 12:14:03 +0300 Subject: [PATCH] Increase epoch. Rewritten-From: 35a1fa24bfb296f9898674b42f872701948320af --- trusty/debian/changelog | 7 + trusty/debian/patches/0001-Fix-patch.patch | 39 +++ ...x_remaining_Django_1.9_test_failures.patch | 232 ------------------ trusty/debian/patches/series | 1 + 4 files changed, 47 insertions(+), 232 deletions(-) create mode 100644 trusty/debian/patches/0001-Fix-patch.patch diff --git a/trusty/debian/changelog b/trusty/debian/changelog index a296ebe..01de083 100644 --- a/trusty/debian/changelog +++ b/trusty/debian/changelog @@ -1,3 +1,10 @@ +horizon (3:9.0.1-1) unstable; urgency=medium + + * Increase epoch. + * Merge the latest commits from stable/mitaka branch. + + -- Ivan Udovichenko Tue, 21 Jun 2016 11:49:07 +0300 + horizon (2:9.0.0-3) unstable; urgency=medium [ Ondřej Nový ] diff --git a/trusty/debian/patches/0001-Fix-patch.patch b/trusty/debian/patches/0001-Fix-patch.patch new file mode 100644 index 0000000..55ed0d7 --- /dev/null +++ b/trusty/debian/patches/0001-Fix-patch.patch @@ -0,0 +1,39 @@ +From 27844673e0a736782cfc18505ba7ab0a2c0ccb63 Mon Sep 17 00:00:00 2001 +From: Ivan Udovichenko +Date: Tue, 21 Jun 2016 13:38:57 +0300 +Subject: [PATCH] Fix patch. + +--- + openstack_dashboard/dashboards/project/volumes/volumes/tests.py | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/openstack_dashboard/dashboards/project/volumes/volumes/tests.py b/openstack_dashboard/dashboards/project/volumes/volumes/tests.py +index a77f8cd..e941ffe 100644 +--- a/openstack_dashboard/dashboards/project/volumes/volumes/tests.py ++++ b/openstack_dashboard/dashboards/project/volumes/volumes/tests.py +@@ -16,10 +16,12 @@ + # License for the specific language governing permissions and limitations + # under the License. + ++import django + from django.core.urlresolvers import reverse + from django.forms import widgets + from django import http + from django.test.utils import override_settings ++from django.utils.http import urlunquote # noqa + + from mox3.mox import IsA # noqa + import six +@@ -32,7 +34,8 @@ from openstack_dashboard.usage import quotas + + + VOLUME_INDEX_URL = reverse('horizon:project:volumes:index') +-VOLUME_VOLUMES_TAB_URL = reverse('horizon:project:volumes:volumes_tab') ++VOLUME_VOLUMES_TAB_URL = urlunquote(reverse( ++ 'horizon:project:volumes:volumes_tab')) + SEARCH_OPTS = dict(status=api.cinder.VOLUME_STATE_AVAILABLE) + + +-- +2.1.4 + diff --git a/trusty/debian/patches/Fix_remaining_Django_1.9_test_failures.patch b/trusty/debian/patches/Fix_remaining_Django_1.9_test_failures.patch index 0bd022e..f266fd0 100644 --- a/trusty/debian/patches/Fix_remaining_Django_1.9_test_failures.patch +++ b/trusty/debian/patches/Fix_remaining_Django_1.9_test_failures.patch @@ -587,238 +587,6 @@ index b632fbd..1f3ef4a 100644 self.assertEqual(res.status_code, 200) self.assertTemplateUsed(res, 'project/volumes/index.html') -diff --git a/openstack_dashboard/dashboards/project/volumes/volumes/tests.py b/openstack_dashboard/dashboards/project/volumes/volumes/tests.py -index 3eac769..0e07ba8 100644 ---- a/openstack_dashboard/dashboards/project/volumes/volumes/tests.py -+++ b/openstack_dashboard/dashboards/project/volumes/volumes/tests.py -@@ -16,10 +16,12 @@ - # License for the specific language governing permissions and limitations - # under the License. - -+import django - from django.core.urlresolvers import reverse - from django.forms import widgets - from django import http - from django.test.utils import override_settings -+from django.utils.http import urlunquote # noqa - - from mox3.mox import IsA # noqa - import six -@@ -32,7 +34,8 @@ from openstack_dashboard.usage import quotas - - - VOLUME_INDEX_URL = reverse('horizon:project:volumes:index') --VOLUME_VOLUMES_TAB_URL = reverse('horizon:project:volumes:volumes_tab') -+VOLUME_VOLUMES_TAB_URL = urlunquote(reverse( -+ 'horizon:project:volumes:volumes_tab')) - SEARCH_OPTS = dict(status=api.cinder.VOLUME_STATE_AVAILABLE) - - -@@ -472,8 +475,9 @@ class VolumeViewTests(test.TestCase): - - cinder.volume_type_list(IsA(http.HttpRequest)).\ - AndReturn(self.volume_types.list()) -- cinder.volume_type_list(IsA(http.HttpRequest)).\ -- AndReturn(self.volume_types.list()) -+ if django.VERSION >= (1, 9): -+ cinder.volume_type_list(IsA(http.HttpRequest)).\ -+ AndReturn(self.volume_types.list()) - cinder.volume_type_default(IsA(http.HttpRequest)).\ - AndReturn(self.volume_types.first()) - quotas.tenant_limit_usages(IsA(http.HttpRequest)).\ -@@ -482,9 +486,13 @@ class VolumeViewTests(test.TestCase): - str(snapshot.id)).AndReturn(snapshot) - cinder.volume_get(IsA(http.HttpRequest), snapshot.volume_id).\ - AndReturn(self.cinder_volumes.first()) -- -- quotas.tenant_limit_usages(IsA(http.HttpRequest)).\ -- AndReturn(usage_limit) -+ if django.VERSION >= (1, 9): -+ cinder.volume_type_default(IsA(http.HttpRequest)). \ -+ AndReturn(self.volume_types.first()) -+ cinder.volume_snapshot_get(IsA(http.HttpRequest), -+ str(snapshot.id)).AndReturn(snapshot) -+ cinder.volume_get(IsA(http.HttpRequest), snapshot.volume_id). \ -+ AndReturn(self.cinder_volumes.first()) - - self.mox.ReplayAll() - -@@ -649,8 +657,9 @@ class VolumeViewTests(test.TestCase): - - cinder.volume_type_list(IsA(http.HttpRequest)).\ - AndReturn(self.volume_types.list()) -- cinder.volume_type_list(IsA(http.HttpRequest)).\ -- AndReturn(self.volume_types.list()) -+ if django.VERSION >= (1, 9): -+ cinder.volume_type_list(IsA(http.HttpRequest)).\ -+ AndReturn(self.volume_types.list()) - cinder.volume_type_default(IsA(http.HttpRequest)).\ - AndReturn(self.volume_types.first()) - quotas.tenant_limit_usages(IsA(http.HttpRequest)).\ -@@ -661,8 +670,15 @@ class VolumeViewTests(test.TestCase): - .AndReturn(True) - cinder.availability_zone_list(IsA(http.HttpRequest)).AndReturn( - self.cinder_availability_zones.list()) -- quotas.tenant_limit_usages(IsA(http.HttpRequest)).\ -- AndReturn(usage_limit) -+ if django.VERSION >= (1, 9): -+ cinder.volume_type_default(IsA(http.HttpRequest)). \ -+ AndReturn(self.volume_types.first()) -+ api.glance.image_get(IsA(http.HttpRequest), -+ str(image.id)).AndReturn(image) -+ cinder.extension_supported(IsA(http.HttpRequest), -+ 'AvailabilityZones').AndReturn(True) -+ cinder.availability_zone_list(IsA(http.HttpRequest)).AndReturn( -+ self.cinder_availability_zones.list()) - - self.mox.ReplayAll() - -@@ -696,8 +712,9 @@ class VolumeViewTests(test.TestCase): - - cinder.volume_type_list(IsA(http.HttpRequest)).\ - AndReturn(self.volume_types.list()) -- cinder.volume_type_list(IsA(http.HttpRequest)).\ -- AndReturn(self.volume_types.list()) -+ if django.VERSION >= (1, 9): -+ cinder.volume_type_list(IsA(http.HttpRequest)).\ -+ AndReturn(self.volume_types.list()) - cinder.volume_type_default(IsA(http.HttpRequest)).\ - AndReturn(self.volume_types.first()) - quotas.tenant_limit_usages(IsA(http.HttpRequest)).\ -@@ -708,8 +725,15 @@ class VolumeViewTests(test.TestCase): - .AndReturn(True) - cinder.availability_zone_list(IsA(http.HttpRequest)).AndReturn( - self.cinder_availability_zones.list()) -- quotas.tenant_limit_usages(IsA(http.HttpRequest)).\ -- AndReturn(usage_limit) -+ if django.VERSION >= (1, 9): -+ cinder.volume_type_default(IsA(http.HttpRequest)).\ -+ AndReturn(self.volume_types.first()) -+ api.glance.image_get(IsA(http.HttpRequest), -+ str(image.id)).AndReturn(image) -+ cinder.extension_supported(IsA(http.HttpRequest), -+ 'AvailabilityZones').AndReturn(True) -+ cinder.availability_zone_list(IsA(http.HttpRequest)).AndReturn( -+ self.cinder_availability_zones.list()) - - self.mox.ReplayAll() - -@@ -753,8 +777,9 @@ class VolumeViewTests(test.TestCase): - - cinder.volume_type_list(IsA(http.HttpRequest)).\ - AndReturn(self.volume_types.list()) -- cinder.volume_type_list(IsA(http.HttpRequest)).\ -- AndReturn(self.volume_types.list()) -+ if django.VERSION >= (1, 9): -+ cinder.volume_type_list(IsA(http.HttpRequest)).\ -+ AndReturn(self.volume_types.list()) - cinder.volume_type_default(IsA(http.HttpRequest)).\ - AndReturn(self.volume_types.first()) - quotas.tenant_limit_usages(IsA(http.HttpRequest)).\ -@@ -778,8 +803,29 @@ class VolumeViewTests(test.TestCase): - .AndReturn(True) - cinder.availability_zone_list(IsA(http.HttpRequest)).AndReturn( - self.cinder_availability_zones.list()) -- quotas.tenant_limit_usages(IsA(http.HttpRequest)).\ -- AndReturn(usage_limit) -+ if django.VERSION >= (1, 9): -+ cinder.volume_type_default(IsA(http.HttpRequest)).\ -+ AndReturn(self.volume_types.first()) -+ cinder.volume_snapshot_list(IsA(http.HttpRequest), -+ search_opts=SEARCH_OPTS). \ -+ AndReturn(self.cinder_volume_snapshots.list()) -+ api.glance.image_list_detailed( -+ IsA(http.HttpRequest), -+ filters={'is_public': True, 'status': 'active'}) \ -+ .AndReturn([self.images.list(), False, False]) -+ api.glance.image_list_detailed( -+ IsA(http.HttpRequest), -+ filters={'property-owner_id': self.tenant.id, -+ 'status': 'active'}) \ -+ .AndReturn([[], False, False]) -+ cinder.volume_list(IsA( -+ http.HttpRequest), -+ search_opts=SEARCH_OPTS).AndReturn(self.cinder_volumes.list()) -+ cinder.extension_supported(IsA(http.HttpRequest), -+ 'AvailabilityZones') \ -+ .AndReturn(True) -+ cinder.availability_zone_list(IsA(http.HttpRequest)).AndReturn( -+ self.cinder_availability_zones.list()) - - self.mox.ReplayAll() - -@@ -810,8 +856,9 @@ class VolumeViewTests(test.TestCase): - - cinder.volume_type_list(IsA(http.HttpRequest)).\ - AndReturn(self.volume_types.list()) -- cinder.volume_type_list(IsA(http.HttpRequest)).\ -- AndReturn(self.volume_types.list()) -+ if django.VERSION >= (1, 9): -+ cinder.volume_type_list(IsA(http.HttpRequest)).\ -+ AndReturn(self.volume_types.list()) - cinder.volume_type_default(IsA(http.HttpRequest)).\ - AndReturn(self.volume_types.first()) - quotas.tenant_limit_usages(IsA(http.HttpRequest)).\ -@@ -835,8 +882,29 @@ class VolumeViewTests(test.TestCase): - .AndReturn(True) - cinder.availability_zone_list(IsA(http.HttpRequest)).AndReturn( - self.cinder_availability_zones.list()) -- quotas.tenant_limit_usages(IsA(http.HttpRequest)).\ -- AndReturn(usage_limit) -+ if django.VERSION >= (1, 9): -+ cinder.volume_type_default(IsA(http.HttpRequest)). \ -+ AndReturn(self.volume_types.first()) -+ cinder.volume_snapshot_list(IsA(http.HttpRequest), -+ search_opts=SEARCH_OPTS). \ -+ AndReturn(self.cinder_volume_snapshots.list()) -+ api.glance.image_list_detailed( -+ IsA(http.HttpRequest), -+ filters={'is_public': True, 'status': 'active'}) \ -+ .AndReturn([self.images.list(), False, False]) -+ api.glance.image_list_detailed( -+ IsA(http.HttpRequest), -+ filters={'property-owner_id': self.tenant.id, -+ 'status': 'active'}) \ -+ .AndReturn([[], False, False]) -+ cinder.volume_list(IsA( -+ http.HttpRequest), -+ search_opts=SEARCH_OPTS).AndReturn(self.cinder_volumes.list()) -+ cinder.extension_supported(IsA(http.HttpRequest), -+ 'AvailabilityZones') \ -+ .AndReturn(True) -+ cinder.availability_zone_list(IsA(http.HttpRequest)).AndReturn( -+ self.cinder_availability_zones.list()) - - self.mox.ReplayAll() - -@@ -1434,18 +1502,12 @@ class VolumeViewTests(test.TestCase): - quotas: ('tenant_limit_usages',)}) - def test_extend_volume_with_wrong_size(self): - volume = self.cinder_volumes.first() -- usage_limit = {'maxTotalVolumeGigabytes': 100, -- 'gigabytesUsed': 20, -- 'volumesUsed': len(self.cinder_volumes.list()), -- 'maxTotalVolumes': 6} - formData = {'name': u'A Volume I Am Making', - 'orig_size': volume.size, - 'new_size': 10} - - cinder.volume_get(IsA(http.HttpRequest), volume.id).\ - AndReturn(self.cinder_volumes.first()) -- quotas.tenant_limit_usages(IsA(http.HttpRequest)).\ -- AndReturn(usage_limit) - - self.mox.ReplayAll() - -@@ -1574,8 +1636,6 @@ class VolumeViewTests(test.TestCase): - AndReturn(usage_limit) - cinder.volume_get(IsA(http.HttpRequest), volume.id).\ - AndReturn(self.volumes.first()) -- quotas.tenant_limit_usages(IsA(http.HttpRequest)).\ -- AndReturn(usage_limit) - - self.mox.ReplayAll() - diff --git a/openstack_dashboard/settings.py b/openstack_dashboard/settings.py index 69ab6d0..3e8a588 100644 --- a/openstack_dashboard/settings.py diff --git a/trusty/debian/patches/series b/trusty/debian/patches/series index 41ab217..c106d82 100644 --- a/trusty/debian/patches/series +++ b/trusty/debian/patches/series @@ -2,3 +2,4 @@ fix-dashboard-django-wsgi.patch fix-dashboard-manage.patch fixed-horizon-MANIFEST.in.patch Fix_remaining_Django_1.9_test_failures.patch +0001-Fix-patch.patch -- 2.45.2