diff --git a/dbaas/drivers/replication_topologies/mongodb.py b/dbaas/drivers/replication_topologies/mongodb.py index 4e5ff696c..08ebf2e5d 100644 --- a/dbaas/drivers/replication_topologies/mongodb.py +++ b/dbaas/drivers/replication_topologies/mongodb.py @@ -923,8 +923,8 @@ def get_auto_upgrade_database_vm_offering(self): 'workflow.steps.util.infra.OfferingAutoUpgrade', 'workflow.steps.util.host_provider.AllocateIPTemporaryInstance', 'workflow.steps.util.host_provider.CreateVirtualMachineTemporaryInstance', - # 'workflow.steps.util.dns.CreateDNS', - # 'workflow.steps.util.dns.CheckIsReady', + 'workflow.steps.util.dns.CreateDNSTemporaryInstance', + 'workflow.steps.util.dns.CheckIsReadyTemporaryInstance', 'workflow.steps.util.vm.WaitingBeReadyTemporaryInstance', 'workflow.steps.util.vm.UpdateOSDescriptionTemporaryInstance', )}, { @@ -1006,7 +1006,7 @@ def get_auto_upgrade_database_vm_offering(self): 'workflow.steps.util.volume_provider.DetachDataVolumeTemporaryInstance', 'workflow.steps.util.volume_provider.DestroyVolumeTemporaryInstance', - # 'workflow.steps.util.dns.DestroyDNSTemporaryInstance', + 'workflow.steps.util.dns.DestroyDNSTemporaryInstance', 'workflow.steps.util.host_provider.DestroyVirtualMachineTemporaryInstance', 'workflow.steps.util.host_provider.DestroyIPTemporaryInstance', )} diff --git a/dbaas/logical/templates/logical/database/details/parameters_tab.html b/dbaas/logical/templates/logical/database/details/parameters_tab.html index fe56cc3d1..095d93569 100644 --- a/dbaas/logical/templates/logical/database/details/parameters_tab.html +++ b/dbaas/logical/templates/logical/database/details/parameters_tab.html @@ -7,6 +7,7 @@

Custom Parameters

{% if show_auto_configure_btn %} AutoConfigure DB Params + * Atualiza somente o max_connections (MySQL) e não gera downtime! {% endif %} diff --git a/dbaas/maintenance/task_auto_upgrade_vm_offering.py b/dbaas/maintenance/task_auto_upgrade_vm_offering.py index b9e2a6f85..33da4fc7c 100644 --- a/dbaas/maintenance/task_auto_upgrade_vm_offering.py +++ b/dbaas/maintenance/task_auto_upgrade_vm_offering.py @@ -59,6 +59,7 @@ def create_maintenance(database, task, resize_target, retry_from): def task_auto_upgrade_vm_offering(database, task, retry_from=None, resize_target=None): + auto_upgrade_vm = None try: infra = database.infra driver = infra.get_driver() @@ -113,6 +114,9 @@ def task_auto_upgrade_vm_offering(database, task, retry_from=None, resize_target 'Please check error message and do retry' ) except Exception as erro: + if auto_upgrade_vm is not None: + auto_upgrade_vm.set_error() + task.set_status_error('Error: {erro}.\n' 'To create task task_auto_upgrade_vm!\n' 'Please check error message and start new task.'.format(erro=erro)) diff --git a/dbaas/workflow/steps/util/dns.py b/dbaas/workflow/steps/util/dns.py index c3f72fc07..461f98d6b 100644 --- a/dbaas/workflow/steps/util/dns.py +++ b/dbaas/workflow/steps/util/dns.py @@ -307,8 +307,26 @@ def undo(self): ) +class CreateDNSTemporaryInstance(CreateDNS): + + def __unicode__(self): + return "Destroying DNS..." + + @property + def is_valid(self): + return self.instance.temporary + + def do(self): + if not self.is_valid: + return + + return super(CreateDNSTemporaryInstance, self).do() + + class DestroyDNSTemporaryInstance(CreateDNS): + + @property def is_valid(self): return self.instance.temporary @@ -420,6 +438,20 @@ def do(self): for instance in self.instance.hostname.instances.all(): self._check_dns_for(instance.dns, self.host.address) + +class CheckIsReadyTemporaryInstance(CheckIsReady): + + @property + def is_valid(self): + return self.instance.temporary + + def do(self): + if not self.is_valid: + return + + return super(CheckIsReadyTemporaryInstance, self).do() + + ''' class CheckVipIsReady(CheckIsReady):