Skip to content

Commit f5cc3ad

Browse files
authored
Merge pull request globocom#274 from globocom/improve_database_details_ux
Improve database details ux
2 parents 3994af9 + 0ed2ea3 commit f5cc3ad

File tree

15 files changed

+869
-260
lines changed

15 files changed

+869
-260
lines changed

dbaas/logical/admin/database.py

Lines changed: 9 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from dbaas import constants
2323
from account.models import Team
2424
from drivers import DatabaseAlreadyExists
25-
from notification.tasks import create_database, upgrade_database, resize_database
25+
from notification.tasks import create_database
2626
from notification.tasks import add_instances_to_database
2727
from notification.models import TaskHistory
2828
from system.models import Configuration
@@ -31,7 +31,8 @@
3131
from logical.models import Database
3232
from logical.views import database_details, database_hosts, \
3333
database_credentials, database_resizes, database_backup, database_dns, \
34-
database_metrics, database_destroy, database_delete_host
34+
database_metrics, database_destroy, database_delete_host, \
35+
database_upgrade, database_upgrade_retry, database_resize_retry
3536
from logical.forms import DatabaseForm
3637
from logical.service.database import DatabaseService
3738

@@ -458,43 +459,6 @@ def generate_random_string(length, stringset=string.ascii_letters + string.digit
458459

459460
return render_to_response("logical/database/dex_analyze.html", locals(), context_instance=RequestContext(request))
460461

461-
def resize_retry(self, request, database_id):
462-
database = Database.objects.get(id=database_id)
463-
464-
can_do_resize, error = database.can_do_resize_retry()
465-
466-
if can_do_resize:
467-
last_resize = database.resizes.last()
468-
469-
if not last_resize.is_status_error:
470-
error = "Cannot do retry, last resize status is '{}'!".format(
471-
last_resize.get_status_display()
472-
)
473-
else:
474-
current_step = last_resize.current_step
475-
476-
if error:
477-
url = reverse('admin:logical_database_change', args=[database.id])
478-
self.message_user(request, error, level=messages.ERROR)
479-
return HttpResponseRedirect(url)
480-
481-
task_history = TaskHistory()
482-
task_history.task_name = "resize_database_retry"
483-
task_history.task_status = task_history.STATUS_WAITING
484-
task_history.arguments = "Retrying resize database {}".format(database)
485-
task_history.user = request.user
486-
task_history.save()
487-
488-
resize_database.delay(
489-
database=database, user=request.user, task=task_history,
490-
cloudstackpack=last_resize.target_offer,
491-
original_cloudstackpack=last_resize.source_offer,
492-
since_step=current_step
493-
)
494-
495-
url = reverse('admin:notification_taskhistory_changelist')
496-
return HttpResponseRedirect(url)
497-
498462
def initialize_flipperfox_migration(self, request, database_id):
499463
from flipperfox_migration.models import DatabaseFlipperFoxMigration
500464

@@ -589,71 +553,6 @@ def mongodb_engine_version_upgrade(self, request, database_id):
589553

590554
return HttpResponseRedirect(url)
591555

592-
def upgrade_retry(self, request, database_id):
593-
database = Database.objects.get(id=database_id)
594-
595-
can_do_upgrade, error = database.can_do_upgrade_retry()
596-
if can_do_upgrade:
597-
source_plan = database.databaseinfra.plan
598-
upgrades = database.upgrades.filter(source_plan=source_plan)
599-
last_upgrade = upgrades.last()
600-
if not last_upgrade:
601-
error = "Database does not have upgrades from {} {}!".format(
602-
source_plan.engine.engine_type, source_plan.engine.version
603-
)
604-
elif not last_upgrade.is_status_error:
605-
error = "Cannot do retry, last upgrade status is '{}'!".format(
606-
last_upgrade.get_status_display()
607-
)
608-
else:
609-
since_step = last_upgrade.current_step
610-
611-
if error:
612-
url = reverse('admin:logical_database_change', args=[database.id])
613-
self.message_user(request, error, level=messages.ERROR)
614-
return HttpResponseRedirect(url)
615-
616-
task_history = TaskHistory()
617-
task_history.task_name = "upgrade_database_retry"
618-
task_history.task_status = task_history.STATUS_WAITING
619-
task_history.arguments = "Retrying upgrade database {}".format(database)
620-
task_history.user = request.user
621-
task_history.save()
622-
623-
upgrade_database.delay(
624-
database=database,
625-
user=request.user,
626-
task=task_history,
627-
since_step=since_step
628-
)
629-
630-
url = reverse('admin:notification_taskhistory_changelist')
631-
return HttpResponseRedirect(url)
632-
633-
def upgrade(self, request, database_id):
634-
database = Database.objects.get(id=database_id)
635-
636-
can_do_upgrade, error = database.can_do_upgrade()
637-
if not can_do_upgrade:
638-
url = reverse('admin:logical_database_change', args=[database.id])
639-
self.message_user(request, error, level=messages.ERROR)
640-
return HttpResponseRedirect(url)
641-
642-
task_history = TaskHistory()
643-
task_history.task_name = "upgrade_database"
644-
task_history.task_status = task_history.STATUS_WAITING
645-
task_history.arguments = "Upgrading database {}".format(database)
646-
task_history.user = request.user
647-
task_history.save()
648-
649-
upgrade_database.delay(
650-
database=database,
651-
user=request.user,
652-
task=task_history
653-
)
654-
655-
url = reverse('admin:notification_taskhistory_changelist')
656-
return HttpResponseRedirect(url)
657556

658557
def add_database_instances(self, request, database_id):
659558
database = Database.objects.get(id=database_id)
@@ -711,8 +610,8 @@ def get_urls(self):
711610
name="mongodb_engine_version_upgrade"),
712611

713612
url(
714-
r'^/?(?P<database_id>\d+)/upgrade/$',
715-
self.admin_site.admin_view(self.upgrade), name="upgrade"
613+
r'^/?(?P<id>\d+)/upgrade/$',
614+
self.admin_site.admin_view(database_upgrade), name="upgrade"
716615
),
717616

718617
url(
@@ -722,13 +621,13 @@ def get_urls(self):
722621
),
723622

724623
url(
725-
r'^/?(?P<database_id>\d+)/upgrade_retry/$',
726-
self.admin_site.admin_view(self.upgrade_retry),
624+
r'^/?(?P<id>\d+)/upgrade_retry/$',
625+
self.admin_site.admin_view(database_upgrade_retry),
727626
name="upgrade_retry"
728627
),
729628
url(
730-
r'^/?(?P<database_id>\d+)/resize_retry/$',
731-
self.admin_site.admin_view(self.resize_retry),
629+
r'^/?(?P<id>\d+)/resize_retry/$',
630+
self.admin_site.admin_view(database_resize_retry),
732631
name="resize_retry"
733632
),
734633
url(

0 commit comments

Comments
 (0)