You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by ma...@redhat.com on 2013/01/08 18:21:38 UTC
[PATCH 2/4] Deltacloud: adds storage_snapshot create/delete in mock driver
From: marios <ma...@redhat.com>
also fixes for create route display of new snapshot
Signed-off-by: marios <ma...@redhat.com>
---
.../lib/deltacloud/collections/storage_snapshots.rb | 6 +++++-
server/lib/deltacloud/drivers/mock/mock_driver.rb | 20 ++++++++++++++++++++
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/server/lib/deltacloud/collections/storage_snapshots.rb b/server/lib/deltacloud/collections/storage_snapshots.rb
index 5d5ac53..dca253a 100644
--- a/server/lib/deltacloud/collections/storage_snapshots.rb
+++ b/server/lib/deltacloud/collections/storage_snapshots.rb
@@ -31,7 +31,11 @@ module Deltacloud::Collections
@storage_snapshot = driver.create_storage_snapshot(credentials, params)
status 201 # Created
response['Location'] = storage_snapshot_url(@storage_snapshot.id)
- show(:storage_snapshot)
+ respond_to do |format|
+ format.xml { haml :"storage_snapshots/show" }
+ format.html { haml :"storage_snapshots/show" }
+ format.json { xml_to_json "storage_snapshots/show" }
+ end
end
end
diff --git a/server/lib/deltacloud/drivers/mock/mock_driver.rb b/server/lib/deltacloud/drivers/mock/mock_driver.rb
index 38cb042..b12ca57 100644
--- a/server/lib/deltacloud/drivers/mock/mock_driver.rb
+++ b/server/lib/deltacloud/drivers/mock/mock_driver.rb
@@ -314,6 +314,26 @@ module Deltacloud::Drivers::Mock
snapshots
end
+ def create_storage_snapshot(credentials, opts={})
+ check_credentials(credentials)
+ id = "store_snapshot_#{Time.now.to_i}"
+ snapshot = {
+ :id => id,
+ :created => Time.now.to_s,
+ :state => "COMPLETED",
+ :storage_volume_id => opts[:volume_id],
+ }
+ snapshot.merge!({:name=>opts[:name]}) if opts[:name]
+ snapshot.merge!({:description=>opts[:description]}) if opts[:description]
+ @client.store(:storage_snapshots, snapshot)
+ StorageSnapshot.new(snapshot)
+ end
+
+ def destroy_storage_snapshot(credentials, opts={})
+ check_credentials(credentials)
+ @client.destroy(:storage_snapshots, opts[:id])
+ end
+
def keys(credentials, opts={})
check_credentials(credentials)
result = @client.build_all(Key)
--
1.7.11.7
Re: [PATCH 2/4] Deltacloud: adds storage_snapshot create/delete in
mock driver
Posted by "marios@redhat.com" <ma...@redhat.com>.
On 09/01/13 12:38, Michal Fojtik wrote:
> On 01/08, marios@redhat.com wrote:
>
> One minor nit inline.
>
>> From: marios <ma...@redhat.com>
>>
>> also fixes for create route display of new snapshot
>>
>> Signed-off-by: marios <ma...@redhat.com>
>> ---
>> .../lib/deltacloud/collections/storage_snapshots.rb | 6 +++++-
>> server/lib/deltacloud/drivers/mock/mock_driver.rb | 20 ++++++++++++++++++++
>> 2 files changed, 25 insertions(+), 1 deletion(-)
>>
>> diff --git a/server/lib/deltacloud/collections/storage_snapshots.rb b/server/lib/deltacloud/collections/storage_snapshots.rb
>> index 5d5ac53..dca253a 100644
>> --- a/server/lib/deltacloud/collections/storage_snapshots.rb
>> +++ b/server/lib/deltacloud/collections/storage_snapshots.rb
>> @@ -31,7 +31,11 @@ module Deltacloud::Collections
>> @storage_snapshot = driver.create_storage_snapshot(credentials, params)
>> status 201 # Created
>> response['Location'] = storage_snapshot_url(@storage_snapshot.id)
>> - show(:storage_snapshot)
>> + respond_to do |format|
>> + format.xml { haml :"storage_snapshots/show" }
>> + format.html { haml :"storage_snapshots/show" }
>> + format.json { xml_to_json "storage_snapshots/show" }
>
> Is it really necessary to remove 'show(:storage_snapshot)' helper here?
the show helper makes sense when there is 'params[:id]' - like in a GET
operation. This being a create, params[:id] is nil and so the result of
show is unexpected (in this case for mock it just gave me the first
snapshot),
marios
>
>> + end
>> end
>> end
>>
>> diff --git a/server/lib/deltacloud/drivers/mock/mock_driver.rb b/server/lib/deltacloud/drivers/mock/mock_driver.rb
>> index 38cb042..b12ca57 100644
>> --- a/server/lib/deltacloud/drivers/mock/mock_driver.rb
>> +++ b/server/lib/deltacloud/drivers/mock/mock_driver.rb
>> @@ -314,6 +314,26 @@ module Deltacloud::Drivers::Mock
>> snapshots
>> end
>>
>> + def create_storage_snapshot(credentials, opts={})
>> + check_credentials(credentials)
>> + id = "store_snapshot_#{Time.now.to_i}"
>> + snapshot = {
>> + :id => id,
>> + :created => Time.now.to_s,
>> + :state => "COMPLETED",
>> + :storage_volume_id => opts[:volume_id],
>> + }
>> + snapshot.merge!({:name=>opts[:name]}) if opts[:name]
>> + snapshot.merge!({:description=>opts[:description]}) if opts[:description]
>> + @client.store(:storage_snapshots, snapshot)
>> + StorageSnapshot.new(snapshot)
>> + end
>> +
>> + def destroy_storage_snapshot(credentials, opts={})
>> + check_credentials(credentials)
>> + @client.destroy(:storage_snapshots, opts[:id])
>> + end
>> +
>> def keys(credentials, opts={})
>> check_credentials(credentials)
>> result = @client.build_all(Key)
>> --
>> 1.7.11.7
>>
>
Re: [PATCH 2/4] Deltacloud: adds storage_snapshot create/delete in
mock driver
Posted by Michal Fojtik <mf...@redhat.com>.
On 01/08, marios@redhat.com wrote:
One minor nit inline.
> From: marios <ma...@redhat.com>
>
> also fixes for create route display of new snapshot
>
> Signed-off-by: marios <ma...@redhat.com>
> ---
> .../lib/deltacloud/collections/storage_snapshots.rb | 6 +++++-
> server/lib/deltacloud/drivers/mock/mock_driver.rb | 20 ++++++++++++++++++++
> 2 files changed, 25 insertions(+), 1 deletion(-)
>
> diff --git a/server/lib/deltacloud/collections/storage_snapshots.rb b/server/lib/deltacloud/collections/storage_snapshots.rb
> index 5d5ac53..dca253a 100644
> --- a/server/lib/deltacloud/collections/storage_snapshots.rb
> +++ b/server/lib/deltacloud/collections/storage_snapshots.rb
> @@ -31,7 +31,11 @@ module Deltacloud::Collections
> @storage_snapshot = driver.create_storage_snapshot(credentials, params)
> status 201 # Created
> response['Location'] = storage_snapshot_url(@storage_snapshot.id)
> - show(:storage_snapshot)
> + respond_to do |format|
> + format.xml { haml :"storage_snapshots/show" }
> + format.html { haml :"storage_snapshots/show" }
> + format.json { xml_to_json "storage_snapshots/show" }
Is it really necessary to remove 'show(:storage_snapshot)' helper here?
> + end
> end
> end
>
> diff --git a/server/lib/deltacloud/drivers/mock/mock_driver.rb b/server/lib/deltacloud/drivers/mock/mock_driver.rb
> index 38cb042..b12ca57 100644
> --- a/server/lib/deltacloud/drivers/mock/mock_driver.rb
> +++ b/server/lib/deltacloud/drivers/mock/mock_driver.rb
> @@ -314,6 +314,26 @@ module Deltacloud::Drivers::Mock
> snapshots
> end
>
> + def create_storage_snapshot(credentials, opts={})
> + check_credentials(credentials)
> + id = "store_snapshot_#{Time.now.to_i}"
> + snapshot = {
> + :id => id,
> + :created => Time.now.to_s,
> + :state => "COMPLETED",
> + :storage_volume_id => opts[:volume_id],
> + }
> + snapshot.merge!({:name=>opts[:name]}) if opts[:name]
> + snapshot.merge!({:description=>opts[:description]}) if opts[:description]
> + @client.store(:storage_snapshots, snapshot)
> + StorageSnapshot.new(snapshot)
> + end
> +
> + def destroy_storage_snapshot(credentials, opts={})
> + check_credentials(credentials)
> + @client.destroy(:storage_snapshots, opts[:id])
> + end
> +
> def keys(credentials, opts={})
> check_credentials(credentials)
> result = @client.build_all(Key)
> --
> 1.7.11.7
>
--
Michal Fojtik <mf...@redhat.com>
Deltacloud API, CloudForms