You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by lu...@apache.org on 2013/03/14 19:19:03 UTC
[10/15] git commit: CIMI: Migrated MachineImage to services
CIMI: Migrated MachineImage to services
Signed-off-by: Michal fojtik <mf...@redhat.com>
TrackedAt: http://tracker.deltacloud.org/patch/ac7d8b3fe7354da3cb2d29400632bfe36694556d
Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/61b26370
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/61b26370
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/61b26370
Branch: refs/heads/master
Commit: 61b2637001273619f27991b70fb2f39606ab675c
Parents: 3303c37
Author: Michal Fojtik <mf...@redhat.com>
Authored: Fri Mar 1 12:22:27 2013 +0100
Committer: David Lutterkort <lu...@redhat.com>
Committed: Wed Mar 13 17:28:13 2013 -0700
----------------------------------------------------------------------
server/lib/cimi/collections/machine_images.rb | 6 +-
server/lib/cimi/models/machine_image.rb | 28 -----------
server/lib/cimi/service.rb | 1 +
server/lib/cimi/service/machine_image.rb | 51 ++++++++++++++++++++
4 files changed, 55 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/61b26370/server/lib/cimi/collections/machine_images.rb
----------------------------------------------------------------------
diff --git a/server/lib/cimi/collections/machine_images.rb b/server/lib/cimi/collections/machine_images.rb
index ee0033c..ce9fa6a 100644
--- a/server/lib/cimi/collections/machine_images.rb
+++ b/server/lib/cimi/collections/machine_images.rb
@@ -24,7 +24,7 @@ module CIMI::Collections
operation :index, :with_capability => :images do
description "List all machine configurations"
control do
- machine_images = MachineImage.list(self).select_by(params['$select'])
+ machine_images = MachineImage.list(self)
respond_to do |format|
format.xml { machine_images.to_xml }
format.json { machine_images.to_json }
@@ -46,7 +46,7 @@ module CIMI::Collections
operation :create, :with_capability => :create_image do
description "Create a new machine image."
control do
- mi = CIMI::Model::MachineImageCreate.parse(request.body, request.content_type)
+ mi = MachineImageCreate.parse(request.body, request.content_type)
machine_image = mi.create(self)
headers_for_create machine_image
respond_to do |format|
@@ -59,7 +59,7 @@ module CIMI::Collections
operation :destroy, :with_capability => :destroy_image do
description "Delete a specified MachineImage"
control do
- CIMI::Model::MachineImage.delete!(params[:id], self)
+ MachineImage.delete!(params[:id], self)
no_content_with_status 200
end
end
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/61b26370/server/lib/cimi/models/machine_image.rb
----------------------------------------------------------------------
diff --git a/server/lib/cimi/models/machine_image.rb b/server/lib/cimi/models/machine_image.rb
index 74f48ef..f900dae 100644
--- a/server/lib/cimi/models/machine_image.rb
+++ b/server/lib/cimi/models/machine_image.rb
@@ -26,32 +26,4 @@ class CIMI::Model::MachineImage < CIMI::Model::Base
scalar :rel, :href
end
- def self.find(id, context)
- images = []
- if id == :all
- images = context.driver.images(context.credentials)
- images.map { |image| from_image(image, context) }
- else
- image = context.driver.image(context.credentials, :id => id)
- from_image(image, context)
- end
- end
-
- def self.from_image(image, context)
- self.new(
- :id => context.machine_image_url(image.id),
- :name => image.id,
- :description => image.description,
- :state => image.state || 'UNKNOWN',
- :type => "IMAGE",
- :created => image.creation_time.nil? ?
- Time.now.xmlschema : Time.parse(image.creation_time.to_s).xmlschema
- )
- end
-
- def self.delete!(image_id, context)
- context.driver.destroy_image(context.credentials, image_id)
- new(:id => image_id).destroy
- end
-
end
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/61b26370/server/lib/cimi/service.rb
----------------------------------------------------------------------
diff --git a/server/lib/cimi/service.rb b/server/lib/cimi/service.rb
index 5231c24..f6b933f 100644
--- a/server/lib/cimi/service.rb
+++ b/server/lib/cimi/service.rb
@@ -26,3 +26,4 @@ require_relative './../db/volume_template'
require_relative './service/base'
require_relative './service/machine'
+require_relative './service/machine_image'
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/61b26370/server/lib/cimi/service/machine_image.rb
----------------------------------------------------------------------
diff --git a/server/lib/cimi/service/machine_image.rb b/server/lib/cimi/service/machine_image.rb
new file mode 100644
index 0000000..dad26a8
--- /dev/null
+++ b/server/lib/cimi/service/machine_image.rb
@@ -0,0 +1,51 @@
+# 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.
+
+class CIMI::Service::MachineImage < CIMI::Service::Base
+
+ def initialize(ctx, opts)
+ super
+ end
+
+ def self.find(id, context)
+ images = []
+ if id == :all
+ images = context.driver.images(context.credentials)
+ images.map { |image| from_image(image, context) }
+ else
+ image = context.driver.image(context.credentials, :id => id)
+ from_image(image, context)
+ end
+ end
+
+ def self.from_image(image, context)
+ self.new(context, :values => {
+ :id => context.machine_image_url(image.id),
+ :name => image.id,
+ :description => image.description,
+ :state => image.state || 'UNKNOWN',
+ :type => "IMAGE",
+ :created => image.creation_time.nil? ?
+ Time.now.xmlschema : Time.parse(image.creation_time.to_s).xmlschema
+ })
+ end
+
+ def self.delete!(image_id, context)
+ context.driver.destroy_image(context.credentials, image_id)
+ new(:id => image_id).destroy
+ end
+
+
+end