You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by mf...@apache.org on 2013/01/09 11:33:34 UTC
git commit: RHEV-M: Do not advertise :destroy operation when PAUSED
(DTACLOUD-355)
Updated Branches:
refs/heads/master 29a4ad3f2 -> bb1aee038
RHEV-M: Do not advertise :destroy operation when PAUSED (DTACLOUD-355)
Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/bb1aee03
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/bb1aee03
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/bb1aee03
Branch: refs/heads/master
Commit: bb1aee038c0f3dcd5534ff028ef54f3feb5f4922
Parents: 29a4ad3
Author: Michal Fojtik <mf...@redhat.com>
Authored: Tue Jan 8 13:46:03 2013 +0100
Committer: Michal fojtik <mf...@redhat.com>
Committed: Tue Jan 8 13:46:03 2013 +0100
----------------------------------------------------------------------
.../lib/deltacloud/drivers/rhevm/rhevm_driver.rb | 17 ++++++++++++--
1 files changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/bb1aee03/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb b/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb
index 322f9d3..69cc563 100644
--- a/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb
+++ b/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb
@@ -254,7 +254,18 @@ class RhevmDriver < Deltacloud::BaseDriver
public_addresses << InstanceAddress.new(inst.vnc[:address], :port => inst.vnc[:port], :type => :vnc)
end
+ # Remove 'destroy' operation from list of actions when RHEV-M instance
+ # is suspended or paused.
+ if state == 'PAUSED'
+ actions = instance_actions_for(state = 'STOPPED')
+ actions.delete(:destroy)
+ else
+ actions = instance_actions_for(state)
+ can_create_image = true
+ end
+
Instance.new(
+ :actions=>actions,
:id => inst.id,
:name => inst.name,
:state => state,
@@ -264,10 +275,9 @@ class RhevmDriver < Deltacloud::BaseDriver
:launch_time => inst.creation_time,
:instance_profile => profile,
:hardware_profile_id => profile.id,
- :actions=>instance_actions_for( state ),
:public_addresses => public_addresses,
:private_addresses => [],
- :create_image => true
+ :create_image => can_create_image || false
)
end
@@ -286,9 +296,10 @@ class RhevmDriver < Deltacloud::BaseDriver
return 'PENDING' if ['WAIT_FOR_LAUNCH', 'REBOOT_IN_PROGRESS', 'SAVING_STATE',
'RESTORING_STATE', 'POWERING_UP', 'IMAGE_LOCKED', 'SAVING_STATE'].include? state
return 'STOPPING' if state == 'POWERING_DOWN'
- return 'STOPPED' if ['UNASSIGNED', 'DOWN', 'PAUSED', 'NOT_RESPONDING', 'SUSPENDED',
+ return 'STOPPED' if ['UNASSIGNED', 'DOWN', 'NOT_RESPONDING',
'IMAGE_ILLEGAL', 'UNKNOWN'].include? state
return 'RUNNING' if ['UP', 'MIGRATING_TO', 'MIGRATING_FROM'].include? state
+ return 'PAUSED' if ['PAUSED', 'SUSPENDED'].include? state
raise "Unexpected state '#{state}'"
end