1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
module Fog
module OpenStack
class Compute
class Real
def detach_volume(server_id, attachment_id)
request(
:expects => 202,
:method => 'DELETE',
:path => "servers/%s/os-volume_attachments/%s" % [server_id, attachment_id]
)
end
end
class Mock
def detach_volume(server_id, attachment_id)
response = Excon::Response.new
if data[:volumes][attachment_id] &&
data[:volumes][attachment_id]['attachments'].reject! { |attachment| attachment['serverId'] == server_id }
data[:volumes][attachment_id]['status'] = 'available'
response.status = 202
response
else
raise Fog::OpenStack::Compute::NotFound
end
end
end
end
end
end
|