Return-Path: X-Original-To: apmail-deltacloud-dev-archive@www.apache.org Delivered-To: apmail-deltacloud-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A58E69190 for ; Wed, 23 May 2012 01:11:42 +0000 (UTC) Received: (qmail 84571 invoked by uid 500); 23 May 2012 01:11:42 -0000 Delivered-To: apmail-deltacloud-dev-archive@deltacloud.apache.org Received: (qmail 84546 invoked by uid 500); 23 May 2012 01:11:42 -0000 Mailing-List: contact dev-help@deltacloud.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@deltacloud.apache.org Delivered-To: mailing list dev@deltacloud.apache.org Received: (qmail 84536 invoked by uid 99); 23 May 2012 01:11:42 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 23 May 2012 01:11:42 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [208.87.233.190] (HELO cluster-g.mailcontrol.com) (208.87.233.190) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 23 May 2012 01:11:30 +0000 Received: from mail1.fujitsu.com.au (mail1.fujitsu.com.au [216.14.192.229]) by rly33g.srv.mailcontrol.com (MailControl) with ESMTP id q4N1B2fm032151 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Wed, 23 May 2012 02:11:03 +0100 Received: from localhost (localhost.localdomain [127.0.0.1]) by mail1.fujitsu.com.au (Postfix) with ESMTP id C69EE29D66B for ; Wed, 23 May 2012 11:11:01 +1000 (EST) X-Virus-Scanned: amavisd-new at mail1.fujitsu.com.au Received: from mail1.fujitsu.com.au ([127.0.0.1]) by localhost (mail1.fujitsu.com.au [127.0.0.1]) (amavisd-new, port 10024) with LMTP id hJNtPlDuRgq3 for ; Wed, 23 May 2012 11:11:01 +1000 (EST) Received: from SYD0633.au.fujitsu.com (unknown [137.172.78.131]) by mail1.fujitsu.com.au (Postfix) with ESMTP id 7D0A429D65E for ; Wed, 23 May 2012 11:11:01 +1000 (EST) Received: from mailfilter1.au.fjanz.com (137.172.19.78) by SYD0632.au.fujitsu.com (137.172.78.131) with Microsoft SMTP Server id 8.3.83.0; Wed, 23 May 2012 11:11:01 +1000 Received: from RadwareLoad Balancer (137.172.78.70) [137.172.78.70] by mailfilter1.au.fjanz.com - Websense Email Security (7.0.0); Wed, 23 May 2012 11:11:00 +1000 Received: from FALEX03.au.fjanz.com ([137.172.72.104]) by SYD0630.au.fjanz.com with Microsoft SMTPSVC(6.0.3790.4675); Wed, 23 May 2012 11:11:00 +1000 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-Class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: [PATCH core] Core: Unified the method parameters across all drivers to have consistent drivers API Date: Wed, 23 May 2012 11:12:10 +1000 Message-ID: <434A0ECB689CAF49A3A2321F30F2AB832099035A@FALEX03.au.fjanz.com> In-Reply-To: <1337722729-16452-2-git-send-email-mfojtik@redhat.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH core] Core: Unified the method parameters across all drivers to have consistent drivers API Thread-Index: Ac04Y1B0SlbLPoJ4Qjuwl5GoTyv+zQAHVsCg References: <1337722729-16452-1-git-send-email-mfojtik@redhat.com> <1337722729-16452-2-git-send-email-mfojtik@redhat.com> From: "Koper, Dies" To: X-OriginalArrivalTime: 23 May 2012 01:11:00.0053 (UTC) FILETIME=[EA3E4050:01CD3880] X-SEF-Processed: 7_0_0_00239__2012_05_23_11_11_01 X-Scanned-By: MailControl 7.7.0.1 (www.mailcontrol.com) on 10.71.0.143 Hi Michal, > diff --git a/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb > b/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb > index 4d65e7c..0edfc39 100644 > --- a/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb > +++ b/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb > @@ -822,6 +822,7 @@ end >=20 > ########################################################## > ############ > # Firewalls >=20 > ########################################################## > ############ > + > def firewalls(credentials, opts=3D{}) > firewalls =3D [] > fw_name =3D 'Firewall' # currently always 'Firewall' Why? You haven't touched the method parameters and none of the other comment blocks in this file have an empty newline here (unless I missed a patch). Regards, Dies Koper > -----Original Message----- > From: mfojtik@redhat.com [mailto:mfojtik@redhat.com] > Sent: Wednesday, 23 May 2012 7:39 AM > To: dev@deltacloud.apache.org > Subject: [PATCH core] Core: Unified the method parameters across all > drivers to have consistent drivers API >=20 > From: Michal Fojtik >=20 >=20 > Signed-off-by: Michal fojtik > --- > server/lib/deltacloud/collections/images.rb | 2 +- > server/lib/deltacloud/collections/keys.rb | 2 +- > server/lib/deltacloud/drivers/base_driver.rb | 40 ++++++++++---------- > server/lib/deltacloud/drivers/ec2/ec2_driver.rb | 10 ++--- > server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb | 1 + > .../lib/deltacloud/drivers/gogrid/gogrid_driver.rb | 12 +++--- > server/lib/deltacloud/drivers/mock/mock_driver.rb | 28 ++++++-------- > .../drivers/opennebula/opennebula_driver.rb | 20 +++++----- > .../drivers/rackspace/rackspace_driver.rb | 4 +- > .../drivers/rimuhosting/rimuhosting_driver.rb | 6 +-- > .../drivers/terremark/terremark_driver.rb | 6 +-- > .../deltacloud/drivers/vsphere/vsphere_driver.rb | 6 +-- > server/lib/deltacloud/helpers/deltacloud_helper.rb | 4 +- > server/tests/api/driver_test.rb | 22 +++++++---- > server/tests/drivers/mock/instances_test.rb | 1 + > 15 files changed, 84 insertions(+), 80 deletions(-) >=20 > diff --git a/server/lib/deltacloud/collections/images.rb > b/server/lib/deltacloud/collections/images.rb > index 0edd7c0..85e5918 100644 > --- a/server/lib/deltacloud/collections/images.rb > +++ b/server/lib/deltacloud/collections/images.rb > @@ -58,7 +58,7 @@ module Deltacloud::Collections >=20 > operation :destroy, :with_capability =3D> :destroy_image do > control do > - driver.destroy_image(credentials, params[:id]) > + driver.destroy_image(credentials, id) > respond_to do |format| > format.xml { status 204 } > format.json { status 204 } > diff --git a/server/lib/deltacloud/collections/keys.rb > b/server/lib/deltacloud/collections/keys.rb > index 55d0fa8..3be8e00 100644 > --- a/server/lib/deltacloud/collections/keys.rb > +++ b/server/lib/deltacloud/collections/keys.rb > @@ -45,7 +45,7 @@ module Deltacloud::Collections >=20 > operation :destroy, :with_capability =3D> :destroy_key do > control do > - driver.destroy_key(credentials, { :id =3D> params[:id]}) > + driver.destroy_key(credentials, params[:id]) > status 204 > respond_to do |format| > format.xml > diff --git a/server/lib/deltacloud/drivers/base_driver.rb > b/server/lib/deltacloud/drivers/base_driver.rb > index a360807..beb794b 100644 > --- a/server/lib/deltacloud/drivers/base_driver.rb > +++ b/server/lib/deltacloud/drivers/base_driver.rb > @@ -115,12 +115,12 @@ module Deltacloud > def find_hardware_profile(credentials, name, image_id) > hwp =3D nil > if name > - unless hwp =3D hardware_profiles(credentials, :id =3D> name).first > + unless hwp =3D hardware_profile(credentials, name) > raise BackendError.new(400, "bad-hardware-profile-name", > "Hardware profile '#{name}' does not exist", nil) > end > else > - unless image =3D image(credentials, :id=3D>image_id) > + unless image =3D image(credentials, image_id) > raise BackendError.new(400, "bad-image-id", > "Image with ID '#{image_id}' does not exist", nil) > end > @@ -206,41 +206,41 @@ module Deltacloud > # def create_firewall_rule(credentials, opts) > # def delete_firewall_rule(credentials, opts) > # def providers(credentials) > - def realm(credentials, opts) > - realms =3D realms(credentials, opts).first if has_capability?(:realms) > + def realm(credentials, id) > + realms =3D realms(credentials, :id =3D> id).first if has_capability?(:realms) > end >=20 > - def image(credentials, opts) > - images(credentials, opts).first if has_capability?(:images) > + def image(credentials, id) > + images(credentials, :id =3D> id).first if has_capability?(:images) > end >=20 > - def instance(credentials, opts) > - instances(credentials, opts).first if has_capability?(:instances) > + def instance(credentials, id) > + instances(credentials, :id =3D> id).first if has_capability?(:instances) > end >=20 > - def storage_volume(credentials, opts) > - storage_volumes(credentials, opts).first if > has_capability?(:storage_volumes) > + def storage_volume(credentials, id) > + storage_volumes(credentials, :id =3D> id).first if > has_capability?(:storage_volumes) > end >=20 > - def storage_snapshot(credentials, opts) > - storage_snapshots(credentials, opts).first if > has_capability?(:storage_snapshots) > + def storage_snapshot(credentials, id) > + storage_snapshots(credentials, :id =3D> id).first if > has_capability?(:storage_snapshots) > end >=20 > - def bucket(credentials, opts =3D {}) > + def bucket(credentials, id) > #list of objects within bucket > - buckets(credentials, opts).first if has_capability?(:buckets) > + buckets(credentials, :id =3D> id).first if has_capability?(:buckets) > end >=20 > - def blob(credentials, opts =3D {}) > - blobs(credentials, opts).first if has_capability?(:blobs) > + def blob(credentials, id) > + blobs(credentials, :id =3D> id).first if = has_capability?(:blobs) > end >=20 > - def key(credentials, opts=3Dnil) > - keys(credentials, opts).first if has_capability?(:keys) > + def key(credentials, id) > + keys(credentials, :id =3D> id).first if has_capability?(:keys) > end >=20 > - def firewall(credentials, opts=3D{}) > - firewalls(credentials, opts).first if has_capability?(:firewalls) > + def firewall(credentials, id) > + firewalls(credentials, :id =3D> id).first if has_capability?(:firewalls) > end >=20 > MEMBER_SHOW_METHODS =3D > diff --git a/server/lib/deltacloud/drivers/ec2/ec2_driver.rb > b/server/lib/deltacloud/drivers/ec2/ec2_driver.rb > index b55132e..2fff0f9 100644 > --- a/server/lib/deltacloud/drivers/ec2/ec2_driver.rb > +++ b/server/lib/deltacloud/drivers/ec2/ec2_driver.rb > @@ -183,12 +183,12 @@ module Deltacloud > end > end >=20 > - def instance(credentials, opts=3D{}) > + def instance(credentials, id) > ec2 =3D new_client(credentials) > inst_arr =3D [] > safely do > - ec2_inst =3D ec2.describe_instances([opts[:id]]).first > - raise "Instance #{opts[:id]} NotFound" if ec2_inst.nil? > + ec2_inst =3D ec2.describe_instances([id]).first > + raise "Instance #{id} NotFound" if ec2_inst.nil? > instance =3D convert_instance(ec2_inst) > return nil unless instance > if ec2_inst[:aws_platform] =3D=3D 'windows' > @@ -265,7 +265,7 @@ module Deltacloud > def reboot_instance(credentials, instance_id) > ec2 =3D new_client(credentials) > if ec2.reboot_instances([instance_id]) > - instance(credentials, :id =3D> instance_id) > + instance(credentials, instance_id) > else > raise Deltacloud::BackendError.new(500, "Instance", "Instance > reboot failed", "") > end > @@ -274,7 +274,7 @@ module Deltacloud > def destroy_instance(credentials, instance_id) > ec2 =3D new_client(credentials) > if ec2.terminate_instances([instance_id]) > - instance(credentials, :id =3D> instance_id) > + instance(credentials, instance_id) > else > raise Deltacloud::BackendError.new(500, "Instance", "Instance > cannot be terminated", "") > end > diff --git a/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb > b/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb > index 4d65e7c..0edfc39 100644 > --- a/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb > +++ b/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb > @@ -822,6 +822,7 @@ end >=20 > ########################################################## > ############ > # Firewalls >=20 > ########################################################## > ############ > + > def firewalls(credentials, opts=3D{}) > firewalls =3D [] > fw_name =3D 'Firewall' # currently always 'Firewall' > diff --git a/server/lib/deltacloud/drivers/gogrid/gogrid_driver.rb > b/server/lib/deltacloud/drivers/gogrid/gogrid_driver.rb > index 6469312..c87c65b 100644 > --- a/server/lib/deltacloud/drivers/gogrid/gogrid_driver.rb > +++ b/server/lib/deltacloud/drivers/gogrid/gogrid_driver.rb > @@ -63,7 +63,7 @@ class GogridDriver < Deltacloud::BaseDriver > @hardware_profiles > end >=20 > - def images(credentials, opts=3Dnil) > + def images(credentials, opts=3D{}) > imgs =3D [] > if opts and opts[:id] > safely do > @@ -80,7 +80,7 @@ class GogridDriver < Deltacloud::BaseDriver > imgs.sort_by{|e| [e.owner_id, e.description]} > end >=20 > - def realms(credentials, opts=3Dnil) > + def realms(credentials, opts=3D{}) > realms =3D [] > client =3D new_client(credentials) > safely do > @@ -163,7 +163,7 @@ class GogridDriver < Deltacloud::BaseDriver > instances > end >=20 > - def instances(credentials, opts=3Dnil) > + def instances(credentials, opts=3D{}) > instances =3D [] > if opts and opts[:id] > begin > @@ -298,11 +298,11 @@ class GogridDriver < Deltacloud::BaseDriver > 'Unregistering instances from load balancer is not supported in GoGrid') > end >=20 > - def key(credentials, opts=3Dnil) > - keys(credentials, opts).first > + def key(credentials, id) > + keys(credentials, :id =3D> id).first > end >=20 > - def keys(credentials, opts=3Dnil) > + def keys(credentials, opts=3D{}) > gogrid =3D new_client( credentials ) > creds =3D [] > safely do > diff --git a/server/lib/deltacloud/drivers/mock/mock_driver.rb > b/server/lib/deltacloud/drivers/mock/mock_driver.rb > index ba817c6..6ea8764 100644 > --- a/server/lib/deltacloud/drivers/mock/mock_driver.rb > +++ b/server/lib/deltacloud/drivers/mock/mock_driver.rb > @@ -90,7 +90,7 @@ module Deltacloud::Drivers::Mock > @client =3D Client.new(storage_root) > end >=20 > - def realms(credentials, opts=3Dnil) > + def realms(credentials, opts=3D{}) > check_credentials( credentials ) > results =3D [] > safely do > @@ -110,7 +110,7 @@ module Deltacloud::Drivers::Mock > # > # Images > # > - def images(credentials, opts=3Dnil ) > + def images(credentials, opts=3D{} ) > check_credentials( credentials ) > images =3D [] > images =3D @client.build_all(Image) > @@ -152,14 +152,14 @@ module Deltacloud::Drivers::Mock > # Instances > # >=20 > - def instance(credentials, opts=3D{}) > + def instance(credentials, id) > check_credentials( credentials ) > - if instance =3D @client.load(:instances, opts[:id]) > + if instance =3D @client.load(:instances, id) > Instance.new(instance) > end > end >=20 > - def instances(credentials, opts=3Dnil) > + def instances(credentials, opts=3D{}) > check_credentials( credentials ) > instances =3D @client.build_all(Instance) > instances =3D filter_on( instances, :owner_id, :owner_id =3D> > credentials.user ) > @@ -250,14 +250,14 @@ module Deltacloud::Drivers::Mock > # > # Storage Volumes > # > - def storage_volumes(credentials, opts=3Dnil) > + def storage_volumes(credentials, opts=3D{}) > check_credentials( credentials ) > volumes =3D @client.build_all(StorageVolume) > volumes =3D filter_on( volumes, :id, opts ) > volumes > end >=20 > - def create_storage_volume(credentials, opts=3Dnil) > + def create_storage_volume(credentials, opts=3D{}) > check_credentials(credentials) > opts ||=3D {} > opts[:capacity] ||=3D "1" > @@ -273,18 +273,18 @@ module Deltacloud::Drivers::Mock > StorageVolume.new(volume) > end >=20 > - def destroy_storage_volume(credentials, opts=3Dnil) > + def destroy_storage_volume(credentials, id) > check_credentials(credentials) > - @client.destroy(:storage_volumes, opts[:id]) > + @client.destroy(:storage_volumes, id) > end >=20 > #opts: {:id=3D,:instance_id,:device} > - def attach_storage_volume(credentials, opts) > + def attach_storage_volume(credentials, opts=3D{}) > check_credentials(credentials) > attach_volume_instance(opts[:id], opts[:device], opts[:instance_id]) > end >=20 > - def detach_storage_volume(credentials, opts) > + def detach_storage_volume(credentials, opts=3D{}) > check_credentials(credentials) > detach_volume_instance(opts[:id], opts[:instance_id]) > end > @@ -293,7 +293,7 @@ module Deltacloud::Drivers::Mock > # Storage Snapshots > # >=20 > - def storage_snapshots(credentials, opts=3Dnil) > + def storage_snapshots(credentials, opts=3D{}) > check_credentials( credentials ) > snapshots =3D @client.build_all(StorageSnapshot) > snapshots =3D filter_on(snapshots, :id, opts ) > @@ -307,10 +307,6 @@ module Deltacloud::Drivers::Mock > result > end >=20 > - def key(credentials, opts=3D{}) > - keys(credentials, opts).first > - end > - > def create_key(credentials, opts=3D{}) > check_credentials(credentials) > key_hash =3D { > diff --git a/server/lib/deltacloud/drivers/opennebula/opennebula_driver.rb > b/server/lib/deltacloud/drivers/opennebula/opennebula_driver.rb > index cc1f13e..7acaf0d 100644 > --- a/server/lib/deltacloud/drivers/opennebula/opennebula_driver.rb > +++ b/server/lib/deltacloud/drivers/opennebula/opennebula_driver.rb > @@ -32,7 +32,7 @@ class OpennebulaDriver < Deltacloud::BaseDriver >=20 > ########################################################## > ############ > # Hardware profiles >=20 > ########################################################## > ########### > - def hardware_profiles(credentials, opts=3Dnil) > + def hardware_profiles(credentials, opts=3D{}) > occi_client =3D new_client(credentials) > xml =3D occi_client.get_instance_types > if CloudClient.is_error?(xml) > @@ -70,8 +70,8 @@ class OpennebulaDriver < Deltacloud::BaseDriver > ] ) unless defined?( REALMS ) >=20 >=20 > - def realms(credentials, opts=3Dnil) > - return REALMS if ( opts.nil? ) > + def realms(credentials, opts=3D{}) > + return REALMS if ( opts.keys.empty? ) > results =3D REALMS > results =3D filter_on( results, :id, opts ) > results > @@ -81,7 +81,7 @@ class OpennebulaDriver < Deltacloud::BaseDriver >=20 > ########################################################## > ############ > # Images >=20 > ########################################################## > ############ > - def images(credentials, opts=3Dnil) > + def images(credentials, opts=3D{}) > occi_client =3D new_client(credentials) >=20 > xml =3D treat_response(occi_client.get_images) > @@ -94,9 +94,9 @@ class OpennebulaDriver < Deltacloud::BaseDriver > end > end >=20 > - def image(credentials, opts=3Dnil) > + def image(credentials, id) > occi_client =3D new_client(credentials) > - xml =3D treat_response(occi_client.get_image(opts[:id])) > + xml =3D treat_response(occi_client.get_image(id)) > convert_image(xml, credentials) > end >=20 > @@ -153,7 +153,7 @@ class OpennebulaDriver < Deltacloud::BaseDriver > stopping.to(:finish) .automatically > end >=20 > - def instances(credentials, opts=3Dnil) > + def instances(credentials, opts=3D{}) > occi_client =3D new_client(credentials) >=20 > xml =3D treat_response(occi_client.get_vms) > @@ -168,13 +168,13 @@ class OpennebulaDriver < Deltacloud::BaseDriver > instances =3D filter_on( instances, :state, opts ) > end >=20 > - def instance(credentials, opts=3Dnil) > + def instance(credentials, id) > occi_client =3D new_client(credentials) > - xml =3D treat_response(occi_client.get_vm(opts[:id])) > + xml =3D treat_response(occi_client.get_vm(id)) > convert_instance(xml, credentials) > end >=20 > - def create_instance(credentials, image_id, opts=3Dnil) > + def create_instance(credentials, image_id, opts=3D{}) > occi_client =3D new_client(credentials) >=20 > storage_href =3D "#{occi_client.endpoint}/storage/#{image_id}" > diff --git a/server/lib/deltacloud/drivers/rackspace/rackspace_driver.rb > b/server/lib/deltacloud/drivers/rackspace/rackspace_driver.rb > index ca1c236..4042f3e 100644 > --- a/server/lib/deltacloud/drivers/rackspace/rackspace_driver.rb > +++ b/server/lib/deltacloud/drivers/rackspace/rackspace_driver.rb > @@ -46,7 +46,7 @@ class RackspaceDriver < Deltacloud::BaseDriver > filter_hardware_profiles(results, opts) > end >=20 > - def images(credentials, opts=3Dnil) > + def images(credentials, opts=3D{}) > rs =3D new_client(credentials) > results =3D [] > safely do > @@ -65,7 +65,7 @@ class RackspaceDriver < Deltacloud::BaseDriver > end >=20 > #rackspace does not at this stage have realms... its all US/TX, all the time > (at least at time of writing) > - def realms(credentials, opts=3Dnil) > + def realms(credentials, opts=3D{}) > [Realm.new( { > :id=3D>"us", > :name=3D>"United States", > diff --git a/server/lib/deltacloud/drivers/rimuhosting/rimuhosting_driver.rb > b/server/lib/deltacloud/drivers/rimuhosting/rimuhosting_driver.rb > index 55eec11..bf6d561 100644 > --- a/server/lib/deltacloud/drivers/rimuhosting/rimuhosting_driver.rb > +++ b/server/lib/deltacloud/drivers/rimuhosting/rimuhosting_driver.rb > @@ -26,7 +26,7 @@ class RimuhostingDriver < Deltacloud::BaseDriver >=20 > feature :instances, :user_name >=20 > - def images(credentails, opts=3Dnil) > + def images(credentails, opts=3D{}) > safely do > rh =3D RimuHostingClient.new(credentails) > images =3D rh.list_images.map do | image | > @@ -61,7 +61,7 @@ class RimuhostingDriver < Deltacloud::BaseDriver > filter_hardware_profiles(results, opts) > end >=20 > - def realms(credentials, opts=3Dnil) > + def realms(credentials, opts=3D{}) > [Realm.new( { > :id=3D>"rimu", > :name=3D>"RimuHosting", > @@ -69,7 +69,7 @@ class RimuhostingDriver < Deltacloud::BaseDriver > } )] > end >=20 > - def instances(credentials, opts=3Dnil) > + def instances(credentials, opts=3D{}) > safely do > rh =3D RimuHostingClient.new(credentials) > instances =3D rh.list_nodes.map do | inst | > diff --git a/server/lib/deltacloud/drivers/terremark/terremark_driver.rb > b/server/lib/deltacloud/drivers/terremark/terremark_driver.rb > index 3260c47..ba2fb04 100644 > --- a/server/lib/deltacloud/drivers/terremark/terremark_driver.rb > +++ b/server/lib/deltacloud/drivers/terremark/terremark_driver.rb > @@ -54,7 +54,7 @@ VAPP_STATE_MAP =3D { "0" =3D> "PENDING", "1" =3D> > "PENDING", "2" =3D> "STOPPED", "4" > # IMAGES > #-- > #aka "vapp_templates" > - def images(credentials, opts=3Dnil) > + def images(credentials, opts=3D{}) > image_list =3D [] > terremark_client =3D new_client(credentials) > safely do > @@ -78,7 +78,7 @@ VAPP_STATE_MAP =3D { "0" =3D> "PENDING", "1" =3D> > "PENDING", "2" =3D> "STOPPED", "4" > # REALMS > #-- > #only one realm... everything in US? > - def realms(credentials, opts=3Dnil) > + def realms(credentials, opts=3D{}) > [Realm.new( { > :id=3D>"US-Miami", > :name=3D>"United States - Miami", > @@ -90,7 +90,7 @@ VAPP_STATE_MAP =3D { "0" =3D> "PENDING", "1" =3D> > "PENDING", "2" =3D> "STOPPED", "4" > # INSTANCES > #-- > #aka vApps > - def instances(credentials, opts=3Dnil) > + def instances(credentials, opts=3D{}) > instances =3D [] > terremark_client =3D new_client(credentials) > safely do > diff --git a/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb > b/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb > index 253a2e5..7b1b1e4 100644 > --- a/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb > +++ b/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb > @@ -73,7 +73,7 @@ module Deltacloud::Drivers::Vsphere >=20 > # Images are virtual machines with 'template' flag set to be true. > # Thus we're getting them using find_vm and list_virtual_machines > - def images(credentials, opts=3Dnil) > + def images(credentials, opts=3D{}) > cloud =3D new_client(credentials) > img_arr =3D [] > profiles =3D hardware_profiles(credentials) > @@ -123,7 +123,7 @@ module Deltacloud::Drivers::Vsphere > end >=20 > # List all datacenters managed by the vSphere or vCenter entrypoint. > - def realms(credentials, opts=3Dnil) > + def realms(credentials, opts=3D{}) > vsphere =3D new_client(credentials) > safely do > if opts and opts[:id] > @@ -140,7 +140,7 @@ module Deltacloud::Drivers::Vsphere >=20 > # List all running instances, across all datacenters. DeltaCloud API does > # not yet support filtering instances by realm. > - def instances(credentials, opts=3Dnil) > + def instances(credentials, opts=3D{}) > cloud =3D new_client(credentials) > inst_arr, machine_vms, pending_vms =3D [], [], [] > safely do > diff --git a/server/lib/deltacloud/helpers/deltacloud_helper.rb > b/server/lib/deltacloud/helpers/deltacloud_helper.rb > index 4ad0be9..ef107c7 100644 > --- a/server/lib/deltacloud/helpers/deltacloud_helper.rb > +++ b/server/lib/deltacloud/helpers/deltacloud_helper.rb > @@ -79,7 +79,7 @@ module Deltacloud::Helpers >=20 > def show(model) > @benchmark =3D Benchmark.measure do > - @element =3D driver.send(model, credentials, { :id =3D> params[:id]} ) > + @element =3D driver.send(model, credentials, params[:id]) > end > headers['X-Backend-Runtime'] =3D @benchmark.real.to_s > instance_variable_set("@#{model}", @element) > @@ -105,7 +105,7 @@ module Deltacloud::Helpers > end >=20 > def instance_action(name) > - original_instance =3D driver.instance(credentials, :id =3D> params[:id]) > + original_instance =3D driver.instance(credentials, params[:id]) >=20 > # If original instance doesn't include called action > # return with 405 error (Method is not Allowed) > diff --git a/server/tests/api/driver_test.rb b/server/tests/api/driver_test.rb > index c9facbf..2ec22ef 100644 > --- a/server/tests/api/driver_test.rb > +++ b/server/tests/api/driver_test.rb > @@ -47,19 +47,19 @@ describe 'Deltacloud drivers API' do >=20 > METHODS =3D { > :firewalls =3D> [[:credentials], [:opts, "{ }"]], > - :firewall =3D> [[:credentials], [:opts, "{ }"]], > + :firewall =3D> [[:credentials], [:id,]], > :keys =3D> [[:credentials], [:opts, "{ }"]], > - :key =3D> [[:credentials], [:opts]], > + :key =3D> [[:credentials], [:id]], > :storage_snapshots =3D> [[:credentials], [:opts, "{ }"]], > - :storage_snapshot =3D> [[:credentials], [:opts]], > + :storage_snapshot =3D> [[:credentials], [:id]], > :storage_volumes =3D> [[:credentials], [:opts, "{ }"]], > - :storage_volume =3D> [[:credentials], [:opts]], > + :storage_volume =3D> [[:credentials], [:id]], > :realms =3D> [[:credentials], [:opts, "{ }"]], > - :realm =3D> [[:credentials], [:opts]], > + :realm =3D> [[:credentials], [:id]], > :images =3D> [[:credentials], [:opts, "{ }"]], > - :image =3D> [[:credentials], [:opts]], > + :image =3D> [[:credentials], [:id]], > :instances =3D> [[:credentials], [:opts, "{ }"]], > - :instance =3D> [[:credentials], [:opts]], > + :instance =3D> [[:credentials], [:id]], > :create_instance =3D> [[:credentials], [:image_id], [:opts, "{ }"]], > :destroy_instance =3D> [[:credentials], [:id]], > :stop_instance =3D> [[:credentials], [:id]], > @@ -71,7 +71,13 @@ describe 'Deltacloud drivers API' do > METHODS.each do |m, definition| > it "should have the correct parameters for the :#{m} method in #{key} > driver" do > next unless Deltacloud.new(key).backend.respond_to? m > - Arguments.names(Deltacloud.new(key).backend.class, m).must_equal > definition > + is_optional =3D (definition[1][1] and definition[1][1] =3D=3D = '{ }') > + if is_optional > + Arguments.names(Deltacloud.new(key).backend.class, > m)[1][1].wont_be_nil > + Arguments.names(Deltacloud.new(key).backend.class, > m)[1][1].must_equal '{ }' > + else > + Arguments.names(Deltacloud.new(key).backend.class, > m)[1][1].must_be_nil > + end > end > end > end > diff --git a/server/tests/drivers/mock/instances_test.rb > b/server/tests/drivers/mock/instances_test.rb > index d44fac5..0855190 100644 > --- a/server/tests/drivers/mock/instances_test.rb > +++ b/server/tests/drivers/mock/instances_test.rb > @@ -261,6 +261,7 @@ describe 'Deltacloud API instances' do > :image_id =3D> image_id, > :realm_id =3D> realm_id, > } > + puts last_response.body > last_response.status.must_equal 201 # HTTP_CREATED > last_response.headers['Location'].wont_be_nil # Location header must > be set, pointing to new the instance > instance_id =3D last_response.headers['Location'].split('/').last > -- > 1.7.10.2 >=20