fix(delivery): add PostgreSQL rollback and CloudDM isolation
This commit is contained in:
@@ -405,6 +405,9 @@ func (s *DeliveryService) ListTargets(ctx context.Context, component string) ([]
|
||||
if !strings.Contains(text, component) {
|
||||
continue
|
||||
}
|
||||
if component == postgresqlServiceType && strings.Contains(text, "rollback") {
|
||||
continue
|
||||
}
|
||||
}
|
||||
target, err := s.awxDeliveryTarget(ctx, template)
|
||||
if err != nil {
|
||||
@@ -2860,7 +2863,10 @@ func (s *DeliveryService) markRollbackFailed(ctx context.Context, taskID, messag
|
||||
|
||||
func (s *DeliveryService) PollRollbackOnce(ctx context.Context) error {
|
||||
var jobs []model.RollbackJob
|
||||
if err := s.db.WithContext(ctx).Where("status IN ?", []string{"launching", "running"}).Find(&jobs).Error; err != nil {
|
||||
if err := s.db.WithContext(ctx).
|
||||
Joins("JOIN delivery_tasks ON delivery_tasks.id = rollback_jobs.task_id").
|
||||
Where("rollback_jobs.status IN ? AND (delivery_tasks.service_type = '' OR delivery_tasks.service_type = ?)", []string{"launching", "running"}, "mysql").
|
||||
Find(&jobs).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
for _, rollback := range jobs {
|
||||
|
||||
Reference in New Issue
Block a user