diff --git a/openstack_dashboard/api/__init__.py b/openstack_dashboard/api/__init__.py index 9f915e694a..0f9df35ffe 100644 --- a/openstack_dashboard/api/__init__.py +++ b/openstack_dashboard/api/__init__.py @@ -43,7 +43,6 @@ from openstack_dashboard.api import network from openstack_dashboard.api import neutron from openstack_dashboard.api import nova from openstack_dashboard.api import swift -from openstack_dashboard.api import trove from openstack_dashboard.api import vpn @@ -60,6 +59,5 @@ __all__ = [ "nova", "swift", "ceilometer", - "trove", "vpn", ] diff --git a/openstack_dashboard/dashboards/project/database_backups/__init__.py b/openstack_dashboard/contrib/trove/__init__.py similarity index 100% rename from openstack_dashboard/dashboards/project/database_backups/__init__.py rename to openstack_dashboard/contrib/trove/__init__.py diff --git a/openstack_dashboard/contrib/trove/api/__init__.py b/openstack_dashboard/contrib/trove/api/__init__.py new file mode 100644 index 0000000000..a91677cbf7 --- /dev/null +++ b/openstack_dashboard/contrib/trove/api/__init__.py @@ -0,0 +1,5 @@ +from openstack_dashboard.contrib.trove.api import trove + +__all__ = [ + "trove" +] diff --git a/openstack_dashboard/api/trove.py b/openstack_dashboard/contrib/trove/api/trove.py similarity index 100% rename from openstack_dashboard/api/trove.py rename to openstack_dashboard/contrib/trove/api/trove.py diff --git a/openstack_dashboard/dashboards/project/databases/__init__.py b/openstack_dashboard/contrib/trove/content/__init__.py similarity index 100% rename from openstack_dashboard/dashboards/project/databases/__init__.py rename to openstack_dashboard/contrib/trove/content/__init__.py diff --git a/openstack_dashboard/contrib/trove/content/database_backups/__init__.py b/openstack_dashboard/contrib/trove/content/database_backups/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/openstack_dashboard/dashboards/project/database_backups/panel.py b/openstack_dashboard/contrib/trove/content/database_backups/panel.py similarity index 100% rename from openstack_dashboard/dashboards/project/database_backups/panel.py rename to openstack_dashboard/contrib/trove/content/database_backups/panel.py diff --git a/openstack_dashboard/dashboards/project/database_backups/tables.py b/openstack_dashboard/contrib/trove/content/database_backups/tables.py similarity index 99% rename from openstack_dashboard/dashboards/project/database_backups/tables.py rename to openstack_dashboard/contrib/trove/content/database_backups/tables.py index 38e8d09c0d..0da12baad9 100644 --- a/openstack_dashboard/dashboards/project/database_backups/tables.py +++ b/openstack_dashboard/contrib/trove/content/database_backups/tables.py @@ -21,7 +21,7 @@ from django.utils.translation import ungettext_lazy from horizon import tables from horizon.utils import filters -from openstack_dashboard import api +from openstack_dashboard.contrib.trove import api STATUS_CHOICES = ( diff --git a/openstack_dashboard/dashboards/project/database_backups/templates/database_backups/_backup_details_help.html b/openstack_dashboard/contrib/trove/content/database_backups/templates/database_backups/_backup_details_help.html similarity index 100% rename from openstack_dashboard/dashboards/project/database_backups/templates/database_backups/_backup_details_help.html rename to openstack_dashboard/contrib/trove/content/database_backups/templates/database_backups/_backup_details_help.html diff --git a/openstack_dashboard/dashboards/project/database_backups/templates/database_backups/backup.html b/openstack_dashboard/contrib/trove/content/database_backups/templates/database_backups/backup.html similarity index 100% rename from openstack_dashboard/dashboards/project/database_backups/templates/database_backups/backup.html rename to openstack_dashboard/contrib/trove/content/database_backups/templates/database_backups/backup.html diff --git a/openstack_dashboard/dashboards/project/database_backups/templates/database_backups/details.html b/openstack_dashboard/contrib/trove/content/database_backups/templates/database_backups/details.html similarity index 100% rename from openstack_dashboard/dashboards/project/database_backups/templates/database_backups/details.html rename to openstack_dashboard/contrib/trove/content/database_backups/templates/database_backups/details.html diff --git a/openstack_dashboard/dashboards/project/database_backups/templates/database_backups/index.html b/openstack_dashboard/contrib/trove/content/database_backups/templates/database_backups/index.html similarity index 100% rename from openstack_dashboard/dashboards/project/database_backups/templates/database_backups/index.html rename to openstack_dashboard/contrib/trove/content/database_backups/templates/database_backups/index.html diff --git a/openstack_dashboard/dashboards/project/database_backups/tests.py b/openstack_dashboard/contrib/trove/content/database_backups/tests.py similarity index 99% rename from openstack_dashboard/dashboards/project/database_backups/tests.py rename to openstack_dashboard/contrib/trove/content/database_backups/tests.py index 7f4ae7af81..6b72e0ac9b 100644 --- a/openstack_dashboard/dashboards/project/database_backups/tests.py +++ b/openstack_dashboard/contrib/trove/content/database_backups/tests.py @@ -16,7 +16,7 @@ from django.core.urlresolvers import reverse from django import http from mox3.mox import IsA # noqa -from openstack_dashboard import api +from openstack_dashboard.contrib.trove import api from openstack_dashboard.test import helpers as test INDEX_URL = reverse('horizon:project:database_backups:index') diff --git a/openstack_dashboard/dashboards/project/database_backups/urls.py b/openstack_dashboard/contrib/trove/content/database_backups/urls.py similarity index 92% rename from openstack_dashboard/dashboards/project/database_backups/urls.py rename to openstack_dashboard/contrib/trove/content/database_backups/urls.py index 869706ec59..b9ad96c360 100644 --- a/openstack_dashboard/dashboards/project/database_backups/urls.py +++ b/openstack_dashboard/contrib/trove/content/database_backups/urls.py @@ -15,7 +15,7 @@ from django.conf.urls import patterns from django.conf.urls import url -from openstack_dashboard.dashboards.project.database_backups import views +from openstack_dashboard.contrib.trove.content.database_backups import views urlpatterns = patterns( '', diff --git a/openstack_dashboard/dashboards/project/database_backups/views.py b/openstack_dashboard/contrib/trove/content/database_backups/views.py similarity index 95% rename from openstack_dashboard/dashboards/project/database_backups/views.py rename to openstack_dashboard/contrib/trove/content/database_backups/views.py index 9a46cb7b08..a9a33bd0da 100644 --- a/openstack_dashboard/dashboards/project/database_backups/views.py +++ b/openstack_dashboard/contrib/trove/content/database_backups/views.py @@ -24,9 +24,10 @@ from horizon.utils import filters from horizon import views as horizon_views from horizon import workflows as horizon_workflows -from openstack_dashboard import api -from openstack_dashboard.dashboards.project.database_backups import tables -from openstack_dashboard.dashboards.project.database_backups import workflows +from openstack_dashboard.contrib.trove import api +from openstack_dashboard.contrib.trove.content.database_backups import tables +from openstack_dashboard.contrib.trove.content.database_backups \ + import workflows class IndexView(horizon_tables.DataTableView): diff --git a/openstack_dashboard/dashboards/project/database_backups/workflows/__init__.py b/openstack_dashboard/contrib/trove/content/database_backups/workflows/__init__.py similarity index 100% rename from openstack_dashboard/dashboards/project/database_backups/workflows/__init__.py rename to openstack_dashboard/contrib/trove/content/database_backups/workflows/__init__.py diff --git a/openstack_dashboard/dashboards/project/database_backups/workflows/create_backup.py b/openstack_dashboard/contrib/trove/content/database_backups/workflows/create_backup.py similarity index 97% rename from openstack_dashboard/dashboards/project/database_backups/workflows/create_backup.py rename to openstack_dashboard/contrib/trove/content/database_backups/workflows/create_backup.py index 522bf55540..6ca78afd3e 100644 --- a/openstack_dashboard/dashboards/project/database_backups/workflows/create_backup.py +++ b/openstack_dashboard/contrib/trove/content/database_backups/workflows/create_backup.py @@ -20,8 +20,8 @@ from horizon import exceptions from horizon import forms from horizon import workflows -from openstack_dashboard import api -from openstack_dashboard.dashboards.project.databases \ +from openstack_dashboard.contrib.trove import api +from openstack_dashboard.contrib.trove.content.databases \ import tables as project_tables diff --git a/openstack_dashboard/contrib/trove/content/databases/__init__.py b/openstack_dashboard/contrib/trove/content/databases/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/openstack_dashboard/dashboards/project/databases/forms.py b/openstack_dashboard/contrib/trove/content/databases/forms.py similarity index 98% rename from openstack_dashboard/dashboards/project/databases/forms.py rename to openstack_dashboard/contrib/trove/content/databases/forms.py index 74a4e29ffe..3e0c0a91c6 100644 --- a/openstack_dashboard/dashboards/project/databases/forms.py +++ b/openstack_dashboard/contrib/trove/content/databases/forms.py @@ -19,7 +19,7 @@ from django.utils.translation import ugettext_lazy as _ from horizon import exceptions from horizon import forms from horizon import messages -from openstack_dashboard import api +from openstack_dashboard.contrib.trove import api class ResizeVolumeForm(forms.SelfHandlingForm): diff --git a/openstack_dashboard/dashboards/project/databases/panel.py b/openstack_dashboard/contrib/trove/content/databases/panel.py similarity index 100% rename from openstack_dashboard/dashboards/project/databases/panel.py rename to openstack_dashboard/contrib/trove/content/databases/panel.py diff --git a/openstack_dashboard/dashboards/project/databases/tables.py b/openstack_dashboard/contrib/trove/content/databases/tables.py similarity index 99% rename from openstack_dashboard/dashboards/project/databases/tables.py rename to openstack_dashboard/contrib/trove/content/databases/tables.py index 0756d1f015..81e305a96c 100644 --- a/openstack_dashboard/dashboards/project/databases/tables.py +++ b/openstack_dashboard/contrib/trove/content/databases/tables.py @@ -23,8 +23,8 @@ from horizon import tables from horizon.templatetags import sizeformat from horizon.utils import filters -from openstack_dashboard import api -from openstack_dashboard.dashboards.project.database_backups \ +from openstack_dashboard.contrib.trove import api +from openstack_dashboard.contrib.trove.content.database_backups \ import tables as backup_tables diff --git a/openstack_dashboard/dashboards/project/databases/tabs.py b/openstack_dashboard/contrib/trove/content/databases/tabs.py similarity index 97% rename from openstack_dashboard/dashboards/project/databases/tabs.py rename to openstack_dashboard/contrib/trove/content/databases/tabs.py index 2de1aa3b7b..f93c1dfe39 100644 --- a/openstack_dashboard/dashboards/project/databases/tabs.py +++ b/openstack_dashboard/contrib/trove/content/databases/tabs.py @@ -18,8 +18,8 @@ from django.utils.translation import ugettext_lazy as _ from horizon import exceptions from horizon import tabs -from openstack_dashboard import api -from openstack_dashboard.dashboards.project.databases import tables +from openstack_dashboard.contrib.trove import api +from openstack_dashboard.contrib.trove.content.databases import tables class OverviewTab(tabs.Tab): diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/_detail_overview.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/_detail_overview.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/_detail_overview.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/_detail_overview.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/_detail_overview_cassandra.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/_detail_overview_cassandra.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/_detail_overview_cassandra.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/_detail_overview_cassandra.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/_detail_overview_couchbase.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/_detail_overview_couchbase.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/_detail_overview_couchbase.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/_detail_overview_couchbase.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/_detail_overview_mongodb.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/_detail_overview_mongodb.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/_detail_overview_mongodb.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/_detail_overview_mongodb.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/_detail_overview_mysql.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/_detail_overview_mysql.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/_detail_overview_mysql.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/_detail_overview_mysql.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/_detail_overview_redis.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/_detail_overview_redis.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/_detail_overview_redis.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/_detail_overview_redis.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/_launch_advanced_help.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/_launch_advanced_help.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/_launch_advanced_help.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/_launch_advanced_help.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/_launch_details_help.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/_launch_details_help.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/_launch_details_help.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/_launch_details_help.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/_launch_initialize_help.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/_launch_initialize_help.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/_launch_initialize_help.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/_launch_initialize_help.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/_launch_network_help.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/_launch_network_help.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/_launch_network_help.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/_launch_network_help.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/_launch_networks.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/_launch_networks.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/_launch_networks.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/_launch_networks.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/_resize_instance.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/_resize_instance.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/_resize_instance.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/_resize_instance.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/_resize_volume.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/_resize_volume.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/_resize_volume.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/_resize_volume.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/detail.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/detail.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/detail.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/detail.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/index.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/index.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/index.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/index.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/launch.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/launch.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/launch.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/launch.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/resize_instance.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/resize_instance.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/resize_instance.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/resize_instance.html diff --git a/openstack_dashboard/dashboards/project/databases/templates/databases/resize_volume.html b/openstack_dashboard/contrib/trove/content/databases/templates/databases/resize_volume.html similarity index 100% rename from openstack_dashboard/dashboards/project/databases/templates/databases/resize_volume.html rename to openstack_dashboard/contrib/trove/content/databases/templates/databases/resize_volume.html diff --git a/openstack_dashboard/dashboards/project/databases/tests.py b/openstack_dashboard/contrib/trove/content/databases/tests.py similarity index 90% rename from openstack_dashboard/dashboards/project/databases/tests.py rename to openstack_dashboard/contrib/trove/content/databases/tests.py index 7abefa8b6b..0816d13abf 100644 --- a/openstack_dashboard/dashboards/project/databases/tests.py +++ b/openstack_dashboard/contrib/trove/content/databases/tests.py @@ -23,7 +23,8 @@ from django.utils import unittest from mox3.mox import IsA # noqa from horizon import exceptions -from openstack_dashboard import api +from openstack_dashboard import api as dash_api +from openstack_dashboard.contrib.trove import api from openstack_dashboard.test import helpers as test from troveclient import common @@ -125,7 +126,7 @@ class DatabaseTests(test.TestCase): api.trove: ('flavor_list', 'backup_list', 'datastore_list', 'datastore_version_list', 'instance_list'), - api.neutron: ('network_list',)}) + dash_api.neutron: ('network_list',)}) def test_launch_instance(self): api.trove.flavor_list(IsA(http.HttpRequest)).AndReturn( self.flavors.list()) @@ -140,14 +141,14 @@ class DatabaseTests(test.TestCase): api.trove.datastore_version_list(IsA(http.HttpRequest), IsA(str)).\ AndReturn(self.datastore_versions.list()) - api.neutron.network_list(IsA(http.HttpRequest), - tenant_id=self.tenant.id, - shared=False).AndReturn( - self.networks.list()[:1]) + dash_api.neutron.network_list(IsA(http.HttpRequest), + tenant_id=self.tenant.id, + shared=False).AndReturn( + self.networks.list()[:1]) - api.neutron.network_list(IsA(http.HttpRequest), - shared=True).AndReturn( - self.networks.list()[1:]) + dash_api.neutron.network_list(IsA(http.HttpRequest), + shared=True).AndReturn( + self.networks.list()[1:]) self.mox.ReplayAll() res = self.client.get(LAUNCH_URL) @@ -188,7 +189,7 @@ class DatabaseTests(test.TestCase): api.trove: ('flavor_list', 'backup_list', 'instance_create', 'datastore_list', 'datastore_version_list', 'instance_list'), - api.neutron: ('network_list',)}) + dash_api.neutron: ('network_list',)}) def test_create_simple_instance(self): api.trove.flavor_list(IsA(http.HttpRequest)).AndReturn( self.flavors.list()) @@ -207,14 +208,14 @@ class DatabaseTests(test.TestCase): api.trove.datastore_version_list(IsA(http.HttpRequest), IsA(str))\ .AndReturn(self.datastore_versions.list()) - api.neutron.network_list(IsA(http.HttpRequest), - tenant_id=self.tenant.id, - shared=False).AndReturn( - self.networks.list()[:1]) + dash_api.neutron.network_list(IsA(http.HttpRequest), + tenant_id=self.tenant.id, + shared=False).AndReturn( + self.networks.list()[:1]) - api.neutron.network_list(IsA(http.HttpRequest), - shared=True).AndReturn( - self.networks.list()[1:]) + dash_api.neutron.network_list(IsA(http.HttpRequest), + shared=True).AndReturn( + self.networks.list()[1:]) nics = [{"net-id": self.networks.first().id, "v4-fixed-ip": ''}] @@ -248,7 +249,7 @@ class DatabaseTests(test.TestCase): api.trove: ('flavor_list', 'backup_list', 'instance_create', 'datastore_list', 'datastore_version_list', 'instance_list'), - api.neutron: ('network_list',)}) + dash_api.neutron: ('network_list',)}) def test_create_simple_instance_exception(self): trove_exception = self.exceptions.nova api.trove.flavor_list(IsA(http.HttpRequest)).AndReturn( @@ -268,14 +269,14 @@ class DatabaseTests(test.TestCase): api.trove.datastore_version_list(IsA(http.HttpRequest), IsA(str))\ .AndReturn(self.datastore_versions.list()) - api.neutron.network_list(IsA(http.HttpRequest), - tenant_id=self.tenant.id, - shared=False).AndReturn( - self.networks.list()[:1]) + dash_api.neutron.network_list(IsA(http.HttpRequest), + tenant_id=self.tenant.id, + shared=False).AndReturn( + self.networks.list()[:1]) - api.neutron.network_list(IsA(http.HttpRequest), - shared=True).AndReturn( - self.networks.list()[1:]) + dash_api.neutron.network_list(IsA(http.HttpRequest), + shared=True).AndReturn( + self.networks.list()[1:]) nics = [{"net-id": self.networks.first().id, "v4-fixed-ip": ''}] @@ -481,7 +482,7 @@ class DatabaseTests(test.TestCase): api.trove: ('flavor_list', 'backup_list', 'instance_create', 'datastore_list', 'datastore_version_list', 'instance_list', 'instance_get'), - api.neutron: ('network_list',)}) + dash_api.neutron: ('network_list',)}) def test_create_replica_instance(self): api.trove.flavor_list(IsA(http.HttpRequest)).AndReturn( self.flavors.list()) @@ -499,13 +500,13 @@ class DatabaseTests(test.TestCase): IsA(str))\ .AndReturn(self.datastore_versions.list()) - api.neutron.network_list(IsA(http.HttpRequest), - tenant_id=self.tenant.id, - shared=False).\ + dash_api.neutron.network_list(IsA(http.HttpRequest), + tenant_id=self.tenant.id, + shared=False).\ AndReturn(self.networks.list()[:1]) - api.neutron.network_list(IsA(http.HttpRequest), - shared=True).\ + dash_api.neutron.network_list(IsA(http.HttpRequest), + shared=True).\ AndReturn(self.networks.list()[1:]) nics = [{"net-id": self.networks.first().id, "v4-fixed-ip": ''}] diff --git a/openstack_dashboard/dashboards/project/databases/urls.py b/openstack_dashboard/contrib/trove/content/databases/urls.py similarity index 94% rename from openstack_dashboard/dashboards/project/databases/urls.py rename to openstack_dashboard/contrib/trove/content/databases/urls.py index 0b62bebf05..ffbb938dbc 100644 --- a/openstack_dashboard/dashboards/project/databases/urls.py +++ b/openstack_dashboard/contrib/trove/content/databases/urls.py @@ -15,7 +15,7 @@ from django.conf.urls import patterns from django.conf.urls import url -from openstack_dashboard.dashboards.project.databases import views +from openstack_dashboard.contrib.trove.content.databases import views INSTANCES = r'^(?P[^/]+)/%s$' diff --git a/openstack_dashboard/dashboards/project/databases/views.py b/openstack_dashboard/contrib/trove/content/databases/views.py similarity index 96% rename from openstack_dashboard/dashboards/project/databases/views.py rename to openstack_dashboard/contrib/trove/content/databases/views.py index 8955c2625d..1b9e4bdf3c 100644 --- a/openstack_dashboard/dashboards/project/databases/views.py +++ b/openstack_dashboard/contrib/trove/content/databases/views.py @@ -29,11 +29,11 @@ from horizon import tabs as horizon_tabs from horizon.utils import memoized from horizon import workflows as horizon_workflows -from openstack_dashboard import api -from openstack_dashboard.dashboards.project.databases import forms -from openstack_dashboard.dashboards.project.databases import tables -from openstack_dashboard.dashboards.project.databases import tabs -from openstack_dashboard.dashboards.project.databases import workflows +from openstack_dashboard.contrib.trove import api +from openstack_dashboard.contrib.trove.content.databases import forms +from openstack_dashboard.contrib.trove.content.databases import tables +from openstack_dashboard.contrib.trove.content.databases import tabs +from openstack_dashboard.contrib.trove.content.databases import workflows from openstack_dashboard.dashboards.project.instances \ import utils as instance_utils diff --git a/openstack_dashboard/dashboards/project/databases/workflows/__init__.py b/openstack_dashboard/contrib/trove/content/databases/workflows/__init__.py similarity index 100% rename from openstack_dashboard/dashboards/project/databases/workflows/__init__.py rename to openstack_dashboard/contrib/trove/content/databases/workflows/__init__.py diff --git a/openstack_dashboard/dashboards/project/databases/workflows/create_instance.py b/openstack_dashboard/contrib/trove/content/databases/workflows/create_instance.py similarity index 98% rename from openstack_dashboard/dashboards/project/databases/workflows/create_instance.py rename to openstack_dashboard/contrib/trove/content/databases/workflows/create_instance.py index 9d4a1cdc3a..aebbc0c302 100644 --- a/openstack_dashboard/dashboards/project/databases/workflows/create_instance.py +++ b/openstack_dashboard/contrib/trove/content/databases/workflows/create_instance.py @@ -22,7 +22,8 @@ from horizon import exceptions from horizon import forms from horizon.utils import memoized from horizon import workflows -from openstack_dashboard import api +from openstack_dashboard import api as dash_api +from openstack_dashboard.contrib.trove import api from openstack_dashboard.dashboards.project.instances \ import utils as instance_utils @@ -151,7 +152,8 @@ class SetNetworkAction(workflows.Action): def populate_network_choices(self, request, context): try: tenant_id = self.request.user.tenant_id - networks = api.neutron.network_list_for_tenant(request, tenant_id) + networks = dash_api.neutron.network_list_for_tenant(request, + tenant_id) network_list = [(network.id, network.name_or_id) for network in networks] except Exception: diff --git a/openstack_dashboard/contrib/trove/test/__init__.py b/openstack_dashboard/contrib/trove/test/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/openstack_dashboard/contrib/trove/test/helpers.py b/openstack_dashboard/contrib/trove/test/helpers.py new file mode 100644 index 0000000000..f635dc3531 --- /dev/null +++ b/openstack_dashboard/contrib/trove/test/helpers.py @@ -0,0 +1,38 @@ +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from troveclient import client as trove_client + +from openstack_dashboard.test import helpers + +from openstack_dashboard.contrib.trove import api + + +class TroveAPITestCase(helpers.APITestCase): + + def setUp(self): + super(TroveAPITestCase, self).setUp() + + self._original_troveclient = api.trove.client + api.trove.client = lambda request: self.stub_troveclient() + + def tearDown(self): + super(TroveAPITestCase, self).tearDown() + + api.trove.client = self._original_troveclient + + def stub_troveclient(self): + if not hasattr(self, "troveclient"): + self.mox.StubOutWithMock(trove_client, 'Client') + self.troveclient = self.mox.CreateMock(trove_client.Client) + return self.troveclient diff --git a/openstack_dashboard/dashboards/project/dashboard.py b/openstack_dashboard/dashboards/project/dashboard.py index e3995e21f1..942bb72caa 100644 --- a/openstack_dashboard/dashboards/project/dashboard.py +++ b/openstack_dashboard/dashboards/project/dashboard.py @@ -21,5 +21,4 @@ class Project(horizon.Dashboard): name = _("Project") slug = "project" - horizon.register(Project) diff --git a/openstack_dashboard/enabled/_1720_project_databases_panel.py b/openstack_dashboard/enabled/_1720_project_databases_panel.py index 1c40a34267..6c1eb66563 100644 --- a/openstack_dashboard/enabled/_1720_project_databases_panel.py +++ b/openstack_dashboard/enabled/_1720_project_databases_panel.py @@ -6,4 +6,5 @@ PANEL_DASHBOARD = 'project' PANEL_GROUP = 'database' # Python panel class of the PANEL to be added. -ADD_PANEL = 'openstack_dashboard.dashboards.project.databases.panel.Databases' +ADD_PANEL = ('openstack_dashboard.contrib.trove.' + 'content.databases.panel.Databases') diff --git a/openstack_dashboard/enabled/_1730_project_database_backups_panel.py b/openstack_dashboard/enabled/_1730_project_database_backups_panel.py index d3d1ae55b0..a64e331a16 100644 --- a/openstack_dashboard/enabled/_1730_project_database_backups_panel.py +++ b/openstack_dashboard/enabled/_1730_project_database_backups_panel.py @@ -6,5 +6,5 @@ PANEL_DASHBOARD = 'project' PANEL_GROUP = 'database' # Python panel class of the PANEL to be added. -ADD_PANEL = ('openstack_dashboard.dashboards.project.' - 'database_backups.panel.Backups') +ADD_PANEL = ('openstack_dashboard.contrib.trove.' + 'content.database_backups.panel.Backups') diff --git a/openstack_dashboard/test/helpers.py b/openstack_dashboard/test/helpers.py index e0ed794c76..6bea0214a1 100644 --- a/openstack_dashboard/test/helpers.py +++ b/openstack_dashboard/test/helpers.py @@ -44,7 +44,6 @@ from novaclient.v2 import client as nova_client from openstack_auth import user from openstack_auth import utils from swiftclient import client as swift_client -from troveclient import client as trove_client from horizon import base from horizon import conf @@ -343,7 +342,6 @@ class APITestCase(TestCase): self._original_cinderclient = api.cinder.cinderclient self._original_heatclient = api.heat.heatclient self._original_ceilometerclient = api.ceilometer.ceilometerclient - self._original_troveclient = api.trove.troveclient # Replace the clients with our stubs. api.glance.glanceclient = lambda request: self.stub_glanceclient() @@ -355,7 +353,6 @@ class APITestCase(TestCase): self.stub_heatclient()) api.ceilometer.ceilometerclient = (lambda request: self.stub_ceilometerclient()) - api.trove.troveclient = lambda request: self.stub_troveclient() def tearDown(self): super(APITestCase, self).tearDown() @@ -366,7 +363,6 @@ class APITestCase(TestCase): api.cinder.cinderclient = self._original_cinderclient api.heat.heatclient = self._original_heatclient api.ceilometer.ceilometerclient = self._original_ceilometerclient - api.trove.troveclient = self._original_troveclient def stub_novaclient(self): if not hasattr(self, "novaclient"): @@ -435,12 +431,6 @@ class APITestCase(TestCase): CreateMock(ceilometer_client.Client) return self.ceilometerclient - def stub_troveclient(self): - if not hasattr(self, "troveclient"): - self.mox.StubOutWithMock(trove_client, 'Client') - self.troveclient = self.mox.CreateMock(trove_client.Client) - return self.troveclient - @unittest.skipUnless(os.environ.get('WITH_SELENIUM', False), "The WITH_SELENIUM env variable is not set.")