Return-Path: Delivered-To: apmail-incubator-deltacloud-dev-archive@minotaur.apache.org Received: (qmail 67874 invoked from network); 24 Mar 2011 13:39:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 24 Mar 2011 13:39:48 -0000 Received: (qmail 74819 invoked by uid 500); 24 Mar 2011 13:39:48 -0000 Delivered-To: apmail-incubator-deltacloud-dev-archive@incubator.apache.org Received: (qmail 74786 invoked by uid 500); 24 Mar 2011 13:39:48 -0000 Mailing-List: contact deltacloud-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: deltacloud-dev@incubator.apache.org Delivered-To: mailing list deltacloud-dev@incubator.apache.org Received: (qmail 74778 invoked by uid 99); 24 Mar 2011 13:39:47 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Mar 2011 13:39:47 +0000 X-ASF-Spam-Status: No, hits=-5.0 required=5.0 tests=RCVD_IN_DNSWL_HI,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of mfojtik@redhat.com designates 209.132.183.28 as permitted sender) Received: from [209.132.183.28] (HELO mx1.redhat.com) (209.132.183.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Mar 2011 13:39:42 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p2ODdMFx010521 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 24 Mar 2011 09:39:22 -0400 Received: from dhcp-2-222.brq.redhat.com (dhcp-2-222.brq.redhat.com [10.34.2.222]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p2ODdJxt024483 for ; Thu, 24 Mar 2011 09:39:21 -0400 From: mfojtik@redhat.com To: deltacloud-dev@incubator.apache.org Subject: [PATCH core 2/2] Fixed Rackspace driver error code when you're trying to get non-existing instance Removed extra call to images when you're starting a new instance. Date: Thu, 24 Mar 2011 14:39:15 +0100 Message-Id: <1300973955-16613-3-git-send-email-mfojtik@redhat.com> In-Reply-To: <1300973955-16613-1-git-send-email-mfojtik@redhat.com> References: <1300973955-16613-1-git-send-email-mfojtik@redhat.com> X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12 From: Michal Fojtik --- .../drivers/rackspace/rackspace_driver.rb | 15 +++++++++------ server/server.rb | 8 +++----- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/server/lib/deltacloud/drivers/rackspace/rackspace_driver.rb b/server/lib/deltacloud/drivers/rackspace/rackspace_driver.rb index 4363580..c0c93e4 100644 --- a/server/lib/deltacloud/drivers/rackspace/rackspace_driver.rb +++ b/server/lib/deltacloud/drivers/rackspace/rackspace_driver.rb @@ -154,13 +154,16 @@ class RackspaceDriver < Deltacloud::BaseDriver insts = [] safely do - if opts[:id] - server = rs.get_server(opts[:id].to_i) - insts << convert_instance_after_create(server, credentials.user) - else - insts = rs.list_servers_detail.collect do |server| - convert_instance(server, credentials.user) + begin + if opts[:id] + server = rs.get_server(opts[:id].to_i) + insts << convert_instance_after_create(server, credentials.user) + else + insts = rs.list_servers_detail.collect do |server| + convert_instance(server, credentials.user) + end end + rescue CloudServers::Exception::ItemNotFound end end diff --git a/server/server.rb b/server/server.rb index 3c4273c..05b715c 100644 --- a/server/server.rb +++ b/server/server.rb @@ -363,17 +363,15 @@ END param :realm_id, :string, :optional param :hwp_id, :string, :optional control do - @image = driver.image(credentials, :id => params[:image_id]) - instance = driver.create_instance(credentials, @image.id, params) + @instance = driver.create_instance(credentials, params[:image_id], params) respond_to do |format| format.xml do response.status = 201 # Created - response['Location'] = instance_url(instance.id) - @instance = instance + response['Location'] = instance_url(@instance.id) haml :"instances/show" end format.html do - redirect instance_url(instance.id) if instance and instance.id + redirect instance_url(@instance.id) if @instance and @instance.id redirect instances_url end end -- 1.7.4.1