incubator-deltacloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michal Fojtik <mfoj...@redhat.com>
Subject Re: [PATCH core] Added ASF license header to files
Date Tue, 07 Dec 2010 15:50:58 GMT
On 03/12/10 15:50 +0200, marios@redhat.com wrote:
>ACK (but reminder to fix it so you don't push the new ec2 driver [or 
>old one even])

Thanks Marios,

I rebased everything and removed 'new' driver stuff. Should be pushed
to master now.

   -- Michal

>
>On 23/11/10 17:00, mfojtik@redhat.com wrote:
>>From: Michal Fojtik<mfojtik@redhat.com>
>>
>>---
>>  server/config.ru                                   |   20 +-
>>  server/deltacloud.rb                               |   21 +-
>>  server/lib/deltacloud/backend_capability.rb        |   18 +
>>  server/lib/deltacloud/base_driver.rb               |    2 +-
>>  server/lib/deltacloud/drivers/ec2/ec2_driver.rb    |    3 +-
>>  .../lib/deltacloud/drivers/ec2/ec2_mock_driver.rb  |   18 +
>>  .../lib/deltacloud/drivers/ec2/old_ec2_driver.rb   |  546 ++++++++++++++++++++
>>  .../lib/deltacloud/drivers/gogrid/gogrid_client.rb |    1 -
>>  .../lib/deltacloud/drivers/gogrid/gogrid_driver.rb |    2 +-
>>  server/lib/deltacloud/drivers/gogrid/test.rb       |   13 -
>>  server/lib/deltacloud/drivers/mock/mock_driver.rb  |    2 +-
>>  .../drivers/rackspace/rackspace_client.rb          |    2 +-
>>  server/lib/deltacloud/hardware_profile.rb          |   17 +
>>  server/lib/deltacloud/helpers.rb                   |   18 +
>>  .../lib/deltacloud/helpers/application_helper.rb   |    4 +-
>>  server/lib/deltacloud/helpers/conversion_helper.rb |    3 +-
>>  .../deltacloud/helpers/hardware_profiles_helper.rb |   17 +
>>  server/lib/deltacloud/method_serializer.rb         |    2 +-
>>  server/lib/deltacloud/models/base_model.rb         |    2 +-
>>  server/lib/deltacloud/models/blob.rb               |    4 +-
>>  server/lib/deltacloud/models/bucket.rb             |    3 +-
>>  server/lib/deltacloud/models/image.rb              |    5 +-
>>  server/lib/deltacloud/models/instance.rb           |    3 +-
>>  server/lib/deltacloud/models/instance_profile.rb   |    3 +-
>>  server/lib/deltacloud/models/key.rb                |    2 +-
>>  server/lib/deltacloud/models/load_balancer.rb      |    2 +-
>>  server/lib/deltacloud/models/realm.rb              |    2 +-
>>  server/lib/deltacloud/models/storage_snapshot.rb   |    2 +-
>>  server/lib/deltacloud/models/storage_volume.rb     |    2 +-
>>  server/lib/deltacloud/state_machine.rb             |   17 +
>>  server/lib/deltacloud/validation.rb                |   18 +
>>  server/lib/drivers.rb                              |   18 +
>>  server/libexec/app/views/api/show.html.erb         |    7 -
>>  .../libexec/app/views/layouts/application.html.erb |   32 --
>>  server/libexec/app/views/layouts/old.html.erb      |   32 --
>>  server/libexec/public/stylesheets/application.css  |   96 ----
>>  .../public/stylesheets/sass/application.sass       |  109 ----
>>  server/public/stylesheets/application.sass         |  109 ++++
>>  server/server.rb                                   |   25 +-
>>  39 files changed, 881 insertions(+), 321 deletions(-)
>>  create mode 100644 server/lib/deltacloud/drivers/ec2/old_ec2_driver.rb
>>  delete mode 100644 server/lib/deltacloud/drivers/gogrid/test.rb
>>  delete mode 100644 server/libexec/app/views/api/show.html.erb
>>  delete mode 100644 server/libexec/app/views/layouts/application.html.erb
>>  delete mode 100644 server/libexec/app/views/layouts/old.html.erb
>>  delete mode 100644 server/libexec/public/stylesheets/application.css
>>  delete mode 100644 server/libexec/public/stylesheets/sass/application.sass
>>  create mode 100644 server/public/stylesheets/application.sass
>>
>>diff --git a/server/config.ru b/server/config.ru
>>index cb38ca8..74f659b 100644
>>--- a/server/config.ru
>>+++ b/server/config.ru
>>@@ -1,7 +1,25 @@
>>+#
>>+# Copyright (C) 2009,2010  Red Hat, Inc.
>>+#
>>+# Licensed to the Apache Software Foundation (ASF) under one or more
>>+# contributor license agreements.  See the NOTICE file distributed with
>>+# this work for additional information regarding copyright ownership.  The
>>+# ASF licenses this file to you under the Apache License, Version 2.0 (the
>>+# "License"); you may not use this file except in compliance with the
>>+# License.  You may obtain a copy of the License at
>>+#
>>+#       http://www.apache.org/licenses/LICENSE-2.0
>>+#
>>+# Unless required by applicable law or agreed to in writing, software
>>+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
>>+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
>>+# License for the specific language governing permissions and limitations
>>+# under the License.
>>+
>>  require 'rubygems'
>>-require 'sinatra'
>>
>>  $:.unshift File.join(File.dirname(__FILE__), '.')
>>
>>  require 'server.rb'
>>+
>>  run Sinatra::Application
>>diff --git a/server/deltacloud.rb b/server/deltacloud.rb
>>index 02d6c2e..516963e 100644
>>--- a/server/deltacloud.rb
>>+++ b/server/deltacloud.rb
>>@@ -1,6 +1,25 @@
>>-# Add ./lib into load path
>>+#
>>+# Copyright (C) 2009,2010  Red Hat, Inc.
>>+#
>>+# Licensed to the Apache Software Foundation (ASF) under one or more
>>+# contributor license agreements.  See the NOTICE file distributed with
>>+# this work for additional information regarding copyright ownership.  The
>>+# ASF licenses this file to you under the Apache License, Version 2.0 (the
>>+# "License"); you may not use this file except in compliance with the
>>+# License.  You may obtain a copy of the License at
>>+#
>>+#       http://www.apache.org/licenses/LICENSE-2.0
>>+#
>>+# Unless required by applicable law or agreed to in writing, software
>>+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
>>+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
>>+# License for the specific language governing permissions and limitations
>>+# under the License.
>>+
>>  $:.unshift File.join(File.dirname(__FILE__), 'lib')
>>
>>+require 'drivers'
>>+
>>  require 'deltacloud/base_driver'
>>  require 'deltacloud/hardware_profile'
>>  require 'deltacloud/state_machine'
>>diff --git a/server/lib/deltacloud/backend_capability.rb b/server/lib/deltacloud/backend_capability.rb
>>index bec8714..ba37e1e 100644
>>--- a/server/lib/deltacloud/backend_capability.rb
>>+++ b/server/lib/deltacloud/backend_capability.rb
>>@@ -1,3 +1,21 @@
>>+#
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>+#
>>+# Licensed to the Apache Software Foundation (ASF) under one or more
>>+# contributor license agreements.  See the NOTICE file distributed with
>>+# this work for additional information regarding copyright ownership.  The
>>+# ASF licenses this file to you under the Apache License, Version 2.0 (the
>>+# "License"); you may not use this file except in compliance with the
>>+# License.  You may obtain a copy of the License at
>>+#
>>+#       http://www.apache.org/licenses/LICENSE-2.0
>>+#
>>+# Unless required by applicable law or agreed to in writing, software
>>+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
>>+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
>>+# License for the specific language governing permissions and limitations
>>+# under the License.
>>+
>>  module Deltacloud::BackendCapability
>>
>>    class Failure<  StandardError
>>diff --git a/server/lib/deltacloud/base_driver.rb b/server/lib/deltacloud/base_driver.rb
>>index b540562..fcec3a7 100644
>>--- a/server/lib/deltacloud/base_driver.rb
>>+++ b/server/lib/deltacloud/base_driver.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009,2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>diff --git a/server/lib/deltacloud/drivers/ec2/ec2_driver.rb b/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
>>index 45f2e01..51e34ce 100644
>>--- a/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
>>+++ b/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>@@ -16,7 +16,6 @@
>>  # License for the specific language governing permissions and limitations
>>  # under the License.
>>
>>-
>>  require 'deltacloud/base_driver'
>>  require 'active_support'
>>  require 'AWS'
>>diff --git a/server/lib/deltacloud/drivers/ec2/ec2_mock_driver.rb b/server/lib/deltacloud/drivers/ec2/ec2_mock_driver.rb
>>index 1c63ff6..6a9c051 100644
>>--- a/server/lib/deltacloud/drivers/ec2/ec2_mock_driver.rb
>>+++ b/server/lib/deltacloud/drivers/ec2/ec2_mock_driver.rb
>>@@ -1,3 +1,21 @@
>>+#
>>+# Copyright (C) 2009,2010  Red Hat, Inc.
>>+#
>>+# Licensed to the Apache Software Foundation (ASF) under one or more
>>+# contributor license agreements.  See the NOTICE file distributed with
>>+# this work for additional information regarding copyright ownership.  The
>>+# ASF licenses this file to you under the Apache License, Version 2.0 (the
>>+# "License"); you may not use this file except in compliance with the
>>+# License.  You may obtain a copy of the License at
>>+#
>>+#       http://www.apache.org/licenses/LICENSE-2.0
>>+#
>>+# Unless required by applicable law or agreed to in writing, software
>>+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
>>+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
>>+# License for the specific language governing permissions and limitations
>>+# under the License.
>>+
>>  module RightAws
>>    class MockEc2
>>
>>diff --git a/server/lib/deltacloud/drivers/ec2/old_ec2_driver.rb b/server/lib/deltacloud/drivers/ec2/old_ec2_driver.rb
>>new file mode 100644
>>index 0000000..9b37069
>>--- /dev/null
>>+++ b/server/lib/deltacloud/drivers/ec2/old_ec2_driver.rb
>>@@ -0,0 +1,546 @@
>>+#
>>+# Copyright (C) 2009  Red Hat, Inc.
>>+#
>>+# Licensed to the Apache Software Foundation (ASF) under one or more
>>+# contributor license agreements.  See the NOTICE file distributed with
>>+# this work for additional information regarding copyright ownership.  The
>>+# ASF licenses this file to you under the Apache License, Version 2.0 (the
>>+# "License"); you may not use this file except in compliance with the
>>+# License.  You may obtain a copy of the License at
>>+#
>>+#       http://www.apache.org/licenses/LICENSE-2.0
>>+#
>>+# Unless required by applicable law or agreed to in writing, software
>>+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
>>+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
>>+# License for the specific language governing permissions and limitations
>>+# under the License.
>>+
>>+
>>+require 'deltacloud/base_driver'
>>+require 'active_support'
>>+require 'AWS'
>>+require 'right_aws'
>>+
>>+class Instance
>>+  attr_accessor :keyname
>>+  attr_accessor :authn_error
>>+
>>+  def authn_feature_failed?
>>+    return true unless authn_error.nil?
>>+  end
>>+
>>+end
>>+
>>+module Deltacloud
>>+  module Drivers
>>+    module EC2
>>+class EC2Driver<  Deltacloud::BaseDriver
>>+
>>+  def supported_collections
>>+    DEFAULT_COLLECTIONS + [ :keys, :buckets ]
>>+  end
>>+
>>+  feature :instances, :user_data
>>+  feature :instances, :authentication_key
>>+  feature :images, :owner_id
>>+  feature :buckets, :bucket_location
>>+
>>+  define_hardware_profile('m1.small') do
>>+    cpu                1
>>+    memory             1.7 * 1024
>>+    storage            160
>>+    architecture       'i386'
>>+  end
>>+
>>+  define_hardware_profile('m1.large') do
>>+    cpu                4
>>+    memory             7.5 * 1024
>>+    storage            850
>>+    architecture       'x86_64'
>>+  end
>>+
>>+  define_hardware_profile('m1.xlarge') do
>>+    cpu                8
>>+    memory             15 * 1024
>>+    storage            1690
>>+    architecture       'x86_64'
>>+  end
>>+
>>+  define_hardware_profile('c1.medium') do
>>+    cpu                5
>>+    memory             1.7 * 1024
>>+    storage            350
>>+    architecture       'i386'
>>+  end
>>+
>>+  define_hardware_profile('c1.xlarge') do
>>+    cpu                20
>>+    memory             7 * 1024
>>+    storage            1690
>>+    architecture       'x86_64'
>>+  end
>>+
>>+  define_hardware_profile('m2.xlarge') do
>>+    cpu                6.5
>>+    memory             17.1 * 1024
>>+    storage            420
>>+    architecture       'x86_64'
>>+  end
>>+
>>+  define_hardware_profile('m2.2xlarge') do
>>+    cpu                13
>>+    memory             34.2 * 1024
>>+    storage            850
>>+    architecture       'x86_64'
>>+  end
>>+
>>+  define_hardware_profile('m2.4xlarge') do
>>+    cpu                26
>>+    memory             68.4 * 1024
>>+    storage            1690
>>+    architecture       'x86_64'
>>+  end
>>+
>>+  define_instance_states do
>>+    start.to( :pending )          .automatically
>>+    pending.to( :running )        .automatically
>>+    pending.to( :stopping )       .on( :stop )
>>+    pending.to( :stopped )        .automatically
>>+    stopped.to( :running )        .on( :start )
>>+    running.to( :running )        .on( :reboot )
>>+    running.to( :stopping )       .on( :stop )
>>+    shutting_down.to( :stopped )  .automatically
>>+    stopped.to( :finish )         .automatically
>>+  end
>>+
>>+  #
>>+  # Images
>>+  #
>>+
>>+  def images(credentials, opts={} )
>>+    ec2 = new_client(credentials)
>>+    img_arr = []
>>+    # if we know the image_id, we don't want to limit by owner_id, since this
>>+    # will exclude public images
>>+    if (opts and opts[:id])
>>+      config = { :image_id =>  opts[:id] }
>>+    else
>>+      config = { :owner_id =>  "amazon" }
>>+      config.merge!({ :owner_id =>  opts[:owner_id] }) if opts and opts[:owner_id]
>>+    end
>>+    safely do
>>+      image_set = ec2.describe_images(config).imagesSet
>>+      unless image_set.nil?
>>+        image_set.item.each do |image|
>>+          img_arr<<  convert_image(image)
>>+        end
>>+      end
>>+    end
>>+    img_arr = filter_on( img_arr, :architecture, opts )
>>+    img_arr.sort_by{|e| [e.owner_id, e.name]}
>>+  end
>>+
>>+  #
>>+  # Realms
>>+  #
>>+
>>+  def realms(credentials, opts=nil)
>>+    ec2 = new_client(credentials)
>>+    realms = []
>>+    safely do
>>+      ec2.describe_availability_zones.availabilityZoneInfo.item.each do |ec2_realm|
>>+        realms<<  convert_realm( ec2_realm )
>>+      end
>>+    end
>>+    realms
>>+  end
>>+
>>+  #
>>+  # Instances
>>+  #
>>+  def instances(credentials, opts=nil)
>>+    ec2 = new_client(credentials)
>>+    instances = []
>>+    safely do
>>+      param = opts.nil? ? nil : opts[:id]
>>+      ec2_instances = ec2.describe_instances.reservationSet
>>+      return [] unless ec2_instances
>>+      ec2_instances.item.each do |item|
>>+        item.instancesSet.item.each do |ec2_instance|
>>+          instances<<  convert_instance( ec2_instance, item.ownerId )
>>+        end
>>+      end
>>+    end
>>+    instances = filter_on( instances, :id, opts )
>>+    instances = filter_on( instances, :state, opts )
>>+    instances
>>+  end
>>+
>>+
>>+  def create_instance(credentials, image_id, opts)
>>+    ec2 = new_client( credentials )
>>+    realm_id = opts[:realm_id]
>>+    safely do
>>+      image = image(credentials, :id =>  image_id )
>>+      hwp = find_hardware_profile(credentials, opts[:hwp_id], image.id)
>>+      ec2_instances = ec2.run_instances(
>>+        :image_id =>  image.id,
>>+        :user_data =>  opts[:user_data],
>>+        :key_name =>  opts[:keyname],
>>+        :availability_zone =>  realm_id,
>>+        :monitoring_enabled =>  true,
>>+        :instance_type =>  hwp.name,
>>+        :disable_api_termination =>  false,
>>+        :instance_initiated_shutdown_behavior =>  'terminate'
>>+      )
>>+      return convert_instance( ec2_instances.instancesSet.item.first, 'pending' )
>>+    end
>>+  end
>>+
>>+  def generate_instance(ec2, id, backup)
>>+    begin
>>+      this_instance = ec2.describe_instances( :instance_id =>  id ).reservationSet.item.first.instancesSet.item.first
>>+      convert_instance(this_instance, this_instance.ownerId)
>>+    rescue Exception =>  e
>>+      puts "WARNING: ignored error during instance refresh: #{e.message}"
>>+      # at this point, the action has succeeded but our follow-up
>>+      # "describe_instances" failed for some reason.  Create a simple Instance
>>+      # object with only the ID and new state in place
>>+      state = convert_state(backup.instancesSet.item.first.currentState.name)
>>+      Instance.new( {
>>+        :id =>  id,
>>+        :state =>  state,
>>+        :actions =>  instance_actions_for( state ),
>>+      } )
>>+    end
>>+  end
>>+
>>+  def reboot_instance(credentials, id)
>>+    ec2 = new_client(credentials)
>>+    backup = ec2.reboot_instances( :instance_id =>  id )
>>+
>>+    generate_instance(ec2, id, backup)
>>+  end
>>+
>>+  def stop_instance(credentials, id)
>>+    ec2 = new_client(credentials)
>>+    backup = ec2.terminate_instances( :instance_id =>  id )
>>+
>>+    generate_instance(ec2, id, backup)
>>+  end
>>+
>>+  def destroy_instance(credentials, id)
>>+    ec2 = new_client(credentials)
>>+    backup = ec2.terminate_instances( :instance_id =>  id )
>>+
>>+    generate_instance(ec2, id, backup)
>>+  end
>>+
>>+  #
>>+  # Storage Volumes
>>+  #
>>+
>>+  def storage_volumes(credentials, opts=nil)
>>+    ec2 = new_client( credentials )
>>+    volumes = []
>>+    safely do
>>+      if (opts)
>>+        ec2.describe_volumes(:volume_id =>  opts[:id]).volumeSet.item.each do |ec2_volume|
>>+          volumes<<  convert_volume( ec2_volume )
>>+        end
>>+      else
>>+        ec2_volumes = ec2.describe_volumes.volumeSet
>>+        return [] unless ec2_volumes
>>+        ec2_volumes.item.each do |ec2_volume|
>>+          volumes<<  convert_volume( ec2_volume )
>>+        end
>>+      end
>>+    end
>>+    volumes
>>+  end
>>+
>>+  #
>>+  # Storage Snapshots
>>+  #
>>+
>>+  def storage_snapshots(credentials, opts=nil)
>>+    ec2 = new_client( credentials )
>>+    snapshots = []
>>+    safely do
>>+      if (opts)
>>+        ec2.describe_snapshots(:owner =>  'self', :snapshot_id =>  opts[:id]).snapshotSet.item.each do |ec2_snapshot|
>>+          snapshots<<  convert_snapshot( ec2_snapshot )
>>+        end
>>+      else
>>+        ec2_snapshots = ec2.describe_snapshots(:owner =>  'self').snapshotSet
>>+        return [] unless ec2_snapshots
>>+        ec2_snapshots.item.each do |ec2_snapshot|
>>+          snapshots<<  convert_snapshot( ec2_snapshot )
>>+        end
>>+      end
>>+    end
>>+    snapshots
>>+  end
>>+
>>+  def key(credentials, opts=nil)
>>+    keys(credentials, opts).first
>>+  end
>>+
>>+  def keys(credentials, opts=nil)
>>+    ec2 = new_client( credentials )
>>+    opts[:key_name] = opts[:id] if opts and opts[:id]
>>+    keypairs = ec2.describe_keypairs(opts || {})
>>+    result = []
>>+    safely do
>>+      keypairs.keySet.item.each do |keypair|
>>+        result<<  convert_key(keypair)
>>+      end
>>+    end
>>+    result
>>+  end
>>+
>>+  def create_key(credentials, opts={})
>>+    key = Key.new
>>+    ec2 = new_client( credentials )
>>+    safely do
>>+      key = convert_key(ec2.create_keypair(opts))
>>+    end
>>+    return key
>>+  end
>>+
>>+  def destroy_key(credentials, opts={})
>>+    safely do
>>+      ec2 = new_client( credentials )
>>+      ec2.delete_keypair(opts)
>>+    end
>>+  end
>>+
>>+  def valid_credentials?(credentials)
>>+    client = new_client(credentials)
>>+    # FIXME: We need to do this call to determine if
>>+    #        EC2 is working with given credentials. There is no
>>+    #        other way to check, if given credentials are valid or not.
>>+    realms = client.describe_availability_zones rescue false
>>+    return realms ? true : false
>>+  end
>>+
>>+#--
>>+# Buckets
>>+#-- get a list of your buckets from the s3 service
>>+  def buckets(credentials, opts)
>>+    buckets = []
>>+    safely do
>>+      s3_client = s3_client(credentials)
>>+      bucket_list = s3_client.buckets
>>+      bucket_list.each do |current|
>>+        buckets<<  convert_bucket(current)
>>+      end
>>+    end
>>+    buckets = filter_on(buckets, :id, opts)
>>+    buckets
>>+  end
>>+
>>+#--
>>+# Create bucket
>>+#--
>>+#valid values for bucket location: 'EU'|'us-west1'|'ap-southeast-1' - if you
>>+#don't specify a location then by default buckets are created in 'us-east'
>>+#[but if you *do* specify 'us-east' things blow up]
>>+  def create_bucket(credentials, name, opts={})
>>+    bucket = nil
>>+    safely do
>>+      begin
>>+        s3_client = s3_client(credentials)
>>+        bucket_location = opts['location']
>>+        if bucket_location
>>+          bucket = RightAws::S3::Bucket.create(s3_client, name, true, nil, :location =>  bucket_location)
>>+        else
>>+          bucket = RightAws::S3::Bucket.create(s3_client, name, true)
>>+        end #if
>>+        rescue RightAws::AwsError =>  e
>>+          raise e unless e.message =~ /BucketAlreadyExists/
>>+          raise Deltacloud::BackendError.new(409, e.class.to_s, e.message, e.backtrace)
>>+      end #begin
>>+    end #do
>>+    convert_bucket(bucket)
>>+  end
>>+
>>+#--
>>+# Delete_bucket
>>+#--
>>+  def delete_bucket(credentials, name, opts={})
>>+    s3_client = s3_client(credentials)
>>+    safely do
>>+      s3_client.interface.delete_bucket(name)
>>+    end
>>+  end
>>+
>>+#--
>>+# Blobs
>>+#--
>>+  def blobs(credentials, opts = nil)
>>+    s3_client = s3_client(credentials)
>>+    blobs = []
>>+    safely do
>>+      s3_bucket = s3_client.bucket(opts['bucket'])
>>+      s3_bucket.keys({}, true).each do |s3_object|
>>+        blobs<<  convert_object(s3_object)
>>+      end
>>+    end
>>+    blobs = filter_on(blobs, :id, opts)
>>+    blobs
>>+  end
>>+
>>+#--
>>+# Blob data
>>+#--
>>+  def blob_data(credentials, bucket_id, blob_id, opts)
>>+    s3_client = s3_client(credentials)
>>+    s3_client.interface.get(bucket_id, blob_id) do |chunk|
>>+      yield chunk
>>+    end
>>+  end
>>+
>>+  private
>>+
>>+  def new_client(credentials)
>>+    opts = {
>>+      :access_key_id =>  credentials.user,
>>+      :secret_access_key =>  credentials.password
>>+    }
>>+    opts[:server] = ENV['DCLOUD_EC2_URL'] if ENV['DCLOUD_EC2_URL']
>>+    safely do
>>+      AWS::EC2::Base.new(opts)
>>+    end
>>+  end
>>+
>>+  def convert_key(key)
>>+    Key.new({
>>+      :id =>  key['keyName'],
>>+      :fingerprint =>  key['keyFingerprint'],
>>+      :credential_type =>  :key,
>>+      :pem_rsa_key =>  key['keyMaterial']
>>+    })
>>+  end
>>+
>>+  def convert_image(ec2_image)
>>+    Image.new( {
>>+      :id=>ec2_image['imageId'],
>>+      :name=>ec2_image['name'] || ec2_image['imageId'],
>>+      :description=>ec2_image['description'] || ec2_image['imageLocation'] || '',
>>+      :owner_id=>ec2_image['imageOwnerId'],
>>+      :architecture=>ec2_image['architecture'],
>>+    } )
>>+  end
>>+
>>+  def convert_realm(ec2_realm)
>>+    Realm.new( {
>>+      :id=>ec2_realm['zoneName'],
>>+      :name=>ec2_realm['zoneName'],
>>+      :limit=>ec2_realm['zoneState'].eql?('available') ? :unlimited : 0,
>>+      :state=>ec2_realm['zoneState'].upcase,
>>+    } )
>>+  end
>>+
>>+  def convert_state(ec2_state)
>>+    case ec2_state
>>+    when "terminated"
>>+      "STOPPED"
>>+    when "stopped"
>>+      "STOPPED"
>>+    when "running"
>>+      "RUNNING"
>>+    when "pending"
>>+      "PENDING"
>>+    when "shutting-down"
>>+      "STOPPED"
>>+    end
>>+  end
>>+
>>+  def convert_instance(ec2_instance, owner_id)
>>+    state = convert_state(ec2_instance['instanceState']['name'])
>>+    realm_id = ec2_instance['placement']['availabilityZone']
>>+    (realm_id = nil ) if ( realm_id == '' )
>>+    hwp_name = ec2_instance['instanceType']
>>+    instance = Instance.new( {
>>+      :id=>ec2_instance['instanceId'],
>>+      :name =>  ec2_instance['imageId'],
>>+      :state=>state,
>>+      :image_id=>ec2_instance['imageId'],
>>+      :owner_id=>owner_id,
>>+      :realm_id=>realm_id,
>>+      :public_addresses=>( ec2_instance['dnsName'] == '' ? [] : [ec2_instance['dnsName']] ),
>>+      :private_addresses=>( ec2_instance['privateDnsName'] == '' ? [] : [ec2_instance['privateDnsName']] ),
>>+      :instance_profile =>InstanceProfile.new(hwp_name),
>>+      :actions=>instance_actions_for( state ),
>>+      :keyname =>  ec2_instance['keyName'],
>>+      :launch_time =>  ec2_instance['launchTime']
>>+    } )
>>+    instance.authn_error = "Key not set for instance" unless ec2_instance['keyName']
>>+    return instance
>>+  end
>>+
>>+  def convert_volume(ec2_volume)
>>+    StorageVolume.new( {
>>+      :id=>ec2_volume['volumeId'],
>>+      :created=>ec2_volume['createTime'],
>>+      :state=>ec2_volume['status'].upcase,
>>+      :capacity=>ec2_volume['size'],
>>+      :instance_id=>ec2_volume['snapshotId'],
>>+      :device=>ec2_volume['attachmentSet'],
>>+    } )
>>+  end
>>+
>>+  def convert_snapshot(ec2_snapshot)
>>+    StorageSnapshot.new( {
>>+      :id=>ec2_snapshot['snapshotId'],
>>+      :state=>ec2_snapshot['status'].upcase,
>>+      :storage_volume_id=>ec2_snapshot['volumeId'],
>>+      :created=>ec2_snapshot['startTime'],
>>+    } )
>>+  end
>>+
>>+  def s3_client(credentials)
>>+    safely do
>>+      s3_client = RightAws::S3.new(credentials.user, credentials.password)
>>+    end
>>+  end
>>+
>>+  def convert_bucket(s3_bucket)
>>+    #get blob list:
>>+    blob_list = []
>>+    s3_bucket.keys.each do |s3_object|
>>+      blob_list<<  s3_object.name
>>+    end
>>+    #can use AWS::S3::Owner.current.display_name or current.id
>>+    Bucket.new(  { :id =>  s3_bucket.name,
>>+                      :name =>  s3_bucket.name,
>>+                      :size =>  s3_bucket.keys.length,
>>+                      :blob_list =>  blob_list
>>+                    }
>>+                 )
>>+  end
>>+
>>+  def convert_object(s3_object)
>>+    Blob.new({   :id =>  s3_object.name,
>>+                 :bucket =>  s3_object.bucket.name.to_s,
>>+                 :content_length =>  s3_object.size,
>>+                 :content_type =>  s3_object.content_type,
>>+                 :last_modified =>  s3_object.last_modified
>>+              })
>>+  end
>>+
>>+  def catched_exceptions_list
>>+    {
>>+      :auth =>  [ AWS::AuthFailure ],
>>+      :error =>  [],
>>+      :glob =>  [ /AWS::(\w+)/ ]
>>+    }
>>+  end
>>+
>>+end
>>+
>>+    end
>>+  end
>>+end
>>diff --git a/server/lib/deltacloud/drivers/gogrid/gogrid_client.rb b/server/lib/deltacloud/drivers/gogrid/gogrid_client.rb
>>index c463fa6..43da112 100644
>>--- a/server/lib/deltacloud/drivers/gogrid/gogrid_client.rb
>>+++ b/server/lib/deltacloud/drivers/gogrid/gogrid_client.rb
>>@@ -1,7 +1,6 @@
>>  require 'digest/md5'
>>  require 'cgi'
>>  require 'open-uri'
>>-require 'json'
>>
>>  class GoGridClient
>>
>>diff --git a/server/lib/deltacloud/drivers/gogrid/gogrid_driver.rb b/server/lib/deltacloud/drivers/gogrid/gogrid_driver.rb
>>index fd8e756..7de34e2 100644
>>--- a/server/lib/deltacloud/drivers/gogrid/gogrid_driver.rb
>>+++ b/server/lib/deltacloud/drivers/gogrid/gogrid_driver.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>diff --git a/server/lib/deltacloud/drivers/gogrid/test.rb b/server/lib/deltacloud/drivers/gogrid/test.rb
>>deleted file mode 100644
>>index 809081d..0000000
>>--- a/server/lib/deltacloud/drivers/gogrid/test.rb
>>+++ /dev/null
>>@@ -1,13 +0,0 @@
>>-require 'gogrid_client'
>>-require 'ap'
>>-
>>-user='fbb1de3897597ccf'
>>-password='ngieth10'
>>-
>>-client=GoGridClient.new('https://api.gogrid.com/api', user, password)
>>-
>>-ap client.request('grid/ip/list', {
>>-  'ip.type' =>  '1',
>>-  'ip.state' =>  '1',
>>-  'datacenter' =>  '1'
>>-})
>>diff --git a/server/lib/deltacloud/drivers/mock/mock_driver.rb b/server/lib/deltacloud/drivers/mock/mock_driver.rb
>>index e1b9e0a..2ef289f 100644
>>--- a/server/lib/deltacloud/drivers/mock/mock_driver.rb
>>+++ b/server/lib/deltacloud/drivers/mock/mock_driver.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>diff --git a/server/lib/deltacloud/drivers/rackspace/rackspace_client.rb b/server/lib/deltacloud/drivers/rackspace/rackspace_client.rb
>>index 3d42a06..d803302 100644
>>--- a/server/lib/deltacloud/drivers/rackspace/rackspace_client.rb
>>+++ b/server/lib/deltacloud/drivers/rackspace/rackspace_client.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>diff --git a/server/lib/deltacloud/hardware_profile.rb b/server/lib/deltacloud/hardware_profile.rb
>>index 62aca33..9ba235a 100644
>>--- a/server/lib/deltacloud/hardware_profile.rb
>>+++ b/server/lib/deltacloud/hardware_profile.rb
>>@@ -1,3 +1,20 @@
>>+#
>>+# Copyright (C) 2009,2010  Red Hat, Inc.
>>+#
>>+# Licensed to the Apache Software Foundation (ASF) under one or more
>>+# contributor license agreements.  See the NOTICE file distributed with
>>+# this work for additional information regarding copyright ownership.  The
>>+# ASF licenses this file to you under the Apache License, Version 2.0 (the
>>+# "License"); you may not use this file except in compliance with the
>>+# License.  You may obtain a copy of the License at
>>+#
>>+#       http://www.apache.org/licenses/LICENSE-2.0
>>+#
>>+# Unless required by applicable law or agreed to in writing, software
>>+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
>>+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
>>+# License for the specific language governing permissions and limitations
>>+# under the License.
>>
>>  module Deltacloud
>>    class HardwareProfile
>>diff --git a/server/lib/deltacloud/helpers.rb b/server/lib/deltacloud/helpers.rb
>>index 0765962..6cae81c 100644
>>--- a/server/lib/deltacloud/helpers.rb
>>+++ b/server/lib/deltacloud/helpers.rb
>>@@ -1,3 +1,21 @@
>>+#
>>+# Copyright (C) 2009,2010  Red Hat, Inc.
>>+#
>>+# Licensed to the Apache Software Foundation (ASF) under one or more
>>+# contributor license agreements.  See the NOTICE file distributed with
>>+# this work for additional information regarding copyright ownership.  The
>>+# ASF licenses this file to you under the Apache License, Version 2.0 (the
>>+# "License"); you may not use this file except in compliance with the
>>+# License.  You may obtain a copy of the License at
>>+#
>>+#       http://www.apache.org/licenses/LICENSE-2.0
>>+#
>>+# Unless required by applicable law or agreed to in writing, software
>>+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
>>+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
>>+# License for the specific language governing permissions and limitations
>>+# under the License.
>>+
>>  require 'deltacloud/helpers/application_helper'
>>  require 'deltacloud/helpers/conversion_helper'
>>  require 'deltacloud/helpers/hardware_profiles_helper'
>>diff --git a/server/lib/deltacloud/helpers/application_helper.rb b/server/lib/deltacloud/helpers/application_helper.rb
>>index 00e8bc9..ead4c58 100644
>>--- a/server/lib/deltacloud/helpers/application_helper.rb
>>+++ b/server/lib/deltacloud/helpers/application_helper.rb
>>@@ -1,5 +1,4 @@
>>-#
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>@@ -17,6 +16,7 @@
>>  # under the License.
>>
>>  # Methods added to this helper will be available to all templates in the application.
>>+
>>  module ApplicationHelper
>>
>>    def bread_crumb
>>diff --git a/server/lib/deltacloud/helpers/conversion_helper.rb b/server/lib/deltacloud/helpers/conversion_helper.rb
>>index e96f9b7..d553253 100644
>>--- a/server/lib/deltacloud/helpers/conversion_helper.rb
>>+++ b/server/lib/deltacloud/helpers/conversion_helper.rb
>>@@ -1,5 +1,4 @@
>>-#
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>diff --git a/server/lib/deltacloud/helpers/hardware_profiles_helper.rb b/server/lib/deltacloud/helpers/hardware_profiles_helper.rb
>>index ff7f239..a394e9f 100644
>>--- a/server/lib/deltacloud/helpers/hardware_profiles_helper.rb
>>+++ b/server/lib/deltacloud/helpers/hardware_profiles_helper.rb
>>@@ -1,3 +1,20 @@
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>+#
>>+# Licensed to the Apache Software Foundation (ASF) under one or more
>>+# contributor license agreements.  See the NOTICE file distributed with
>>+# this work for additional information regarding copyright ownership.  The
>>+# ASF licenses this file to you under the Apache License, Version 2.0 (the
>>+# "License"); you may not use this file except in compliance with the
>>+# License.  You may obtain a copy of the License at
>>+#
>>+#       http://www.apache.org/licenses/LICENSE-2.0
>>+#
>>+# Unless required by applicable law or agreed to in writing, software
>>+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
>>+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
>>+# License for the specific language governing permissions and limitations
>>+# under the License.
>>+
>>  module HardwareProfilesHelper
>>
>>    def format_hardware_property(prop)
>>diff --git a/server/lib/deltacloud/method_serializer.rb b/server/lib/deltacloud/method_serializer.rb
>>index 45660c5..c0031bb 100644
>>--- a/server/lib/deltacloud/method_serializer.rb
>>+++ b/server/lib/deltacloud/method_serializer.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009,2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>diff --git a/server/lib/deltacloud/models/base_model.rb b/server/lib/deltacloud/models/base_model.rb
>>index bf2a4d2..2c0901e 100644
>>--- a/server/lib/deltacloud/models/base_model.rb
>>+++ b/server/lib/deltacloud/models/base_model.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>diff --git a/server/lib/deltacloud/models/blob.rb b/server/lib/deltacloud/models/blob.rb
>>index 44c209d..dfa67fe 100644
>>--- a/server/lib/deltacloud/models/blob.rb
>>+++ b/server/lib/deltacloud/models/blob.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>@@ -17,10 +17,12 @@
>>  # under the License.
>>
>>  class Blob<  BaseModel
>>+
>>    #already has an id from basemodel (for the key)
>>    attr_accessor :bucket
>>    attr_accessor :content_length
>>    attr_accessor :content_type
>>    attr_accessor :last_modified
>>    attr_accessor :content
>>+
>>  end
>>diff --git a/server/lib/deltacloud/models/bucket.rb b/server/lib/deltacloud/models/bucket.rb
>>index 95ead24..1a68c5c 100644
>>--- a/server/lib/deltacloud/models/bucket.rb
>>+++ b/server/lib/deltacloud/models/bucket.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>@@ -21,4 +21,5 @@ class Bucket<  BaseModel
>>    attr_accessor :name
>>    attr_accessor :size
>>    attr_accessor :blob_list
>>+
>>  end
>>diff --git a/server/lib/deltacloud/models/image.rb b/server/lib/deltacloud/models/image.rb
>>index f921235..6a98657 100644
>>--- a/server/lib/deltacloud/models/image.rb
>>+++ b/server/lib/deltacloud/models/image.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>@@ -16,7 +16,6 @@
>>  # License for the specific language governing permissions and limitations
>>  # under the License.
>>
>>-
>>  class Image<  BaseModel
>>
>>    attr_accessor :name
>>@@ -24,4 +23,4 @@ class Image<  BaseModel
>>    attr_accessor :description
>>    attr_accessor :architecture
>>
>>-end
>>\ No newline at end of file
>>+end
>>diff --git a/server/lib/deltacloud/models/instance.rb b/server/lib/deltacloud/models/instance.rb
>>index 0167331..38419e9 100644
>>--- a/server/lib/deltacloud/models/instance.rb
>>+++ b/server/lib/deltacloud/models/instance.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>@@ -16,7 +16,6 @@
>>  # License for the specific language governing permissions and limitations
>>  # under the License.
>>
>>-
>>  class Instance<  BaseModel
>>
>>    attr_accessor :owner_id
>>diff --git a/server/lib/deltacloud/models/instance_profile.rb b/server/lib/deltacloud/models/instance_profile.rb
>>index 05e80c6..4e0ce74 100644
>>--- a/server/lib/deltacloud/models/instance_profile.rb
>>+++ b/server/lib/deltacloud/models/instance_profile.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>@@ -18,6 +18,7 @@
>>
>>  # Model to store the hardware profile applied to an instance together with
>>  # any instance-specific overrides
>>+
>>  class InstanceProfile<  BaseModel
>>    attr_accessor :memory
>>    attr_accessor :storage
>>diff --git a/server/lib/deltacloud/models/key.rb b/server/lib/deltacloud/models/key.rb
>>index 22a69a6..b902ede 100644
>>--- a/server/lib/deltacloud/models/key.rb
>>+++ b/server/lib/deltacloud/models/key.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010 Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>diff --git a/server/lib/deltacloud/models/load_balancer.rb b/server/lib/deltacloud/models/load_balancer.rb
>>index 546a25f..439b073 100644
>>--- a/server/lib/deltacloud/models/load_balancer.rb
>>+++ b/server/lib/deltacloud/models/load_balancer.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>diff --git a/server/lib/deltacloud/models/realm.rb b/server/lib/deltacloud/models/realm.rb
>>index a4c49e9..a7f008a 100644
>>--- a/server/lib/deltacloud/models/realm.rb
>>+++ b/server/lib/deltacloud/models/realm.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>diff --git a/server/lib/deltacloud/models/storage_snapshot.rb b/server/lib/deltacloud/models/storage_snapshot.rb
>>index 0c3448b..01702d6 100644
>>--- a/server/lib/deltacloud/models/storage_snapshot.rb
>>+++ b/server/lib/deltacloud/models/storage_snapshot.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>diff --git a/server/lib/deltacloud/models/storage_volume.rb b/server/lib/deltacloud/models/storage_volume.rb
>>index 5e9e948..0673f85 100644
>>--- a/server/lib/deltacloud/models/storage_volume.rb
>>+++ b/server/lib/deltacloud/models/storage_volume.rb
>>@@ -1,5 +1,5 @@
>>  #
>>-# Copyright (C) 2009  Red Hat, Inc.
>>+# Copyright (C) 2009, 2010  Red Hat, Inc.
>>  #
>>  # Licensed to the Apache Software Foundation (ASF) under one or more
>>  # contributor license agreements.  See the NOTICE file distributed with
>>diff --git a/server/lib/deltacloud/state_machine.rb b/server/lib/deltacloud/state_machine.rb
>>index 9c4f7ba..8812276 100644
>>--- a/server/lib/deltacloud/state_machine.rb
>>+++ b/server/lib/deltacloud/state_machine.rb
>>@@ -1,3 +1,20 @@
>>+#
>>+# Copyright (C) 2009,2010  Red Hat, Inc.
>>+#
>>+# Licensed to the Apache Software Foundation (ASF) under one or more
>>+# contributor license agreements.  See the NOTICE file distributed with
>>+# this work for additional information regarding copyright ownership.  The
>>+# ASF licenses this file to you under the Apache License, Version 2.0 (the
>>+# "License"); you may not use this file except in compliance with the
>>+# License.  You may obtain a copy of the License at
>>+#
>>+#       http://www.apache.org/licenses/LICENSE-2.0
>>+#
>>+# Unless required by applicable law or agreed to in writing, software
>>+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
>>+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
>>+# License for the specific language governing permissions and limitations
>>+# under the License.
>>
>>  module Deltacloud
>>    class StateMachine
>>diff --git a/server/lib/deltacloud/validation.rb b/server/lib/deltacloud/validation.rb
>>index b4eb3ae..18e71cc 100644
>>--- a/server/lib/deltacloud/validation.rb
>>+++ b/server/lib/deltacloud/validation.rb
>>@@ -1,3 +1,21 @@
>>+#
>>+# Copyright (C) 2009,2010  Red Hat, Inc.
>>+#
>>+# Licensed to the Apache Software Foundation (ASF) under one or more
>>+# contributor license agreements.  See the NOTICE file distributed with
>>+# this work for additional information regarding copyright ownership.  The
>>+# ASF licenses this file to you under the Apache License, Version 2.0 (the
>>+# "License"); you may not use this file except in compliance with the
>>+# License.  You may obtain a copy of the License at
>>+#
>>+#       http://www.apache.org/licenses/LICENSE-2.0
>>+#
>>+# Unless required by applicable law or agreed to in writing, software
>>+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
>>+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
>>+# License for the specific language governing permissions and limitations
>>+# under the License.
>>+
>>  module Deltacloud::Validation
>>
>>    class Failure<  StandardError
>>diff --git a/server/lib/drivers.rb b/server/lib/drivers.rb
>>index 6e31bb7..83bdebd 100644
>>--- a/server/lib/drivers.rb
>>+++ b/server/lib/drivers.rb
>>@@ -1,3 +1,21 @@
>>+#
>>+# Copyright (C) 2009,2010  Red Hat, Inc.
>>+#
>>+# Licensed to the Apache Software Foundation (ASF) under one or more
>>+# contributor license agreements.  See the NOTICE file distributed with
>>+# this work for additional information regarding copyright ownership.  The
>>+# ASF licenses this file to you under the Apache License, Version 2.0 (the
>>+# "License"); you may not use this file except in compliance with the
>>+# License.  You may obtain a copy of the License at
>>+#
>>+#       http://www.apache.org/licenses/LICENSE-2.0
>>+#
>>+# Unless required by applicable law or agreed to in writing, software
>>+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
>>+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
>>+# License for the specific language governing permissions and limitations
>>+# under the License.
>>+
>>  DRIVERS = {
>>    :ec2 =>  { :name =>  "EC2" },
>>    :rackspace =>  { :name =>  "Rackspace" },
>>diff --git a/server/libexec/app/views/api/show.html.erb b/server/libexec/app/views/api/show.html.erb
>>deleted file mode 100644
>>index 33a9d77..0000000
>>--- a/server/libexec/app/views/api/show.html.erb
>>+++ /dev/null
>>@@ -1,7 +0,0 @@
>>-<h1>API v<%= @version %></h1>
>>-
>>-<ul>
>>-<% for entry_point in @entry_points %>
>>-<li><%= link_to entry_point[0], entry_point[1] %></li>
>>-<% end %>
>>-</ul>
>>diff --git a/server/libexec/app/views/layouts/application.html.erb b/server/libexec/app/views/layouts/application.html.erb
>>deleted file mode 100644
>>index 2b05901..0000000
>>--- a/server/libexec/app/views/layouts/application.html.erb
>>+++ /dev/null
>>@@ -1,32 +0,0 @@
>>-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
>>-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
>>-
>>-<html>
>>-<head>
>>-<title>Deltacloud Foundation</title>
>>-<%= stylesheet_link_tag '/yui/reset-fonts-grids/reset-fonts-grids.css' %>
>>-<%= stylesheet_link_tag 'application.css' %>
>>-</head>
>>-
>>-<body>
>>-<div id="doc" class="yui-t2">
>>-<div id="hd">
>>-<%= link_to image_tag( "logo-wide.png" ), root_url %>
>>-<%= bread_crumb -%>
>>-</div>
>>-<div id="bd">
>>-<div id="yui-main">
>>-<div id="content">
>>-<%= yield %>
>>-</div>
>>-</div>
>>-</div>
>>-<div id="ft">
>>-<div style="float: right; text-align: right; font-size: 90%;">
>>-          Driver:<%= DRIVER %><br/>
>>-          Copyright 2009<%= link_to 'Red Hat', 'http://redhat.com' %>  <br />
>>-</div>
>>-</div>
>>-</div>
>>-</body>
>>-</html>
>>diff --git a/server/libexec/app/views/layouts/old.html.erb b/server/libexec/app/views/layouts/old.html.erb
>>deleted file mode 100644
>>index 78fcbc3..0000000
>>--- a/server/libexec/app/views/layouts/old.html.erb
>>+++ /dev/null
>>@@ -1,32 +0,0 @@
>>-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
>>-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
>>-
>>-<html>
>>-<head>
>>-<title>Deltacloud Foundation</title>
>>-<%= stylesheet_link_tag '/yui/reset-fonts-grids/reset-fonts-grids.css' %>
>>-<%= stylesheet_link_tag 'application.css' %>
>>-</head>
>>-
>>-<body>
>>-<div id="doc" class="yui-t2">
>>-<div id="hd">
>>-<%= link_to image_tag( "logo-wide.png" ), root_url %>
>>-<%= bread_crumb -%>
>>-</div>
>>-<div id="bd">
>>-<div id="yui-main">
>>-<div id="content">
>>-<%= yield %>
>>-</div>
>>-</div>
>>-</div>
>>-<div id="ft">
>>-<div style="float: right; text-align: right; font-size: 90%;">
>>-          Driver:<%= DRIVER %><br/>
>>-          Copyright 2009<%= link_to 'Red Hat', 'http://redhat.com' %>  and individual contributors.<br />
>>-</div>
>>-</div>
>>-</div>
>>-</body>
>>-</html>
>>diff --git a/server/libexec/public/stylesheets/application.css b/server/libexec/public/stylesheets/application.css
>>deleted file mode 100644
>>index 2ea2ce6..0000000
>>--- a/server/libexec/public/stylesheets/application.css
>>+++ /dev/null
>>@@ -1,96 +0,0 @@
>>-html {
>>-  background-color: white; }
>>-
>>-body {
>>-  font-family: "Trebuchet MS"; }
>>-  body a {
>>-    color: #441111; }
>>-
>>-#hd {
>>-  padding: 1em;
>>-  background-image: url('/images/topbar-bg.png');
>>-  margin-bottom: 2em; }
>>-  #hd img {
>>-    margin-bottom: 1em; }
>>-
>>-#bd {
>>-  margin-bottom: 2em; }
>>-
>>-
>>-#bd h1 {
>>-  font-size: 160%;
>>-  margin-bottom: 1ex; }
>>-#bd h2 {
>>-  font-size: 140%;
>>-  margin-bottom: 1ex; }
>>-#bd h3 {
>>-  font-size: 120%;
>>-  margin-bottom: 1ex; }
>>-#bd dl {
>>-  font-size: 90%;
>>-  margin-bottom: 1em; }
>>-  #bd dl di {
>>-    display: block;
>>-    margin-bottom: 1em; }
>>-    #bd dl di dt, #bd dl di dd {
>>-      padding: .5ex; }
>>-    #bd dl di dt {
>>-      font-weight: bold;
>>-      background-color: #cccccc; }
>>-    #bd dl di dd {
>>-      padding-left: 1em;
>>-      background-color: #eeeeee; }
>>-#bd ul li {
>>-  list-style-type: square;
>>-  margin-left: 1em; }
>>-#bd em {
>>-  font-style: italic; }
>>-
>>-ul.breadcrumb {
>>-  background-color: #eee;
>>-  border: 1px solid #46A;
>>-  padding: 1ex; }
>>-  ul.breadcrumb li {
>>-    display: inline; }
>>-    ul.breadcrumb li.subsequent:before {
>>-      content: ">>  "; }
>>-
>>-table {
>>-  width: 100%; }
>>-  table th, table td {
>>-    padding: .5ex;
>>-    font-size: 90%; }
>>-  table th {
>>-    font-weight: bold;
>>-    background-color: #cccccc; }
>>-  table td {
>>-    background-color: #eeeeee; }
>>-
>>-table.states tr {
>>-  border-bottom: 1px solid #bbbbbb; }
>>-table.states th, table.states td {
>>-  vertical-align: top; }
>>-
>>-.radio-group {
>>-  font-size: 90%;
>>-  margin-bottom: 1em;
>>-  background-color: #cccccc; }
>>-  .radio-group label {
>>-    font-weight: bold; }
>>-
>>-.radio-group-details {
>>-  font-weight: normal;
>>-  display: block;
>>-  padding-left: 1em;
>>-  background-color: #eeeeee;
>>-  padding: 1ex; }
>>-
>>-input[type='radio'] {
>>-  margin-top: 1ex;
>>-  margin-left: 1ex;
>>-  margin-bottom: 1ex; }
>>-
>>-#state_graph {
>>-  display: block;
>>-  margin-bottom: 2em;
>>-  text-align: center; }
>>diff --git a/server/libexec/public/stylesheets/sass/application.sass b/server/libexec/public/stylesheets/sass/application.sass
>>deleted file mode 100644
>>index a36bd48..0000000
>>--- a/server/libexec/public/stylesheets/sass/application.sass
>>+++ /dev/null
>>@@ -1,109 +0,0 @@
>>-!main_bg = #ffffff
>>-
>>-!th_bg = #cccccc
>>-!td_bg = #eeeeee
>>-
>>-html
>>-  :background-color = !main_bg
>>-
>>-body
>>-  :font-family "Trebuchet MS"
>>-  a
>>-    :color = #411
>>-
>>-#hd
>>-  :padding 1em
>>-  :background-image url('/images/topbar-bg.png')
>>-  :margin-bottom 2em
>>-  img
>>-    :margin-bottom 1em
>>-
>>-#bd
>>-  :margin-bottom 2em
>>-
>>-#ft
>>-
>>-#bd
>>-  h1
>>-    :font-size     160%
>>-    :margin-bottom 1ex
>>-  h2
>>-    :font-size     140%
>>-    :margin-bottom 1ex
>>-  h3
>>-    :font-size     120%
>>-    :margin-bottom 1ex
>>-  dl
>>-    :font-size 90%
>>-    :margin-bottom 1em
>>-    di
>>-      :display block
>>-      :margin-bottom 1em
>>-      dt, dd
>>-        :padding .5ex
>>-      dt
>>-        :font-weight bold
>>-        :background-color = !th_bg
>>-      dd
>>-        :padding-left 1em
>>-        :background-color = !td_bg
>>-  ul
>>-    li
>>-      :list-style-type square
>>-      :margin-left 1em
>>-
>>-  em
>>-    :font-style italic
>>-
>>-
>>-ul.breadcrumb
>>-  :background-color #eee
>>-  :border 1px solid #46A
>>-  :padding 1ex
>>-  li
>>-    :display inline
>>-
>>-&.subsequent:before
>>-      content: ">>  "
>>-
>>-table
>>-  :width 100%
>>-  th, td
>>-    :padding .5ex
>>-    :font-size 90%
>>-  th
>>-    :font-weight bold
>>-    :background-color = !th_bg
>>-  td
>>-    :background-color = !td_bg
>>-
>>-table.states
>>-  tr
>>-    :border-bottom = 1px solid !th_bg - #111
>>-  th, td
>>-    :vertical-align top
>>-
>>-.radio-group
>>-  :font-size 90%
>>-  :margin-bottom 1em
>>-  :background-color = !th_bg
>>-  label
>>-    :font-weight bold
>>-
>>-.radio-group-details
>>-  :font-weight normal
>>-  :display block
>>-  :padding-left 1em
>>-  :background-color = !td_bg
>>-  :padding 1ex
>>-
>>-input[type='radio']
>>-  :margin-top 1ex
>>-  :margin-left 1ex
>>-  :margin-bottom 1ex
>>-
>>-#state_graph
>>-  :display block
>>-  :margin-bottom 2em
>>-  :text-align center
>>-
>>diff --git a/server/public/stylesheets/application.sass b/server/public/stylesheets/application.sass
>>new file mode 100644
>>index 0000000..a36bd48
>>--- /dev/null
>>+++ b/server/public/stylesheets/application.sass
>>@@ -0,0 +1,109 @@
>>+!main_bg = #ffffff
>>+
>>+!th_bg = #cccccc
>>+!td_bg = #eeeeee
>>+
>>+html
>>+  :background-color = !main_bg
>>+
>>+body
>>+  :font-family "Trebuchet MS"
>>+  a
>>+    :color = #411
>>+
>>+#hd
>>+  :padding 1em
>>+  :background-image url('/images/topbar-bg.png')
>>+  :margin-bottom 2em
>>+  img
>>+    :margin-bottom 1em
>>+
>>+#bd
>>+  :margin-bottom 2em
>>+
>>+#ft
>>+
>>+#bd
>>+  h1
>>+    :font-size     160%
>>+    :margin-bottom 1ex
>>+  h2
>>+    :font-size     140%
>>+    :margin-bottom 1ex
>>+  h3
>>+    :font-size     120%
>>+    :margin-bottom 1ex
>>+  dl
>>+    :font-size 90%
>>+    :margin-bottom 1em
>>+    di
>>+      :display block
>>+      :margin-bottom 1em
>>+      dt, dd
>>+        :padding .5ex
>>+      dt
>>+        :font-weight bold
>>+        :background-color = !th_bg
>>+      dd
>>+        :padding-left 1em
>>+        :background-color = !td_bg
>>+  ul
>>+    li
>>+      :list-style-type square
>>+      :margin-left 1em
>>+
>>+  em
>>+    :font-style italic
>>+
>>+
>>+ul.breadcrumb
>>+  :background-color #eee
>>+  :border 1px solid #46A
>>+  :padding 1ex
>>+  li
>>+    :display inline
>>+
>>+&.subsequent:before
>>+      content: ">>  "
>>+
>>+table
>>+  :width 100%
>>+  th, td
>>+    :padding .5ex
>>+    :font-size 90%
>>+  th
>>+    :font-weight bold
>>+    :background-color = !th_bg
>>+  td
>>+    :background-color = !td_bg
>>+
>>+table.states
>>+  tr
>>+    :border-bottom = 1px solid !th_bg - #111
>>+  th, td
>>+    :vertical-align top
>>+
>>+.radio-group
>>+  :font-size 90%
>>+  :margin-bottom 1em
>>+  :background-color = !th_bg
>>+  label
>>+    :font-weight bold
>>+
>>+.radio-group-details
>>+  :font-weight normal
>>+  :display block
>>+  :padding-left 1em
>>+  :background-color = !td_bg
>>+  :padding 1ex
>>+
>>+input[type='radio']
>>+  :margin-top 1ex
>>+  :margin-left 1ex
>>+  :margin-bottom 1ex
>>+
>>+#state_graph
>>+  :display block
>>+  :margin-bottom 2em
>>+  :text-align center
>>+
>>diff --git a/server/server.rb b/server/server.rb
>>index 5ccf9f6..8222f42 100644
>>--- a/server/server.rb
>>+++ b/server/server.rb
>>@@ -1,14 +1,31 @@
>>+#
>>+# Copyright (C) 2009,2010  Red Hat, Inc.
>>+#
>>+# Licensed to the Apache Software Foundation (ASF) under one or more
>>+# contributor license agreements.  See the NOTICE file distributed with
>>+# this work for additional information regarding copyright ownership.  The
>>+# ASF licenses this file to you under the Apache License, Version 2.0 (the
>>+# "License"); you may not use this file except in compliance with the
>>+# License.  You may obtain a copy of the License at
>>+#
>>+#       http://www.apache.org/licenses/LICENSE-2.0
>>+#
>>+# Unless required by applicable law or agreed to in writing, software
>>+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
>>+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
>>+# License for the specific language governing permissions and limitations
>>+# under the License.
>>+
>>  require 'sinatra'
>>-require 'deltacloud'
>>-require 'drivers'
>>+require 'haml'
>>  require 'json'
>>+require 'deltacloud'
>>  require 'sinatra/respond_to'
>>  require 'sinatra/static_assets'
>>  require 'sinatra/rabbit'
>>  require 'sinatra/lazy_auth'
>>-require 'erb'
>>-require 'haml'
>>  require 'open3'
>>+require 'erb'
>>  require 'lib/deltacloud/helpers/blob_stream'
>>
>>  configure do
>

-- 
--------------------------------------------------------
Michal Fojtik, mfojtik@redhat.com
Deltacloud API: http://deltacloud.org
--------------------------------------------------------

Mime
View raw message