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 2011/07/28 14:34:51 UTC
[PATCH] Fix to deltacloud ruby client so that it accepts the 'bucket_location' parameter in the 'create_bucket' method.
From: marios <ma...@redhat.com>
Addresses bug https://bugzilla.redhat.com/show_bug.cgi?id=725646
client.create_bucket('id'=>"imagesbucket", 'bucket_location'=>"us-west-1")
Signed-off-by: marios <ma...@redhat.com>
---
client/bin/deltacloudc | 3 ++-
client/lib/client_bucket_methods.rb | 2 +-
client/lib/plain_formatter.rb | 2 +-
server/lib/deltacloud/drivers/ec2/ec2_driver.rb | 2 +-
4 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/client/bin/deltacloudc b/client/bin/deltacloudc
index c9b86d1..1d622b7 100755
--- a/client/bin/deltacloudc
+++ b/client/bin/deltacloudc
@@ -61,6 +61,7 @@ BANNER
opts.on( '-i', '--id ID', 'ID for operation') { |id| options[:id] = id }
opts.on( '-d', '--image-id ID', 'Image ID') { |id| options[:image_id] = id }
opts.on( '-b', '--bucket-id ID', 'Bucket ID') {|id| options[:bucket_id] = id }
+ opts.on( '-r', '--bucket-location NAME', 'Bucket location') {|name| options[:bucket_location] = name }
opts.on( '-a', '--arch ARCH', 'Architecture (x86, x86_64)') { |id| options[:architecture] = id }
opts.on( '-p', '--hardware-profile HARDWARE_PROFILE', 'Hardware Profile') { |id| options[:hwp_id] = id }
opts.on( '-n', '--name NAME', 'Name (for instance eg.)') { |name| options[:name] = name }
@@ -217,7 +218,7 @@ if options[:collection] and options[:operation]
if options[:collection].eql?('buckets')
if options[:operation].eql?('create')
invalid_usage("Please specify an id for the new bucket with -i") unless options[:id]
- bucket = client.create_bucket('id'=>options[:id])
+ bucket = client.create_bucket('id'=>options[:id], 'bucket_location'=>options[:bucket_location])
puts format(bucket)
elsif options[:operation].eql?('destroy')
invalid_usage("Please specify the bucket you wish to destroy with -i") unless options[:id]
diff --git a/client/lib/client_bucket_methods.rb b/client/lib/client_bucket_methods.rb
index edca0a7..346ed35 100644
--- a/client/lib/client_bucket_methods.rb
+++ b/client/lib/client_bucket_methods.rb
@@ -2,7 +2,7 @@ module ClientBucketMethods
def create_bucket(params)
obj = nil
- request(:post, "#{api_uri.to_s}/buckets", {:name => params['id'] }) do |response|
+ request(:post, "#{api_uri.to_s}/buckets", {:name => params['id'],:location=>params['bucket_location'] }) do |response|
handle_backend_error(response) if response.code!=201
obj = base_object(:bucket, response)
end
diff --git a/client/lib/plain_formatter.rb b/client/lib/plain_formatter.rb
index 9f95e0f..c12ec15 100644
--- a/client/lib/plain_formatter.rb
+++ b/client/lib/plain_formatter.rb
@@ -100,7 +100,7 @@ module DeltaCloud
@obj.id,
@obj.name,
@obj.size ? @obj.size : "0",
- @obj.blob_list ? @obj.blob_list : ""
+ @obj.instance_variables.include?("@blob_list") ? @obj.blob_list : ""
)
end
end
diff --git a/server/lib/deltacloud/drivers/ec2/ec2_driver.rb b/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
index 67a4de4..5fc4f49 100644
--- a/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
+++ b/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
@@ -351,7 +351,7 @@ module Deltacloud
safely do
s3_client = new_client(credentials, :s3)
bucket_location = opts['location']
- if bucket_location
+ if (bucket_location && bucket_location.size >0)
bucket = Aws::S3::Bucket.create(s3_client, name, true, nil, :location => bucket_location)
else
bucket = Aws::S3::Bucket.create(s3_client, name, true)
--
1.7.3.4
Re: [PATCH] Fix to deltacloud ruby client so that it accepts the
'bucket_location' parameter in the 'create_bucket' method.
Posted by "marios@redhat.com" <ma...@redhat.com>.
thanks Michal - if I push this can you take it from there? (new client
gem etc?)?
marios
On 28/07/11 18:03, Michal Fojtik wrote:
> On Jul 28, 2011, at 2:34 PM, marios@redhat.com wrote:
>
> ACK.
>
> -- Michal
>
>
>> From: marios<ma...@redhat.com>
>>
>> Addresses bug https://bugzilla.redhat.com/show_bug.cgi?id=725646
>>
>> client.create_bucket('id'=>"imagesbucket", 'bucket_location'=>"us-west-1")
>>
>> Signed-off-by: marios<ma...@redhat.com>
>> ---
>> client/bin/deltacloudc | 3 ++-
>> client/lib/client_bucket_methods.rb | 2 +-
>> client/lib/plain_formatter.rb | 2 +-
>> server/lib/deltacloud/drivers/ec2/ec2_driver.rb | 2 +-
>> 4 files changed, 5 insertions(+), 4 deletions(-)
>>
>> diff --git a/client/bin/deltacloudc b/client/bin/deltacloudc
>> index c9b86d1..1d622b7 100755
>> --- a/client/bin/deltacloudc
>> +++ b/client/bin/deltacloudc
>> @@ -61,6 +61,7 @@ BANNER
>> opts.on( '-i', '--id ID', 'ID for operation') { |id| options[:id] = id }
>> opts.on( '-d', '--image-id ID', 'Image ID') { |id| options[:image_id] = id }
>> opts.on( '-b', '--bucket-id ID', 'Bucket ID') {|id| options[:bucket_id] = id }
>> + opts.on( '-r', '--bucket-location NAME', 'Bucket location') {|name| options[:bucket_location] = name }
>> opts.on( '-a', '--arch ARCH', 'Architecture (x86, x86_64)') { |id| options[:architecture] = id }
>> opts.on( '-p', '--hardware-profile HARDWARE_PROFILE', 'Hardware Profile') { |id| options[:hwp_id] = id }
>> opts.on( '-n', '--name NAME', 'Name (for instance eg.)') { |name| options[:name] = name }
>> @@ -217,7 +218,7 @@ if options[:collection] and options[:operation]
>> if options[:collection].eql?('buckets')
>> if options[:operation].eql?('create')
>> invalid_usage("Please specify an id for the new bucket with -i") unless options[:id]
>> - bucket = client.create_bucket('id'=>options[:id])
>> + bucket = client.create_bucket('id'=>options[:id], 'bucket_location'=>options[:bucket_location])
>> puts format(bucket)
>> elsif options[:operation].eql?('destroy')
>> invalid_usage("Please specify the bucket you wish to destroy with -i") unless options[:id]
>> diff --git a/client/lib/client_bucket_methods.rb b/client/lib/client_bucket_methods.rb
>> index edca0a7..346ed35 100644
>> --- a/client/lib/client_bucket_methods.rb
>> +++ b/client/lib/client_bucket_methods.rb
>> @@ -2,7 +2,7 @@ module ClientBucketMethods
>>
>> def create_bucket(params)
>> obj = nil
>> - request(:post, "#{api_uri.to_s}/buckets", {:name => params['id'] }) do |response|
>> + request(:post, "#{api_uri.to_s}/buckets", {:name => params['id'],:location=>params['bucket_location'] }) do |response|
>> handle_backend_error(response) if response.code!=201
>> obj = base_object(:bucket, response)
>> end
>> diff --git a/client/lib/plain_formatter.rb b/client/lib/plain_formatter.rb
>> index 9f95e0f..c12ec15 100644
>> --- a/client/lib/plain_formatter.rb
>> +++ b/client/lib/plain_formatter.rb
>> @@ -100,7 +100,7 @@ module DeltaCloud
>> @obj.id,
>> @obj.name,
>> @obj.size ? @obj.size : "0",
>> - @obj.blob_list ? @obj.blob_list : ""
>> + @obj.instance_variables.include?("@blob_list") ? @obj.blob_list : ""
>> )
>> end
>> end
>> diff --git a/server/lib/deltacloud/drivers/ec2/ec2_driver.rb b/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
>> index 67a4de4..5fc4f49 100644
>> --- a/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
>> +++ b/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
>> @@ -351,7 +351,7 @@ module Deltacloud
>> safely do
>> s3_client = new_client(credentials, :s3)
>> bucket_location = opts['location']
>> - if bucket_location
>> + if (bucket_location&& bucket_location.size>0)
>> bucket = Aws::S3::Bucket.create(s3_client, name, true, nil, :location => bucket_location)
>> else
>> bucket = Aws::S3::Bucket.create(s3_client, name, true)
>> --
>> 1.7.3.4
>>
>
Re: [PATCH] Fix to deltacloud ruby client so that it accepts the 'bucket_location' parameter in the 'create_bucket' method.
Posted by Michal Fojtik <mi...@mifo.sk>.
On Jul 28, 2011, at 2:34 PM, marios@redhat.com wrote:
ACK.
-- Michal
> From: marios <ma...@redhat.com>
>
> Addresses bug https://bugzilla.redhat.com/show_bug.cgi?id=725646
>
> client.create_bucket('id'=>"imagesbucket", 'bucket_location'=>"us-west-1")
>
> Signed-off-by: marios <ma...@redhat.com>
> ---
> client/bin/deltacloudc | 3 ++-
> client/lib/client_bucket_methods.rb | 2 +-
> client/lib/plain_formatter.rb | 2 +-
> server/lib/deltacloud/drivers/ec2/ec2_driver.rb | 2 +-
> 4 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/client/bin/deltacloudc b/client/bin/deltacloudc
> index c9b86d1..1d622b7 100755
> --- a/client/bin/deltacloudc
> +++ b/client/bin/deltacloudc
> @@ -61,6 +61,7 @@ BANNER
> opts.on( '-i', '--id ID', 'ID for operation') { |id| options[:id] = id }
> opts.on( '-d', '--image-id ID', 'Image ID') { |id| options[:image_id] = id }
> opts.on( '-b', '--bucket-id ID', 'Bucket ID') {|id| options[:bucket_id] = id }
> + opts.on( '-r', '--bucket-location NAME', 'Bucket location') {|name| options[:bucket_location] = name }
> opts.on( '-a', '--arch ARCH', 'Architecture (x86, x86_64)') { |id| options[:architecture] = id }
> opts.on( '-p', '--hardware-profile HARDWARE_PROFILE', 'Hardware Profile') { |id| options[:hwp_id] = id }
> opts.on( '-n', '--name NAME', 'Name (for instance eg.)') { |name| options[:name] = name }
> @@ -217,7 +218,7 @@ if options[:collection] and options[:operation]
> if options[:collection].eql?('buckets')
> if options[:operation].eql?('create')
> invalid_usage("Please specify an id for the new bucket with -i") unless options[:id]
> - bucket = client.create_bucket('id'=>options[:id])
> + bucket = client.create_bucket('id'=>options[:id], 'bucket_location'=>options[:bucket_location])
> puts format(bucket)
> elsif options[:operation].eql?('destroy')
> invalid_usage("Please specify the bucket you wish to destroy with -i") unless options[:id]
> diff --git a/client/lib/client_bucket_methods.rb b/client/lib/client_bucket_methods.rb
> index edca0a7..346ed35 100644
> --- a/client/lib/client_bucket_methods.rb
> +++ b/client/lib/client_bucket_methods.rb
> @@ -2,7 +2,7 @@ module ClientBucketMethods
>
> def create_bucket(params)
> obj = nil
> - request(:post, "#{api_uri.to_s}/buckets", {:name => params['id'] }) do |response|
> + request(:post, "#{api_uri.to_s}/buckets", {:name => params['id'],:location=>params['bucket_location'] }) do |response|
> handle_backend_error(response) if response.code!=201
> obj = base_object(:bucket, response)
> end
> diff --git a/client/lib/plain_formatter.rb b/client/lib/plain_formatter.rb
> index 9f95e0f..c12ec15 100644
> --- a/client/lib/plain_formatter.rb
> +++ b/client/lib/plain_formatter.rb
> @@ -100,7 +100,7 @@ module DeltaCloud
> @obj.id,
> @obj.name,
> @obj.size ? @obj.size : "0",
> - @obj.blob_list ? @obj.blob_list : ""
> + @obj.instance_variables.include?("@blob_list") ? @obj.blob_list : ""
> )
> end
> end
> diff --git a/server/lib/deltacloud/drivers/ec2/ec2_driver.rb b/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
> index 67a4de4..5fc4f49 100644
> --- a/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
> +++ b/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
> @@ -351,7 +351,7 @@ module Deltacloud
> safely do
> s3_client = new_client(credentials, :s3)
> bucket_location = opts['location']
> - if bucket_location
> + if (bucket_location && bucket_location.size >0)
> bucket = Aws::S3::Bucket.create(s3_client, name, true, nil, :location => bucket_location)
> else
> bucket = Aws::S3::Bucket.create(s3_client, name, true)
> --
> 1.7.3.4
>