In particular, make sure we always fill in the "actions" part of the hash so that we properly create the action links when fetching an individual instance.
Signed-off-by: Chris Lalancette <[email protected]> --- server/lib/deltacloud/drivers/mock/mock_driver.rb | 24 +++++++------------- 1 files changed, 9 insertions(+), 15 deletions(-) diff --git a/server/lib/deltacloud/drivers/mock/mock_driver.rb b/server/lib/deltacloud/drivers/mock/mock_driver.rb index 94f3c75..1d83beb 100644 --- a/server/lib/deltacloud/drivers/mock/mock_driver.rb +++ b/server/lib/deltacloud/drivers/mock/mock_driver.rb @@ -185,34 +185,28 @@ class MockDriver < Deltacloud::BaseDriver Instance.new( instance ) end - def start_instance(credentials, id) + def update_instance_state(credentials, id, state) instance_file = "#...@storage_root}/instances/#{id}.yml" instance_yml = YAML.load( File.read( instance_file ) ) + instance_yml[:id] = id instance_yml[:state] = 'RUNNING' + instance_yml[:actions] = instance_actions_for( instance_yml[:state] ) File.open( instance_file, 'w' ) do |f| f << YAML.dump( instance_yml ) end Instance.new( instance_yml ) end + def start_instance(credentials, id) + update_instance_state(credentials, id, 'RUNNING') + end + def reboot_instance(credentials, id) - instance_file = "#...@storage_root}/instances/#{id}.yml" - instance_yml = YAML.load( File.read( instance_file ) ) - instance_yml[:state] = 'RUNNING' - File.open( instance_file, 'w' ) do |f| - f << YAML.dump( instance_yml ) - end - Instance.new( instance_yml ) + update_instance_state(credentials, id, 'RUNNING') end def stop_instance(credentials, id) - instance_file = "#...@storage_root}/instances/#{id}.yml" - instance_yml = YAML.load( File.read( instance_file ) ) - instance_yml[:state] = 'STOPPED' - File.open( instance_file, 'w' ) do |f| - f << YAML.dump( instance_yml ) - end - Instance.new( instance_yml ) + update_instance_state(credentials, id, 'STOPPED') end -- 1.7.2.2
