---
src/app/models/instance.rb | 7 ++++++-
src/config/locales/en.yml | 1 +
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/app/models/instance.rb b/src/app/models/instance.rb
index fad0d03..0ec11bf 100644
--- a/src/app/models/instance.rb
+++ b/src/app/models/instance.rb
@@ -464,7 +464,12 @@ class Instance < ActiveRecord::Base
end
def reboot(user)
- do_operation(user, 'reboot')
+ if tasks.where("action = :action AND time_submitted > :time_ago",
+ {:action => "reboot", :time_ago => 2.minutes.ago}).present?
+ raise I18n.t("instances.errors.reboot_already_scheduled")
+ else
+ do_operation(user, 'reboot')
+ end
end
def forced_stop(user)
diff --git a/src/config/locales/en.yml b/src/config/locales/en.yml
index a089d31..e301b9c 100644
--- a/src/config/locales/en.yml
+++ b/src/config/locales/en.yml
@@ -530,6 +530,7 @@ en:
provider_account_quota_too_low: "%{match_provider_account} quota limit too low
to launch Deployable"
stop_invalid_action: "Stop is an invalid action."
reboot_invalid_action: "Reboot is an invalid action."
+ reboot_already_scheduled: "reboot is already scheduled."
must_be_enabled: "%{account_name}: Provider must be enabled"
provider_not_available: "%{account_name}: Provider is not available"
cannot_destroy: "Destroy cannot be performed on this instance."
--
1.7.11.4