incubator-deltacloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "marios@redhat.com" <mandr...@redhat.com>
Subject Re: [PATCH core] Added ASF license header to files
Date Fri, 03 Dec 2010 13:50:06 GMT
ACK (but reminder to fix it so you don't push the new ec2 driver [or old 
one even])

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


Mime
View raw message