@@ -510,8 +510,15 @@ def get_cloudstack_service_offering_id(self):
510
510
511
511
offering_id = property (get_cloudstack_service_offering_id )
512
512
513
- def is_being_used_elsewhere (self ):
514
- return self .current_task
513
+ def is_being_used_elsewhere (self , skip_task_name = None ):
514
+ if not self .current_task :
515
+ return False
516
+
517
+ if self .current_task .task_name == skip_task_name :
518
+ if self .current_task .is_status_error :
519
+ return False
520
+
521
+ return True
515
522
516
523
def has_flipperfox_migration_started (self ,):
517
524
from flipperfox_migration .models import DatabaseFlipperFoxMigrationDetail
@@ -665,9 +672,9 @@ def can_do_upgrade_retry(self):
665
672
error = "MongoDB 2.4 cannot be upgraded by this task."
666
673
elif self .is_in_quarantine :
667
674
error = "Database in quarantine and cannot be upgraded."
668
- elif self .is_being_used_elsewhere ():
669
- error = "Database cannot be upgraded because" \
670
- " it is in use by another task."
675
+ elif self .is_being_used_elsewhere ('notification.tasks.upgrade_database' ):
676
+ error = "Database cannot be upgraded because " \
677
+ "it is in use by another task."
671
678
elif self .has_flipperfox_migration_started ():
672
679
error = "Database is being migrated and cannot be upgraded."
673
680
elif not self .infra .plan .engine_equivalent_plan :
@@ -696,11 +703,9 @@ def can_do_resize_retry(self):
696
703
error = "Database is being migrated and cannot be resized."
697
704
elif not self .has_cloudstack_offerings :
698
705
error = "There is no offerings for this database."
699
- elif self .is_being_used_elsewhere ():
700
- task_name = self .current_task .task_name
701
- if not task_name == "notification.tasks.resize_database" :
702
- error = "Database cannot be resized because" \
703
- " it is in use by another task."
706
+ elif self .is_being_used_elsewhere ('notification.tasks.resize_database' ):
707
+ error = "Database cannot be resized because" \
708
+ " it is in use by another task."
704
709
if error :
705
710
return False , error
706
711
return True , None
0 commit comments