You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by mf...@apache.org on 2012/05/28 15:02:30 UTC

[2/2] git commit: EC2 frontend minor fixed and improvements

EC2 frontend minor fixed and improvements

Signed-off-by: Michal fojtik <mf...@redhat.com>


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/cabbe9ba
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/cabbe9ba
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/cabbe9ba

Branch: refs/heads/master
Commit: cabbe9ba374e34cf0b143a5b07056c4d46b60615
Parents: d88ee48
Author: Michal Fojtik <mf...@redhat.com>
Authored: Mon May 28 10:51:02 2012 +0200
Committer: Michal fojtik <mf...@redhat.com>
Committed: Mon May 28 15:02:36 2012 +0200

----------------------------------------------------------------------
 server/lib/ec2/query_parser.rb                  |    4 +++-
 server/lib/ec2/server.rb                        |   12 +++++++++++-
 server/lib/ec2/views/describe_images.haml       |    2 +-
 server/lib/ec2/views/describe_instance_set.haml |    7 ++++---
 server/lib/ec2/views/error.haml                 |    4 ++++
 5 files changed, 23 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/cabbe9ba/server/lib/ec2/query_parser.rb
----------------------------------------------------------------------
diff --git a/server/lib/ec2/query_parser.rb b/server/lib/ec2/query_parser.rb
index 8d2abc9..8050119 100644
--- a/server/lib/ec2/query_parser.rb
+++ b/server/lib/ec2/query_parser.rb
@@ -100,10 +100,12 @@ module Deltacloud::EC2
 
   class QueryParser
 
+    class InvalidAction < StandardError; end
+
     def self.parse(params, request_id)
       parser = new(request_id, params)
       unless parser.valid_action?
-        raise 'Invalid action (%s)' % parser.action
+        raise InvalidAction.new('Invalid action (%s)' % parser.action)
       else
         ActionHandler.new(parser)
       end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/cabbe9ba/server/lib/ec2/server.rb
----------------------------------------------------------------------
diff --git a/server/lib/ec2/server.rb b/server/lib/ec2/server.rb
index d229c94..9b045e4 100644
--- a/server/lib/ec2/server.rb
+++ b/server/lib/ec2/server.rb
@@ -44,13 +44,23 @@ module Deltacloud::EC2
     set :version, Deltacloud[:version]
     set :root_url, Deltacloud[:root_url]
     set :root, File.join(File.dirname(__FILE__), '..', '..')
+    set :views, File.join(File.dirname(__FILE__), 'views')
+
+    error Deltacloud::EC2::QueryParser::InvalidAction do
+      status 400
+      haml :error, :locals => { :code => 'InvalidAction', :message => 'The requested action is not valid for this web service' }
+    end
 
     after do
       headers 'Server' => 'Apache-Deltacloud-EC2/' + settings.version
     end
 
     get '/' do
-      content_type :xml
+      headers 'Connection' => 'close'
+      unless params['Action']
+        redirect settings.root_url, 301
+        halt
+      end
       ec2_action = QueryParser.parse(params, request_id)
       ec2_action.perform!(credentials, driver)
       ec2_action.to_xml(self)

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/cabbe9ba/server/lib/ec2/views/describe_images.haml
----------------------------------------------------------------------
diff --git a/server/lib/ec2/views/describe_images.haml b/server/lib/ec2/views/describe_images.haml
index a49a5ee..2dd5978 100644
--- a/server/lib/ec2/views/describe_images.haml
+++ b/server/lib/ec2/views/describe_images.haml
@@ -4,7 +4,7 @@
       %imageId=item.id
       %imageState=item.state.downcase
       %imageOwnerId=item.owner_id
-      %architecture item.architecture
+      %architecture=item.architecture
       %imageType machine
       %name=item.name
       %description=item.description

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/cabbe9ba/server/lib/ec2/views/describe_instance_set.haml
----------------------------------------------------------------------
diff --git a/server/lib/ec2/views/describe_instance_set.haml b/server/lib/ec2/views/describe_instance_set.haml
index b8c7c1c..7a6a7b8 100644
--- a/server/lib/ec2/views/describe_instance_set.haml
+++ b/server/lib/ec2/views/describe_instance_set.haml
@@ -4,13 +4,14 @@
       %instanceId=item.id
       %imageId=item.image_id
       %instanceType=item.instance_profile.name
-      %launchTime=item.launch_time
+      %launchTime=item.launch_time || Time.now.to_s
       %ipAddress=item.public_addresses.first.address
       %privateIpAddress=item.public_addresses.first.address
       %dnsName=item.public_addresses.first.address
       %privateDnsName=item.private_addresses.first.address
-      %architecture=item.instance_profile.architecture
-      %keyName=item.keyname
+      %architecture=item.instance_profile.architecture || 'i386'
+      - if item.keyname
+        %keyName=item.keyname
       %instanceState
         %code=instance_state_code(item.state.downcase)
         %name=item.state.downcase

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/cabbe9ba/server/lib/ec2/views/error.haml
----------------------------------------------------------------------
diff --git a/server/lib/ec2/views/error.haml b/server/lib/ec2/views/error.haml
new file mode 100644
index 0000000..9b07c73
--- /dev/null
+++ b/server/lib/ec2/views/error.haml
@@ -0,0 +1,4 @@
+%Response
+  %Errors
+    %Code=code
+    %Message=message