diff --git a/src/app/controllers/sync_management_controller.rb b/src/app/controllers/sync_management_controller.rb index 0a2c6e06f59..389f1dd1f8e 100644 --- a/src/app/controllers/sync_management_controller.rb +++ b/src/app/controllers/sync_management_controller.rb @@ -118,7 +118,6 @@ def sync_status def destroy retval = Repository.find(params[:id]).cancel_sync render :text=>"" - end diff --git a/src/app/models/glue/pulp/repo.rb b/src/app/models/glue/pulp/repo.rb index fe1488da289..507ef09c5c2 100644 --- a/src/app/models/glue/pulp/repo.rb +++ b/src/app/models/glue/pulp/repo.rb @@ -499,9 +499,13 @@ def self.array_to_hash(array_of_repos) def _get_most_recent_sync_status() begin - history = [Pulp::Repository.sync_status(pulp_id)] + history = Pulp::Repository.sync_status(pulp_id) + + if history.nil? or history.empty? + history = Pulp::Repository.sync_history(pulp_id) + end rescue - history = Pulp::Repository.sync_history(pulp_id) + history = Pulp::Repository.sync_history(pulp_id) end return [::PulpSyncStatus.new(:state => ::PulpSyncStatus::Status::NOT_SYNCED)] if (history.nil? or history.empty?) history.collect{|item| ::PulpSyncStatus.using_pulp_task(item)} diff --git a/src/lib/resources/pulp.rb b/src/lib/resources/pulp.rb index aeade685e12..bb42c6bdecd 100644 --- a/src/lib/resources/pulp.rb +++ b/src/lib/resources/pulp.rb @@ -283,7 +283,7 @@ def sync_status(repo_id) parsed = JSON.parse(response.body) parsed.reject!{ |task| task['start_time'].nil? } - + return parsed if parsed.empty? parsed.sort!{|a,b| @@ -294,11 +294,11 @@ def sync_status(repo_id) elsif b['finish_time'].nil? 1 else - a['finish_time'] <=> b['finish_time'] + b['finish_time'] <=> a['finish_time'] end - }.reverse! + } - return parsed.first.with_indifferent_access + return [parsed.first.with_indifferent_access] end def destroy repo_id