You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by mf...@apache.org on 2011/04/20 23:25:33 UTC
svn commit: r1095516 [1/4] - in /incubator/deltacloud/trunk/server:
lib/deltacloud/drivers/rhevm/ tests/drivers/rhevm/
tests/drivers/rhevm/fixtures/
Author: mfojtik
Date: Wed Apr 20 21:25:31 2011
New Revision: 1095516
URL: http://svn.apache.org/viewvc?rev=1095516&view=rev
Log:
Code cleanup in RHEV-M client and added support for 9.2 milestone of RHEV-M REST API
Added:
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/delete-1af892fbbfb755ca03f1811656cc8e3d1b420574.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/delete-9d3f53d21c21757854e4d7389936988c0926a9fa.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-00aa4ce291425cddda060610af1e2b78b3cf33e3.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-074acfab72ac40f5af853ff52dac39f9173c4307.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-33a70f1ed1ea33cb209804a2470bb87278c06c8a.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-37f932402c97a6c4549f109edb33055fe6781cf1.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-3ec2d121b6e2515036b0c0553f4a4a9f8806265f.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-47bd80314ec170ee08a56fde4a64daa5d2ec32b2.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-50f72766b065ab7e770c19e6108605ecb45b5680.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-5480c0954736af37bd6c45bbb97af0dd2aff1e18.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-5ac72e96eac9b6ecdad2b1e8fbf059ccb01ea4d1.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-63e31fa4abb03ce3ced734b14d2c08b803cadf6a.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-6e9c26487ca34873261a95cf1c769ee4fc5d1f45.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-70c8beddbd85ea713b95923a655c600ad7e5b02a.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-7addf8136843c7721cfbf349f218b53c24d8c5c1.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-9b42595ade5956e2a479d4d55ff1f87f27c80557.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-9dbb57e652dc0df6b0c38917500240a78068d282.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-9e6bdce6d894c0bdc1416c292a9c1276d94dacaa.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-a27ff728fbf0908dc321f8112eb92c54413bc626.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-b725e6609631e772cd5d959e1e5f89745ca1e16c.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-be045aca4b4efa1b0b410ce93fd2d4a25ed58336.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-c3a26ca10909a44f5ecaf01f6368c942e4d0189d.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-e35967943cfbfa708dd75761107adfd7cfa9c31d.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-f3865f3833d2c30eddcaec678cafd8ca6595003e.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/post-4e1a0e33822815562beb69261ce28bc3ad0d015c.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/post-872f5c5d048a598a1355c166ffd921f55ed450aa.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/post-87a5a627cece4153c3fff405d573202332a26062.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/post-cc2023c9b8e63403223e142622ea7f300762eb0c.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/post-dcf49f698d1e58513843690cf4f18afdc37c7309.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/post-e03c1ee0f5a68178db2cbd7a298e3c5fc430bb6f.yml
Removed:
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/delete-1a9b2a10d0ae75cb896ec0f7eab763a24655be5d.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/delete-3a4e4d1322c4d156f0deb494c393279988bbd39a.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-016edb2a494ed85580278b0c6c3f1a4479b5085c.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-0ba2d49323703782cd30a091384b20893d622123.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-3077509564f1476d2c3af4b49e35037942eff7aa.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-3c07aabee09e6505d0988439f73266254982d41d.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-8c8d35995dba82349983c9032d47dd60b35ea21c.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-c666a67647a7f83115966459e8ea8cdd6890db16.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-db47714d43ffdab799b3e39b16614715c7329fd8.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-edbf9da8eda44c7ca19c7838c9399f0ef29d1bf0.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-ef9d972f1dd070df8726d95ce02053822513a03f.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/post-2795a0c64909909bc4d9e489c35977f40afdf74c.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/post-363723759af2ac2362dac729f82e0956276138e8.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/post-639022a9b1093eab3f5a15c8b41f9056ad065fa0.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/post-760971439d11d63dacee8b8a52d6609057bf4b5b.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/post-b27572686072b5dc8f8aa723eff53049c22419ce.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/post-e6a1deb5e8f63747ba36351f2c1a35ee81ae755b.yml
Modified:
incubator/deltacloud/trunk/server/lib/deltacloud/drivers/rhevm/rhevm_client.rb
incubator/deltacloud/trunk/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-0f50173e8cba941468c17039c11d63e940e351f7.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-163a76f09d41670494c54dcd2eab373a5588683d.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-620965396fa389179e1f43d6a4e553d9a8ad9523.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-dd7d02910e76e86ce94d113c1175f2ddb2ec711d.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-f1d6fe5300bb627fd7d85a415b2e1a6ffe3194af.yml
incubator/deltacloud/trunk/server/tests/drivers/rhevm/hardware_profiles_test.rb
incubator/deltacloud/trunk/server/tests/drivers/rhevm/instances_test.rb
Modified: incubator/deltacloud/trunk/server/lib/deltacloud/drivers/rhevm/rhevm_client.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/deltacloud/drivers/rhevm/rhevm_client.rb?rev=1095516&r1=1095515&r2=1095516&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/lib/deltacloud/drivers/rhevm/rhevm_client.rb (original)
+++ incubator/deltacloud/trunk/server/lib/deltacloud/drivers/rhevm/rhevm_client.rb Wed Apr 20 21:25:31 2011
@@ -1,19 +1,4 @@
-#
-# 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 'base64'
require 'restclient'
require 'nokogiri'
@@ -22,281 +7,326 @@ require 'json'
module RHEVM
- class FixtureNotFound < Exception; end
- class ConnectionError < StandardError
- attr_reader :code, :cause, :details
- def initialize(code, cause, message, details)
- super(message)
- @code = code
- @cause = cause
- @details = details
- end
+ def self.client(url)
+ RestClient::Resource.new(url)
end
class Client
- attr_reader :base_uri
- attr_reader :host
- attr_reader :entry_points
- attr_reader :username
-
- # Define a list of supported collections which will be handled automatically
- # by method_missing
- @@COLLECTIONS = [ :templates, :clusters, :storagedomains, :vms, :datacenters ]
-
- def initialize(username, password, base_uri, opts={})
- @username, @password = username, password
- uri = URI.parse(base_uri)
- @host = "#{uri.scheme}://#{uri.host}:#{uri.port}"
- @base_uri = base_uri
- @entry_points = {}
- discover_entry_points()
+ attr_reader :credentials, :api_entrypoint
+
+ def initialize(username, password, api_entrypoint)
+ @credentials = { :username => username, :password => password }
+ @api_entrypoint = api_entrypoint
end
- def method_missing(method_name, *args)
- opts = args[0] if args[0].class.eql?(Hash)
- opts ||= {}
- if @@COLLECTIONS.include?(method_name.to_sym)
- if opts[:id]
- object = Nokogiri::XML(get("#{@entry_points[method_name.to_s]}/#{opts[:id]}"))
- element = method_name.to_s
- element = 'data_centers' if method_name.eql?(:datacenters)
- @current_element = element
- inst = ::RHEVM.const_get(element.classify)
- return inst::new(self, object)
- else
- objects = Nokogiri::XML(get(@entry_points[method_name.to_s]))
- objects_arr = []
- element = method_name.to_s
- # FIXME:
- # This is an exception/or bug in RHEV-M API:
- # (uri is /datacenters but root element it 'data_centers')
- element = 'data_centers' if method_name.eql?(:datacenters)
- element = 'storage_domains' if method_name.eql?(:storagedomains)
- @current_element = element
- (objects/"#{element}/#{element.singularize}").each do |item|
- inst = ::RHEVM.const_get(element.classify)
- objects_arr << inst.new(self, item)
- end
- return objects_arr
+ def vms(opts={})
+ headers = {
+ :accept => "application/xml; detail=disks; detail=nics; detail=hosts"
+ }
+ headers.merge!(auth_header)
+ if opts[:id]
+ vm = Client::parse_response(RHEVM::client(@api_entrypoint)["/vms/%s" % opts[:id]].get(headers)).root
+ [ RHEVM::VM::new(self, vm)]
+ else
+ Client::parse_response(RHEVM::client(@api_entrypoint)["/vms"].get(headers)).xpath('/vms/vm').collect do |vm|
+ RHEVM::VM::new(self, vm)
end
end
end
- def vm_action(action, vm)
- response = post("#{@base_uri}/vms/#{vm}/%s" % action)
- Nokogiri::XML(response)
- end
-
- def create_vm(opts="")
- (Nokogiri::XML(post("#{@base_uri}/vms", opts))/'vm').first
+ def vm_action(id, action, headers={})
+ headers.merge!(auth_header)
+ headers.merge!({
+ :content_type => 'application/xml',
+ :accept => 'application/xml',
+ })
+ if action==:delete
+ RHEVM::client(@api_entrypoint)["/vms/%s" % id].delete(headers)
+ else
+ xml_response = Client::parse_response(RHEVM::client(@api_entrypoint)["/vms/%s/%s" % [id, action]].post('<action/>', headers))
+ return false if (xml_response/'action/status').first.text!="COMPLETE"
+ end
+ return true
end
- def delete_vm(id)
- delete("#{@base_uri}/vms/#{id}")
+ def create_vm(template_id, opts={})
+ opts ||= {}
+ builder = Nokogiri::XML::Builder.new do
+ vm {
+ name opts[:name] || "i-#{Time.now.to_i}"
+ template_(:id => template_id)
+ cluster(:id => opts[:realm_id] || clusters.first.id)
+ type_ opts[:hwp_id] || 'desktop'
+ memory opts[:hwp_memory] || (512*1024*1024).to_s
+ cpu {
+ topology( :cores => (opts[:hwp_cpu] || '1'), :sockets => '1' )
+ }
+ }
+ end
+ headers = opts[:headers] || {}
+ headers.merge!({
+ :content_type => 'application/xml',
+ :accept => 'application/xml',
+ })
+ headers.merge!(auth_header)
+ vm = RHEVM::client(@api_entrypoint)["/vms"].post(Nokogiri::XML(builder.to_xml).root.to_s, headers)
+ RHEVM::VM::new(self, Nokogiri::XML(vm).root)
end
- def delete(uri)
+ def templates(opts={})
headers = {
- :authorization => "Basic " + Base64.encode64("#{@username}:#{@password}"),
- :accept => 'application/xml',
+ :accept => "application/xml"
}
- RestClient.delete(uri, headers).to_s
+ headers.merge!(auth_header)
+ if opts[:id]
+ vm = Client::parse_response(RHEVM::client(@api_entrypoint)["/templates/%s" % opts[:id]].get(headers)).root
+ [ RHEVM::Template::new(self, vm)]
+ else
+ Client::parse_response(RHEVM::client(@api_entrypoint)["/templates"].get(headers)).xpath('/templates/template').collect do |vm|
+ RHEVM::Template::new(self, vm)
+ end
+ end
end
- def get(uri)
+ def clusters(opts={})
headers = {
- :authorization => "Basic " + Base64.encode64("#{@username}:#{@password}"),
- :accept => 'application/xml',
+ :accept => "application/xml; detail=datacenters"
}
- begin
- response = RestClient.get(uri, headers).to_s
- rescue Exception => e
- raise ConnectionError::new(500, "GET #{uri}", "#{e.message} (GET #{uri})", e.backtrace)
+ headers.merge!(auth_header)
+ if opts[:id]
+ vm = Client::parse_response(RHEVM::client(@api_entrypoint)["/clusters/%s" % opts[:id]].get(headers)).root
+ [ RHEVM::Cluster::new(self, vm)]
+ else
+ Client::parse_response(RHEVM::client(@api_entrypoint)["/clusters"].get(headers)).xpath('/clusters/cluster').collect do |vm|
+ RHEVM::Cluster::new(self, vm)
+ end
end
- response
end
- def post(uri, params="")
+ def datacenters(opts={})
headers = {
- :authorization => "Basic " + Base64.encode64("#{@username}:#{@password}"),
- :accept => 'application/xml',
- :content_type => 'application/xml'
+ :accept => "application/xml"
}
- params = "<action/>" if params.size==0
- RestClient.post(uri, params, headers).to_s
+ headers.merge!(auth_header)
+ if opts[:id]
+ vm = Client::parse_response(RHEVM::client(@api_entrypoint)["/datacenters/%s" % opts[:id]].get(headers)).root
+ [ RHEVM::DataCenter::new(self, vm)]
+ else
+ Client::parse_response(RHEVM::client(@api_entrypoint)["/datacenters"].get(headers)).xpath('/data_centers/data_center').collect do |vm|
+ RHEVM::DataCenter::new(self, vm)
+ end
+ end
end
- def discover_entry_points()
- return if @discovered
- begin
- doc = Nokogiri.XML(get(@base_uri))
- rescue Exception => e
- raise ConnectionError::new(500, "RHEV-M Connection Error (#{@base_uri})", "#{e.message} (#{@base_uri})", e.backtrace)
- end
- doc.xpath('api/link').each() do |link|
- @entry_points[link['rel']] = @host + link['href']
+ def hosts(opts={})
+ headers = {
+ :accept => "application/xml"
+ }
+ headers.merge!(auth_header)
+ if opts[:id]
+ vm = Client::parse_response(RHEVM::client(@api_entrypoint)["/hosts/%s" % opts[:id]].get(headers)).root
+ [ RHEVM::Host::new(self, vm)]
+ else
+ Client::parse_response(RHEVM::client(@api_entrypoint)["/hosts"].get(headers)).xpath('/hosts/host').collect do |vm|
+ RHEVM::Host::new(self, vm)
+ end
end
- @discovered = true
end
- def read_fake_url(filename)
- fixture_file = "../tests/rhevm/support/fixtures/#{filename}"
- if File.exists?(fixture_file)
- return JSON::parse(File.read(fixture_file))
+ def storagedomains(opts={})
+ headers = {
+ :accept => "application/xml"
+ }
+ headers.merge!(auth_header)
+ if opts[:id]
+ vm = Client::parse_response(RHEVM::client(@api_entrypoint)["/storagedomains/%s" % opts[:id]].get(headers)).root
+ [ RHEVM::StorageDomain::new(self, vm)]
else
- raise FixtureNotFound.new
+ Client::parse_response(RHEVM::client(@api_entrypoint)["/storagedomains"].get(headers)).xpath('/storage_domains/storage_domain').collect do |vm|
+ RHEVM::StorageDomain::new(self, vm)
+ end
end
end
- def singularize(str)
- str.gsub(/s$/, '')
+ def auth_header
+ { :authorization => "Basic " + Base64.encode64("#{@credentials[:username]}:#{@credentials[:password]}"), }
+ end
+
+ def base_url
+ url = URI.parse(@api_entrypoint)
+ "#{url.scheme}://#{url.host}:#{url.port}"
+ end
+
+ def self.parse_response(response)
+ Nokogiri::XML(response)
end
end
- class BaseModel
- attr_accessor(:id, :href, :name)
+ class BaseObject
+ attr_accessor :id, :href, :name
+ attr_reader :client
- def initialize(client, xml)
+ def initialize(client, id, href, name)
+ @id, @href, @name = id, href, name
@client = client
- @id = xml[:id]
- @href = "#{@client.base_uri}#{xml[:href]}"
- @name = xml.xpath('name').text
+ self
end
+
end
- class StorageDomain < BaseModel
- attr_accessor(:status, :storage_type, :storage_address, :storage_path)
- attr_accessor(:name, :available, :used, :kind)
+ class Link
+ attr_accessor :id, :href, :client
- def initialize(client, xml)
- super(client, xml)
- @kind = xml.xpath('type').text
- @name = xml.xpath('name').text
- @storage_type = xml.xpath('storage/type').text
- @storage_address = xml.xpath('storage/address').text
- @storage_path = xml.xpath('storage/path').text
- @address = xml.xpath('storage/address').text
- @available = xml.xpath('available').text.to_f
- @used= xml.xpath('used').text.to_f
+ def initialize(client, id, href)
+ @id, @href = id, href
+ @client = client
+ end
+
+ def follow
+ xml = Client::parse_response(RHEVM::client(@client.base_url)[@href].get(@client.auth_header))
+ object_class = ::RHEVM.const_get(xml.root.name.camelize)
+ object_class.new(@client, (xml.root))
end
+
end
- class Vm < BaseModel
- attr_accessor(:status, :memory, :sockets, :cores, :bootdevs, :host, :cluster, :template, :vmpool, :profile)
- attr_accessor(:creation_time, :storage, :nics, :display)
+ class VM < BaseObject
+ attr_reader :description, :status, :memory, :profile, :display, :host, :cluster, :template, :macs
+ attr_reader :storage, :cores, :username, :creation_time
+ attr_reader :ip
def initialize(client, xml)
- super(client, xml)
- @status = xml.xpath('status').text
- @memory = xml.xpath('memory').text.to_f
- @profile = xml.xpath('type').text
- @sockets = xml.xpath('cpu/topology').first[:sockets] rescue ''
- @cores = xml.xpath('cpu/topology').first[:cores] rescue ''
- @bootdevs = []
- xml.xpath('os/boot').each do |boot|
- @bootdevs << boot[:dev]
- end
- @host = xml.xpath('host')[:id]
- @cluster = xml.xpath('cluster').first[:id]
- @template = xml.xpath('template').first[:id]
- @vmpool = xml.xpath('vmpool').first[:id] if xml.xpath('vmpool').size >0
- @creation_time = xml.xpath('creation_time').text
- storage_link = xml.xpath('link[@rel="disks"]').first[:href]
- disks_response = Nokogiri::XML(client.get("#{client.host}#{storage_link}"))
- @storage = disks_response.xpath('disks/disk/size').collect { |s| s.text.to_f }
- @storage = @storage.inject(nil) { |p, i| p ? p+i : i }
- @display = {
- :type => (xml/'display/type').text,
- :address => (xml/'display/address').text,
- :port => (xml/'display/port').text
- } if (xml/'display')
- @nics = get_nics(client, xml)
+ super(client, xml[:id], xml[:href], (xml/'name').first.text)
+ @username = client.credentials[:username]
+ parse_xml_attributes!(xml)
self
end
- def get_nics(client, xml)
- nics = []
- doc = Nokogiri::XML(client.get(client.host + (xml/'link[@rel="nics"]').first[:href]))
- (doc/'nics/nic').each do |nic|
- nics << {
- :mac => (nic/'mac').first[:address],
- :address => (nic/'ip').first ? (nic/'ip').first[:address] : nil
- }
- end
- nics
+ private
+
+ def parse_xml_attributes!(xml)
+ @description = (xml/'description').first.text
+ @status = (xml/'status').first.text
+ @memory = (xml/'memory').first.text
+ @profile = (xml/'type').first.text
+ @template = Link::new(@client, (xml/'template').first[:id], (xml/'template').first[:href])
+ @host = Link::new(@client, (xml/'host').first[:id], (xml/'host').first[:href]) rescue nil
+ @cluster = Link::new(@client, (xml/'cluster').first[:id], (xml/'cluster').first[:href])
+ @display = {
+ :type => (xml/'display/type').first.text,
+ :address => ((xml/'display/address').first.text rescue nil),
+ :port => ((xml/'display/port').first.text rescue nil),
+ :monitors => (xml/'display/monitors').first.text
+ }
+ @cores = ((xml/'cpu/topology').first[:cores] rescue nil)
+ @storage = ((xml/'disks/disk/size').first.text rescue nil)
+ @macs = (xml/'nics/nic/mac').collect { |mac| mac[:address] }
+ @creation_time = (xml/'creation_time').text
+ @ip = ((xml/'guest_info/ip').first[:address] rescue nil)
end
end
- class Template < BaseModel
- attr_accessor(:status, :memory, :name, :description)
-
+ class Template < BaseObject
+ attr_reader :description, :status, :cluster
+
def initialize(client, xml)
- super(client, xml)
- @status = (xml/'status').text
- @memory = (xml/'memory').text
- @description = (xml/'description').text
+ super(client, xml[:id], xml[:href], (xml/'name').first.text)
+ parse_xml_attributes!(xml)
+ self
end
- end
- class DataCenter < BaseModel
- attr_accessor :name, :storage_type, :description, :status
+ private
- def initialize(client, xml)
- super(client, xml)
- @name, @storage_type, @description = (xml/'name').text, (xml/'storage_type').text, (xml/'description').text
- @status = (xml/'status').text
+ def parse_xml_attributes!(xml)
+ @description = ((xml/'description').first.text rescue nil)
+ @status = (xml/'status').first.text
+ @cluster = Link::new(@client, (xml/'cluster').first[:id], (xml/'cluster').first[:href])
end
end
- class Cluster < BaseModel
- attr_accessor :name, :datacenter_id, :cpu
+ class Cluster < BaseObject
+ attr_reader :description, :datacenter
def initialize(client, xml)
- super(client, xml)
- @name = (xml/'name').text
- @datacenter_id = (xml/'data_center').first['id']
- @cpu = (xml/'cpu').first['id']
- @name = (xml/'name').text
+ super(client, xml[:id], xml[:href], (xml/'name').first.text)
+ parse_xml_attributes!(xml)
+ self
+ end
+
+ private
+
+ def parse_xml_attributes!(xml)
+ @description = ((xml/'description').first.text rescue nil)
+ @datacenter = Link::new(@client, (xml/'data_center').first[:id], (xml/'data_center').first[:href])
end
end
-end
+ class DataCenter < BaseObject
+ attr_reader :description, :status
-class String
+ def initialize(client, xml)
+ super(client, xml[:id], xml[:href], (xml/'name').first.text)
+ parse_xml_attributes!(xml)
+ self
+ end
- unless method_defined?(:classify)
- # Create a class name from string
- def classify
- self.singularize.camelize
+ private
+
+ def parse_xml_attributes!(xml)
+ @description = ((xml/'description').first.text rescue nil)
+ @status = (xml/'status').first.text
end
end
- unless method_defined?(:camelize)
- # Camelize converts strings to UpperCamelCase
- def camelize
- self.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
+ class Host < BaseObject
+ attr_reader :description, :status, :cluster
+
+ def initialize(client, xml)
+ super(client, xml[:id], xml[:href], (xml/'name').first.text)
+ parse_xml_attributes!(xml)
+ self
end
- end
- unless method_defined?(:singularize)
- # Strip 's' character from end of string
- def singularize
- self.gsub(/s$/, '')
+ private
+
+ def parse_xml_attributes!(xml)
+ @description = ((xml/'description').first.text rescue nil)
+ @status = (xml/'status').first.text
+ @clister = Link::new(@client, (xml/'cluster').first[:id], (xml/'cluster').first[:href])
end
end
- # Convert string to float if string value seems like Float
- def convert
- return self.to_f if self.strip =~ /^([\d\.]+$)/
- self
- end
+ class StorageDomain < BaseObject
+ attr_reader :available, :used, :kind, :address, :path
+
+ def initialize(client, xml)
+ super(client, xml[:id], xml[:href], (xml/'name').first.text)
+ parse_xml_attributes!(xml)
+ self
+ end
- # Simply converts whitespaces and - symbols to '_' which is safe for Ruby
- def sanitize
- self.strip.gsub(/(\W+)/, '_')
+ private
+
+ def parse_xml_attributes!(xml)
+ @available = (xml/'available').first.text
+ @used = (xml/'used').first.text
+ @kind = (xml/'storage/type').first.text
+ @address = ((xml/'storage/address').first.text rescue nil)
+ @path = ((xml/'storage/path').first.text rescue nil)
+ end
end
+
+end
+class String
+ unless method_defined?(:camelize)
+ # Camelize converts strings to UpperCamelCase
+ def camelize
+ self.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
+ end
+ end
end
+
Modified: incubator/deltacloud/trunk/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb?rev=1095516&r1=1095515&r2=1095516&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb (original)
+++ incubator/deltacloud/trunk/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb Wed Apr 20 21:25:31 2011
@@ -42,14 +42,14 @@ class RHEVMDriver < Deltacloud::BaseDriv
# Values like RAM or STORAGE are reported by VM
# so they are not static.
- define_hardware_profile 'SERVER' do
+ define_hardware_profile 'server' do
cpu ( 1..4 )
memory ( 512 .. 32*1024 )
storage ( 1 .. 100*1024 )
architecture 'x86_64'
end
- define_hardware_profile 'DESKTOP' do
+ define_hardware_profile 'desktop' do
cpu ( 1..4 )
memory ( 512 .. 32*1024 )
storage ( 1 .. 100*1024 )
@@ -77,13 +77,9 @@ class RHEVMDriver < Deltacloud::BaseDriv
start.to( :pending ) .automatically
pending.to( :running ) .automatically
pending.to( :stopped ) .automatically
- pending.to( :finish ) .on(:destroy)
stopped.to( :running ) .on( :start )
- stopped.to( :finish ) .on( :destroy )
- running.to( :running ) .on( :reboot )
running.to( :stopping ) .on( :stop )
- shutting_down.to( :stopped ) .automatically
- stopped.to( :finish ) .automatically
+ stopped.to( :finish ) .on( :destroy )
end
#
@@ -96,7 +92,7 @@ class RHEVMDriver < Deltacloud::BaseDriv
safely do
clusters = client.clusters
clusters.each do |r|
- d = client.datacenters(:id => r.datacenter_id)
+ d = client.datacenters(:id => r.datacenter.id).first
realm_arr << convert_realm(r, d)
end
end
@@ -123,7 +119,11 @@ class RHEVMDriver < Deltacloud::BaseDriv
client = new_client(credentials)
inst_arr = []
safely do
- vms = client.vms
+ if opts[:id]
+ vms = client.vms(:id => opts[:id])
+ else
+ vms = client.vms
+ end
vms.each do |vm|
inst_arr << convert_instance(client, vm)
end
@@ -135,21 +135,21 @@ class RHEVMDriver < Deltacloud::BaseDriv
def start_instance(credentials, id)
client = new_client(credentials)
safely do
- client.vm_action(:start, id)
+ raise "ERROR: Operation start failed" unless client.vm_action(id, :start)
end
end
def stop_instance(credentials, id)
client = new_client(credentials)
safely do
- client.vm_action(:shutdown, id)
+ raise "ERROR: Operation start failed" unless client.vm_action(id, :shutdown)
end
end
def destroy_instance(credentials, id)
client = new_client(credentials)
safely do
- client.delete_vm(id)
+ raise "ERROR: Operation start failed" unless client.vm_action(id, :delete)
end
end
@@ -167,29 +167,14 @@ class RHEVMDriver < Deltacloud::BaseDriv
def create_instance(credentials, image_id, opts={})
client = new_client(credentials)
+ params = {}
safely do
- # TODO: Add setting CPU topology here
- # FIXME: Condor is using GlobalJobId here as a name, which is malformed
- # and contains >50 characters
- #
- # FIXME: Memory calculation is wrong in Conductor, they are sending value/1024
- #
- vm_name = opts[:name] ? "<name>#{opts[:name].split("#").last}</name>" : "<name>#{Time.now.to_i}</name>"
- vm_template = "<template id='#{image_id}'/>"
- vm_cluster = opts[:realm_id] ? "<cluster id='#{opts[:realm_id]}'/>" : "<cluster id='0'/>"
- vm_type = opts[:hwp_id] ? "<type>#{opts[:hwp_id].upcase}</type>" : "<type>DESKTOP</type>"
- vm_memory = opts[:hwp_memory] ? "<memory>#{opts[:hwp_memory].to_i*1024*1024}</memory>" : ''
- vm_cpus = opts[:hwp_cpu] ? "<cpu><topology cores='#{opts[:hwp_cpu]}' sockets='1'/></cpu>" : ''
- xml = "<vm>"+
- vm_name +
- vm_template +
- vm_cluster +
- vm_type +
- vm_memory +
- vm_cpus +
- "</vm>"
- # TODO: Add storage here (it isn't supported by RHEV-M API so far)
- convert_instance(client, ::RHEVM::Vm::new(client, client.create_vm(xml)))
+ params[:name] = opts[:name] if opts[:name]
+ params[:realm_id] = opts[:realm_id] if opts[:realm_id]
+ params[:hwp_id] = opts[:hwp_id] if opts[:hwp_id]
+ params[:hwp_memory] = opts[:hwp_memory] if opts[:hwp_memory]
+ params[:hwp_cpu] = opts[:hwp_cpu] if opts[:hwp_cpu]
+ convert_instance(client, client.create_vm(image_id, params))
end
end
@@ -214,34 +199,25 @@ class RHEVMDriver < Deltacloud::BaseDriv
def convert_instance(client, inst)
state = convert_state(inst.status)
- storage_size = inst.storage.nil? ? 1 : (inst.storage/1024/1024)
+ storage_size = inst.storage.nil? ? 1 : (inst.storage.to_i/1048576/100)
profile = InstanceProfile::new(inst.profile,
- :hwp_memory => inst.memory/1024,
+ :hwp_memory => inst.memory.to_i/1024/1204,
:hwp_cpu => inst.cores,
:hwp_storage => "#{storage_size}"
)
# Include VNC and SPICE addresses
- if inst.display
- display_address = {
- :type => inst.display[:type],
- :address => inst.display[:address],
- :port => inst.display[:port]
- }
- end
- public_addresses = []
- unless inst.nics.empty?
- inst.nics.each do |nic|
- public_addresses << { :address => nic[:address], :mac => nic[:mac]}
- end
+ if inst.ip
+ public_addresses = [ inst.ip ]
+ else
+ public_addresses = [ inst.macs ]
end
- public_addresses << display_address if display_address
Instance.new(
:id => inst.id,
:name => inst.name,
:state => state,
- :image_id => inst.template,
- :realm_id => inst.cluster,
- :owner_id => client.username,
+ :image_id => inst.template.id,
+ :realm_id => inst.cluster.id,
+ :owner_id => inst.username,
:launch_time => inst.creation_time,
:instance_profile => profile,
:hardware_profile_id => profile.id,
@@ -260,12 +236,11 @@ class RHEVMDriver < Deltacloud::BaseDriv
def convert_state(state)
case state
when 'WAIT_FOR_LAUNCH', 'REBOOT_IN_PROGRESS', 'SAVING_STATE',
- 'RESTORING_STATE', 'POWERING_DOWN' then
+ 'RESTORING_STATE', 'POWERING_DOWN', 'POWERING_UP', 'IMAGE_LOCKED', 'SAVING_STATE' then
'PENDING'
- when 'UNASSIGNED', 'DOWN', 'POWERING_DOWN', 'PAUSED', 'NOT_RESPONDING', 'SAVING_STATE',
- 'SUSPENDED', 'IMAGE_ILLEGAL', 'IMAGE_LOCKED', 'UNKNOWN' then
+ when 'UNASSIGNED', 'DOWN', 'PAUSED', 'NOT_RESPONDING', 'SUSPENDED', 'IMAGE_ILLEGAL', 'UNKNOWN' then
'STOPPED'
- when 'POWERING_UP', 'UP', 'MIGRATING_TO', 'MIGRATING_FROM'
+ when 'UP', 'MIGRATING_TO', 'MIGRATING_FROM'
'RUNNING'
end
end
@@ -274,11 +249,11 @@ class RHEVMDriver < Deltacloud::BaseDriv
StorageVolume.new(
:id => volume.id,
:state => 'AVAILABLE',
- :capacity => ((volume.available-volume.used)/1024/1024).abs,
+ :capacity => ((volume.available.to_i-volume.used.to_i)/1024/1024).abs,
:instance_id => nil,
:kind => volume.kind,
:name => volume.name,
- :device => "#{volume.storage_address}:#{volume.storage_path}"
+ :device => volume.address ? "#{volume.address}:#{volume.path}" : nil
)
end
@@ -287,7 +262,7 @@ class RHEVMDriver < Deltacloud::BaseDriv
:id => img.id,
:name => img.name,
:description => img.description,
- :owner_id => client.username,
+ :owner_id => client.credentials[:username],
:architecture => 'x86_64', # All RHEV-M VMs are x86_64
:state => img.status
)
Added: incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/delete-1af892fbbfb755ca03f1811656cc8e3d1b420574.yml
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/delete-1af892fbbfb755ca03f1811656cc8e3d1b420574.yml?rev=1095516&view=auto
==============================================================================
--- incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/delete-1af892fbbfb755ca03f1811656cc8e3d1b420574.yml (added)
+++ incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/delete-1af892fbbfb755ca03f1811656cc8e3d1b420574.yml Wed Apr 20 21:25:31 2011
@@ -0,0 +1,135 @@
+---
+- !ruby/struct:VCR::HTTPInteraction
+ request: !ruby/struct:VCR::Request
+ method: :get
+ uri: https://rhev-m%40deltacloud.local:RedHat001@rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7
+ body:
+ headers:
+ accept:
+ - application/xml; detail=disks; detail=nics; detail=hosts
+ accept-encoding:
+ - gzip, deflate
+ response: !ruby/struct:VCR::Response
+ status: !ruby/struct:VCR::ResponseStatus
+ code: 200
+ message: OK
+ headers:
+ expires:
+ - Wed, 31 Dec 1969 16:00:00 PST
+ content-type:
+ - application/xml
+ server:
+ - Apache-Coyote/1.1
+ date:
+ - Wed, 20 Apr 2011 20:22:15 GMT
+ content-length:
+ - "3525"
+ cache-control:
+ - no-cache
+ pragma:
+ - No-cache
+ body: |
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+ <vm id="a4437689-0ede-4b61-ab96-6bbd97e81da7" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7">
+ <name>mock-test2</name>
+ <description>F14 Minimal installation with Ruby preinstalled</description>
+ <actions>
+ <link rel="migrate" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/migrate"/>
+ <link rel="export" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/export"/>
+ <link rel="ticket" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/ticket"/>
+ <link rel="shutdown" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/shutdown"/>
+ <link rel="start" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/start"/>
+ <link rel="stop" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/stop"/>
+ <link rel="suspend" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/suspend"/>
+ <link rel="detach" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/detach"/>
+ </actions>
+ <link rel="cdroms" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/cdroms"/>
+ <link rel="disks" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/disks"/>
+ <link rel="nics" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/nics"/>
+ <link rel="snapshots" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/snapshots"/>
+ <link rel="tags" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/tags"/>
+ <link rel="statistics" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/statistics"/>
+ <type>server</type>
+ <status>DOWN</status>
+ <memory>536870912</memory>
+ <cpu>
+ <topology cores="1" sockets="1"/>
+ </cpu>
+ <os type="OtherLinux">
+ <boot dev="hd"/>
+ </os>
+ <high_availability>
+ <enabled>false</enabled>
+ <priority>0</priority>
+ </high_availability>
+ <display>
+ <type>spice</type>
+ <port>5919</port>
+ <monitors>1</monitors>
+ </display>
+ <cluster id="0" href="/rhevm-api-powershell/clusters/0"/>
+ <template id="bb2e79bd-fd73-46a1-b391-a390b1998f03" href="/rhevm-api-powershell/templates/bb2e79bd-fd73-46a1-b391-a390b1998f03"/>
+ <creation_time>2011-04-20T13:18:00.000Z</creation_time>
+ <origin>rhev</origin>
+ <stateless>false</stateless>
+ <domain>
+ <name>deltacloud.local</name>
+ </domain>
+ <disks>
+ <disk id="b68b8d09-6696-4f16-ba71-5d11d68cf81d">
+ <description>_mock-test2_4/20/2011 1:18:26 PM</description>
+ <vm id="a4437689-0ede-4b61-ab96-6bbd97e81da7"/>
+ <size>1073741824</size>
+ <type>system</type>
+ <status>OK</status>
+ <interface>virtio</interface>
+ <format>cow</format>
+ <sparse>true</sparse>
+ <bootable>true</bootable>
+ <wipe_after_delete>false</wipe_after_delete>
+ <propagate_errors>false</propagate_errors>
+ </disk>
+ </disks>
+ <nics>
+ <nic id="60bd2833-83fd-4396-b677-6ee6b4613534">
+ <name>nic1</name>
+ <vm id="a4437689-0ede-4b61-ab96-6bbd97e81da7"/>
+ <network>
+ <name>rhevm</name>
+ </network>
+ <type>virtio</type>
+ <mac address="00:1a:4a:22:20:5f"/>
+ </nic>
+ </nics>
+ </vm>
+
+ http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction
+ request: !ruby/struct:VCR::Request
+ method: :delete
+ uri: https://rhev-m%40deltacloud.local:RedHat001@rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7
+ body:
+ headers:
+ accept:
+ - application/xml
+ content-type:
+ - application/xml
+ accept-encoding:
+ - gzip, deflate
+ response: !ruby/struct:VCR::Response
+ status: !ruby/struct:VCR::ResponseStatus
+ code: 204
+ message: No Content
+ headers:
+ expires:
+ - Wed, 31 Dec 1969 16:00:00 PST
+ server:
+ - Apache-Coyote/1.1
+ date:
+ - Wed, 20 Apr 2011 20:22:51 GMT
+ cache-control:
+ - no-cache
+ pragma:
+ - No-cache
+ body:
+ http_version: "1.1"
Added: incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/delete-9d3f53d21c21757854e4d7389936988c0926a9fa.yml
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/delete-9d3f53d21c21757854e4d7389936988c0926a9fa.yml?rev=1095516&view=auto
==============================================================================
--- incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/delete-9d3f53d21c21757854e4d7389936988c0926a9fa.yml (added)
+++ incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/delete-9d3f53d21c21757854e4d7389936988c0926a9fa.yml Wed Apr 20 21:25:31 2011
@@ -0,0 +1,135 @@
+---
+- !ruby/struct:VCR::HTTPInteraction
+ request: !ruby/struct:VCR::Request
+ method: :get
+ uri: https://rhev-m%40deltacloud.local:RedHat001@rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413
+ body:
+ headers:
+ accept:
+ - application/xml; detail=disks; detail=nics; detail=hosts
+ accept-encoding:
+ - gzip, deflate
+ response: !ruby/struct:VCR::Response
+ status: !ruby/struct:VCR::ResponseStatus
+ code: 200
+ message: OK
+ headers:
+ expires:
+ - Wed, 31 Dec 1969 16:00:00 PST
+ content-type:
+ - application/xml
+ server:
+ - Apache-Coyote/1.1
+ date:
+ - Wed, 20 Apr 2011 20:21:12 GMT
+ content-length:
+ - "3526"
+ cache-control:
+ - no-cache
+ pragma:
+ - No-cache
+ body: |
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+ <vm id="52ccd5ee-5a6e-4dea-8ed1-f26e57766413" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413">
+ <name>mock-test1</name>
+ <description>F14 Minimal installation with Ruby preinstalled</description>
+ <actions>
+ <link rel="migrate" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/migrate"/>
+ <link rel="export" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/export"/>
+ <link rel="ticket" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/ticket"/>
+ <link rel="shutdown" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/shutdown"/>
+ <link rel="start" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/start"/>
+ <link rel="stop" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/stop"/>
+ <link rel="suspend" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/suspend"/>
+ <link rel="detach" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/detach"/>
+ </actions>
+ <link rel="cdroms" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/cdroms"/>
+ <link rel="disks" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/disks"/>
+ <link rel="nics" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/nics"/>
+ <link rel="snapshots" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/snapshots"/>
+ <link rel="tags" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/tags"/>
+ <link rel="statistics" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/statistics"/>
+ <type>desktop</type>
+ <status>DOWN</status>
+ <memory>536870912</memory>
+ <cpu>
+ <topology cores="1" sockets="1"/>
+ </cpu>
+ <os type="OtherLinux">
+ <boot dev="hd"/>
+ </os>
+ <high_availability>
+ <enabled>false</enabled>
+ <priority>0</priority>
+ </high_availability>
+ <display>
+ <type>spice</type>
+ <port>5914</port>
+ <monitors>1</monitors>
+ </display>
+ <cluster id="0" href="/rhevm-api-powershell/clusters/0"/>
+ <template id="bb2e79bd-fd73-46a1-b391-a390b1998f03" href="/rhevm-api-powershell/templates/bb2e79bd-fd73-46a1-b391-a390b1998f03"/>
+ <creation_time>2011-04-20T13:18:00.000Z</creation_time>
+ <origin>rhev</origin>
+ <stateless>false</stateless>
+ <domain>
+ <name>deltacloud.local</name>
+ </domain>
+ <disks>
+ <disk id="5781a459-0055-4a01-8b6f-5886b6fac325">
+ <description>_mock-test1_4/20/2011 1:18:23 PM</description>
+ <vm id="52ccd5ee-5a6e-4dea-8ed1-f26e57766413"/>
+ <size>1073741824</size>
+ <type>system</type>
+ <status>OK</status>
+ <interface>virtio</interface>
+ <format>cow</format>
+ <sparse>true</sparse>
+ <bootable>true</bootable>
+ <wipe_after_delete>false</wipe_after_delete>
+ <propagate_errors>false</propagate_errors>
+ </disk>
+ </disks>
+ <nics>
+ <nic id="64ea1a12-03e0-46bf-a719-340301ff16ce">
+ <name>nic1</name>
+ <vm id="52ccd5ee-5a6e-4dea-8ed1-f26e57766413"/>
+ <network>
+ <name>rhevm</name>
+ </network>
+ <type>virtio</type>
+ <mac address="00:1a:4a:22:20:5e"/>
+ </nic>
+ </nics>
+ </vm>
+
+ http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction
+ request: !ruby/struct:VCR::Request
+ method: :delete
+ uri: https://rhev-m%40deltacloud.local:RedHat001@rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413
+ body:
+ headers:
+ accept:
+ - application/xml
+ content-type:
+ - application/xml
+ accept-encoding:
+ - gzip, deflate
+ response: !ruby/struct:VCR::Response
+ status: !ruby/struct:VCR::ResponseStatus
+ code: 204
+ message: No Content
+ headers:
+ expires:
+ - Wed, 31 Dec 1969 16:00:00 PST
+ server:
+ - Apache-Coyote/1.1
+ date:
+ - Wed, 20 Apr 2011 20:21:24 GMT
+ cache-control:
+ - no-cache
+ pragma:
+ - No-cache
+ body:
+ http_version: "1.1"
Added: incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-00aa4ce291425cddda060610af1e2b78b3cf33e3.yml
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-00aa4ce291425cddda060610af1e2b78b3cf33e3.yml?rev=1095516&view=auto
==============================================================================
--- incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-00aa4ce291425cddda060610af1e2b78b3cf33e3.yml (added)
+++ incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-00aa4ce291425cddda060610af1e2b78b3cf33e3.yml Wed Apr 20 21:25:31 2011
@@ -0,0 +1,109 @@
+---
+- !ruby/struct:VCR::HTTPInteraction
+ request: !ruby/struct:VCR::Request
+ method: :get
+ uri: https://rhev-m%40deltacloud.local:RedHat001@rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413
+ body:
+ headers:
+ accept:
+ - application/xml; detail=disks; detail=nics; detail=hosts
+ accept-encoding:
+ - gzip, deflate
+ response: !ruby/struct:VCR::Response
+ status: !ruby/struct:VCR::ResponseStatus
+ code: 200
+ message: OK
+ headers:
+ expires:
+ - Wed, 31 Dec 1969 16:00:00 PST
+ content-type:
+ - application/xml
+ server:
+ - Apache-Coyote/1.1
+ date:
+ - Wed, 20 Apr 2011 20:19:33 GMT
+ content-length:
+ - "3683"
+ cache-control:
+ - no-cache
+ pragma:
+ - No-cache
+ body: |
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+ <vm id="52ccd5ee-5a6e-4dea-8ed1-f26e57766413" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413">
+ <name>mock-test1</name>
+ <description>F14 Minimal installation with Ruby preinstalled</description>
+ <actions>
+ <link rel="migrate" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/migrate"/>
+ <link rel="export" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/export"/>
+ <link rel="ticket" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/ticket"/>
+ <link rel="shutdown" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/shutdown"/>
+ <link rel="start" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/start"/>
+ <link rel="stop" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/stop"/>
+ <link rel="suspend" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/suspend"/>
+ <link rel="detach" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/detach"/>
+ </actions>
+ <link rel="cdroms" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/cdroms"/>
+ <link rel="disks" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/disks"/>
+ <link rel="nics" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/nics"/>
+ <link rel="snapshots" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/snapshots"/>
+ <link rel="tags" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/tags"/>
+ <link rel="statistics" href="/rhevm-api-powershell/vms/52ccd5ee-5a6e-4dea-8ed1-f26e57766413/statistics"/>
+ <type>desktop</type>
+ <status>POWERING_UP</status>
+ <memory>536870912</memory>
+ <cpu>
+ <topology cores="1" sockets="1"/>
+ </cpu>
+ <os type="OtherLinux">
+ <boot dev="hd"/>
+ </os>
+ <high_availability>
+ <enabled>false</enabled>
+ <priority>0</priority>
+ </high_availability>
+ <display>
+ <type>spice</type>
+ <address>10.34.32.183</address>
+ <port>5914</port>
+ <monitors>1</monitors>
+ </display>
+ <host id="0" href="/rhevm-api-powershell/hosts/0"/>
+ <cluster id="0" href="/rhevm-api-powershell/clusters/0"/>
+ <template id="bb2e79bd-fd73-46a1-b391-a390b1998f03" href="/rhevm-api-powershell/templates/bb2e79bd-fd73-46a1-b391-a390b1998f03"/>
+ <start_time>2011-04-20T20:18:48.009Z</start_time>
+ <creation_time>2011-04-20T13:18:00.000Z</creation_time>
+ <origin>rhev</origin>
+ <stateless>false</stateless>
+ <domain>
+ <name>deltacloud.local</name>
+ </domain>
+ <disks>
+ <disk id="5781a459-0055-4a01-8b6f-5886b6fac325">
+ <description>_mock-test1_4/20/2011 1:18:23 PM</description>
+ <vm id="52ccd5ee-5a6e-4dea-8ed1-f26e57766413"/>
+ <size>1073741824</size>
+ <type>system</type>
+ <status>OK</status>
+ <interface>virtio</interface>
+ <format>cow</format>
+ <sparse>true</sparse>
+ <bootable>true</bootable>
+ <wipe_after_delete>false</wipe_after_delete>
+ <propagate_errors>false</propagate_errors>
+ </disk>
+ </disks>
+ <nics>
+ <nic id="64ea1a12-03e0-46bf-a719-340301ff16ce">
+ <name>nic1</name>
+ <vm id="52ccd5ee-5a6e-4dea-8ed1-f26e57766413"/>
+ <network>
+ <name>rhevm</name>
+ </network>
+ <type>virtio</type>
+ <mac address="00:1a:4a:22:20:5e"/>
+ </nic>
+ </nics>
+ </vm>
+
+ http_version: "1.1"
Added: incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-074acfab72ac40f5af853ff52dac39f9173c4307.yml
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-074acfab72ac40f5af853ff52dac39f9173c4307.yml?rev=1095516&view=auto
==============================================================================
--- incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-074acfab72ac40f5af853ff52dac39f9173c4307.yml (added)
+++ incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-074acfab72ac40f5af853ff52dac39f9173c4307.yml Wed Apr 20 21:25:31 2011
@@ -0,0 +1,109 @@
+---
+- !ruby/struct:VCR::HTTPInteraction
+ request: !ruby/struct:VCR::Request
+ method: :get
+ uri: https://rhev-m%40deltacloud.local:RedHat001@rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7
+ body:
+ headers:
+ accept:
+ - application/xml; detail=disks; detail=nics; detail=hosts
+ accept-encoding:
+ - gzip, deflate
+ response: !ruby/struct:VCR::Response
+ status: !ruby/struct:VCR::ResponseStatus
+ code: 200
+ message: OK
+ headers:
+ expires:
+ - Wed, 31 Dec 1969 16:00:00 PST
+ content-type:
+ - application/xml
+ server:
+ - Apache-Coyote/1.1
+ date:
+ - Wed, 20 Apr 2011 20:21:06 GMT
+ content-length:
+ - "3684"
+ cache-control:
+ - no-cache
+ pragma:
+ - No-cache
+ body: |
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+ <vm id="a4437689-0ede-4b61-ab96-6bbd97e81da7" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7">
+ <name>mock-test2</name>
+ <description>F14 Minimal installation with Ruby preinstalled</description>
+ <actions>
+ <link rel="migrate" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/migrate"/>
+ <link rel="export" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/export"/>
+ <link rel="ticket" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/ticket"/>
+ <link rel="shutdown" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/shutdown"/>
+ <link rel="start" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/start"/>
+ <link rel="stop" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/stop"/>
+ <link rel="suspend" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/suspend"/>
+ <link rel="detach" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/detach"/>
+ </actions>
+ <link rel="cdroms" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/cdroms"/>
+ <link rel="disks" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/disks"/>
+ <link rel="nics" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/nics"/>
+ <link rel="snapshots" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/snapshots"/>
+ <link rel="tags" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/tags"/>
+ <link rel="statistics" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/statistics"/>
+ <type>server</type>
+ <status>POWERING_DOWN</status>
+ <memory>536870912</memory>
+ <cpu>
+ <topology cores="1" sockets="1"/>
+ </cpu>
+ <os type="OtherLinux">
+ <boot dev="hd"/>
+ </os>
+ <high_availability>
+ <enabled>false</enabled>
+ <priority>0</priority>
+ </high_availability>
+ <display>
+ <type>spice</type>
+ <address>10.34.32.183</address>
+ <port>5919</port>
+ <monitors>1</monitors>
+ </display>
+ <host id="0" href="/rhevm-api-powershell/hosts/0"/>
+ <cluster id="0" href="/rhevm-api-powershell/clusters/0"/>
+ <template id="bb2e79bd-fd73-46a1-b391-a390b1998f03" href="/rhevm-api-powershell/templates/bb2e79bd-fd73-46a1-b391-a390b1998f03"/>
+ <start_time>2011-04-20T20:18:51.456Z</start_time>
+ <creation_time>2011-04-20T13:18:00.000Z</creation_time>
+ <origin>rhev</origin>
+ <stateless>false</stateless>
+ <domain>
+ <name>deltacloud.local</name>
+ </domain>
+ <disks>
+ <disk id="b68b8d09-6696-4f16-ba71-5d11d68cf81d">
+ <description>_mock-test2_4/20/2011 1:18:26 PM</description>
+ <vm id="a4437689-0ede-4b61-ab96-6bbd97e81da7"/>
+ <size>1073741824</size>
+ <type>system</type>
+ <status>OK</status>
+ <interface>virtio</interface>
+ <format>cow</format>
+ <sparse>true</sparse>
+ <bootable>true</bootable>
+ <wipe_after_delete>false</wipe_after_delete>
+ <propagate_errors>false</propagate_errors>
+ </disk>
+ </disks>
+ <nics>
+ <nic id="60bd2833-83fd-4396-b677-6ee6b4613534">
+ <name>nic1</name>
+ <vm id="a4437689-0ede-4b61-ab96-6bbd97e81da7"/>
+ <network>
+ <name>rhevm</name>
+ </network>
+ <type>virtio</type>
+ <mac address="00:1a:4a:22:20:5f"/>
+ </nic>
+ </nics>
+ </vm>
+
+ http_version: "1.1"
Modified: incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-0f50173e8cba941468c17039c11d63e940e351f7.yml
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-0f50173e8cba941468c17039c11d63e940e351f7.yml?rev=1095516&r1=1095515&r2=1095516&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-0f50173e8cba941468c17039c11d63e940e351f7.yml (original)
+++ incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-0f50173e8cba941468c17039c11d63e940e351f7.yml Wed Apr 20 21:25:31 2011
@@ -2,89 +2,11 @@
- !ruby/struct:VCR::HTTPInteraction
request: !ruby/struct:VCR::Request
method: :get
- uri: https://rhev-m%40deltacloud.local:RedHat001@rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell
- body:
- headers:
- accept:
- - application/xml
- accept-encoding:
- - gzip, deflate
- response: !ruby/struct:VCR::Response
- status: !ruby/struct:VCR::ResponseStatus
- code: 200
- message: OK
- headers:
- expires:
- - Wed, 31 Dec 1969 16:00:00 PST
- content-type:
- - application/xml
- server:
- - Apache-Coyote/1.1
- date:
- - Mon, 11 Apr 2011 16:17:39 GMT
- content-length:
- - "2163"
- link:
- - <https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/capabilities>; rel=capabilities,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/clusters>; rel=clusters,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/clusters?search={query}>; rel=clusters/search,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/datacenters>; rel=datacenters,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/datacenters?search={query}>; rel=datacenters/search,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/events>; rel=events,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/events?search={query}>; rel=events/search,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/hosts>; rel=hosts,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/hosts?search={query}>; rel=hosts/search,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/networks>; rel=ne
tworks,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/roles>; rel=roles,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/storagedomains>; rel=storagedomains,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/storagedomains?search={query}>; rel=storagedomains/search,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/tags>; rel=tags,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/templates>; rel=templates,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/templates?search={query}>; rel=templates/search,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/users>; rel=users,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/users?search={query}>; rel=users/search,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/vmpools>; rel=vmpools,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/vmpools?search={query}>; rel=vmpools/sea
rch,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/vms>; rel=vms,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/vms?search={query}>; rel=vms/search
- cache-control:
- - no-cache
- pragma:
- - No-cache
- body: |
- <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- <api>
- <link rel="capabilities" href="/rhevm-api-powershell/capabilities"/>
- <link rel="clusters" href="/rhevm-api-powershell/clusters"/>
- <link rel="clusters/search" href="/rhevm-api-powershell/clusters?search={query}"/>
- <link rel="datacenters" href="/rhevm-api-powershell/datacenters"/>
- <link rel="datacenters/search" href="/rhevm-api-powershell/datacenters?search={query}"/>
- <link rel="events" href="/rhevm-api-powershell/events"/>
- <link rel="events/search" href="/rhevm-api-powershell/events?search={query}"/>
- <link rel="hosts" href="/rhevm-api-powershell/hosts"/>
- <link rel="hosts/search" href="/rhevm-api-powershell/hosts?search={query}"/>
- <link rel="networks" href="/rhevm-api-powershell/networks"/>
- <link rel="roles" href="/rhevm-api-powershell/roles"/>
- <link rel="storagedomains" href="/rhevm-api-powershell/storagedomains"/>
- <link rel="storagedomains/search" href="/rhevm-api-powershell/storagedomains?search={query}"/>
- <link rel="tags" href="/rhevm-api-powershell/tags"/>
- <link rel="templates" href="/rhevm-api-powershell/templates"/>
- <link rel="templates/search" href="/rhevm-api-powershell/templates?search={query}"/>
- <link rel="users" href="/rhevm-api-powershell/users"/>
- <link rel="users/search" href="/rhevm-api-powershell/users?search={query}"/>
- <link rel="vmpools" href="/rhevm-api-powershell/vmpools"/>
- <link rel="vmpools/search" href="/rhevm-api-powershell/vmpools?search={query}"/>
- <link rel="vms" href="/rhevm-api-powershell/vms"/>
- <link rel="vms/search" href="/rhevm-api-powershell/vms?search={query}"/>
- <system_version revision="51796" build="4" minor="2" major="2"/>
- <summary>
- <vms>
- <total>10</total>
- <active>10</active>
- </vms>
- <hosts>
- <total>1</total>
- <active>1</active>
- </hosts>
- <users>
- <total>5</total>
- <active>4</active>
- </users>
- <storage_domains>
- <total>2</total>
- <active>2</active>
- </storage_domains>
- </summary>
- </api>
-
- http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
- request: !ruby/struct:VCR::Request
- method: :get
uri: https://rhev-m%40deltacloud.local:RedHat001@rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/clusters
body:
headers:
accept:
- - application/xml
+ - application/xml; detail=datacenters
accept-encoding:
- gzip, deflate
response: !ruby/struct:VCR::Response
@@ -99,7 +21,7 @@
server:
- Apache-Coyote/1.1
date:
- - Mon, 11 Apr 2011 16:17:39 GMT
+ - Wed, 20 Apr 2011 20:23:22 GMT
content-length:
- "738"
cache-control:
@@ -148,7 +70,7 @@
server:
- Apache-Coyote/1.1
date:
- - Mon, 11 Apr 2011 16:17:39 GMT
+ - Wed, 20 Apr 2011 20:23:22 GMT
content-length:
- "707"
cache-control:
@@ -162,7 +84,7 @@
<description>The default Data Center</description>
<link rel="files" href="/rhevm-api-powershell/datacenters/ae5ff258-82f3-4cf6-8280-8f685ac068ac/files"/>
<link rel="storagedomains" href="/rhevm-api-powershell/datacenters/ae5ff258-82f3-4cf6-8280-8f685ac068ac/storagedomains"/>
- <storage_type>ISCSI</storage_type>
+ <storage_type>iscsi</storage_type>
<version minor="2" major="2"/>
<supported_versions>
<version minor="2" major="2"/>
Modified: incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-163a76f09d41670494c54dcd2eab373a5588683d.yml
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-163a76f09d41670494c54dcd2eab373a5588683d.yml?rev=1095516&r1=1095515&r2=1095516&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-163a76f09d41670494c54dcd2eab373a5588683d.yml (original)
+++ incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-163a76f09d41670494c54dcd2eab373a5588683d.yml Wed Apr 20 21:25:31 2011
@@ -2,89 +2,11 @@
- !ruby/struct:VCR::HTTPInteraction
request: !ruby/struct:VCR::Request
method: :get
- uri: https://rhev-m%40deltacloud.local:RedHat001@rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell
- body:
- headers:
- accept:
- - application/xml
- accept-encoding:
- - gzip, deflate
- response: !ruby/struct:VCR::Response
- status: !ruby/struct:VCR::ResponseStatus
- code: 200
- message: OK
- headers:
- expires:
- - Wed, 31 Dec 1969 16:00:00 PST
- content-type:
- - application/xml
- server:
- - Apache-Coyote/1.1
- date:
- - Mon, 11 Apr 2011 16:13:39 GMT
- content-length:
- - "2163"
- link:
- - <https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/capabilities>; rel=capabilities,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/clusters>; rel=clusters,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/clusters?search={query}>; rel=clusters/search,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/datacenters>; rel=datacenters,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/datacenters?search={query}>; rel=datacenters/search,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/events>; rel=events,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/events?search={query}>; rel=events/search,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/hosts>; rel=hosts,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/hosts?search={query}>; rel=hosts/search,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/networks>; rel=ne
tworks,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/roles>; rel=roles,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/storagedomains>; rel=storagedomains,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/storagedomains?search={query}>; rel=storagedomains/search,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/tags>; rel=tags,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/templates>; rel=templates,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/templates?search={query}>; rel=templates/search,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/users>; rel=users,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/users?search={query}>; rel=users/search,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/vmpools>; rel=vmpools,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/vmpools?search={query}>; rel=vmpools/sea
rch,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/vms>; rel=vms,<https://rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/vms?search={query}>; rel=vms/search
- cache-control:
- - no-cache
- pragma:
- - No-cache
- body: |
- <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- <api>
- <link rel="capabilities" href="/rhevm-api-powershell/capabilities"/>
- <link rel="clusters" href="/rhevm-api-powershell/clusters"/>
- <link rel="clusters/search" href="/rhevm-api-powershell/clusters?search={query}"/>
- <link rel="datacenters" href="/rhevm-api-powershell/datacenters"/>
- <link rel="datacenters/search" href="/rhevm-api-powershell/datacenters?search={query}"/>
- <link rel="events" href="/rhevm-api-powershell/events"/>
- <link rel="events/search" href="/rhevm-api-powershell/events?search={query}"/>
- <link rel="hosts" href="/rhevm-api-powershell/hosts"/>
- <link rel="hosts/search" href="/rhevm-api-powershell/hosts?search={query}"/>
- <link rel="networks" href="/rhevm-api-powershell/networks"/>
- <link rel="roles" href="/rhevm-api-powershell/roles"/>
- <link rel="storagedomains" href="/rhevm-api-powershell/storagedomains"/>
- <link rel="storagedomains/search" href="/rhevm-api-powershell/storagedomains?search={query}"/>
- <link rel="tags" href="/rhevm-api-powershell/tags"/>
- <link rel="templates" href="/rhevm-api-powershell/templates"/>
- <link rel="templates/search" href="/rhevm-api-powershell/templates?search={query}"/>
- <link rel="users" href="/rhevm-api-powershell/users"/>
- <link rel="users/search" href="/rhevm-api-powershell/users?search={query}"/>
- <link rel="vmpools" href="/rhevm-api-powershell/vmpools"/>
- <link rel="vmpools/search" href="/rhevm-api-powershell/vmpools?search={query}"/>
- <link rel="vms" href="/rhevm-api-powershell/vms"/>
- <link rel="vms/search" href="/rhevm-api-powershell/vms?search={query}"/>
- <system_version revision="51796" build="4" minor="2" major="2"/>
- <summary>
- <vms>
- <total>10</total>
- <active>10</active>
- </vms>
- <hosts>
- <total>1</total>
- <active>1</active>
- </hosts>
- <users>
- <total>5</total>
- <active>4</active>
- </users>
- <storage_domains>
- <total>2</total>
- <active>2</active>
- </storage_domains>
- </summary>
- </api>
-
- http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
- request: !ruby/struct:VCR::Request
- method: :get
uri: https://rhev-m%40deltacloud.local:RedHat001@rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/clusters
body:
headers:
accept:
- - application/xml
+ - application/xml; detail=datacenters
accept-encoding:
- gzip, deflate
response: !ruby/struct:VCR::Response
@@ -99,7 +21,7 @@
server:
- Apache-Coyote/1.1
date:
- - Mon, 11 Apr 2011 16:13:39 GMT
+ - Wed, 20 Apr 2011 20:18:12 GMT
content-length:
- "738"
cache-control:
@@ -148,7 +70,7 @@
server:
- Apache-Coyote/1.1
date:
- - Mon, 11 Apr 2011 16:13:39 GMT
+ - Wed, 20 Apr 2011 20:18:12 GMT
content-length:
- "707"
cache-control:
@@ -162,7 +84,7 @@
<description>The default Data Center</description>
<link rel="files" href="/rhevm-api-powershell/datacenters/ae5ff258-82f3-4cf6-8280-8f685ac068ac/files"/>
<link rel="storagedomains" href="/rhevm-api-powershell/datacenters/ae5ff258-82f3-4cf6-8280-8f685ac068ac/storagedomains"/>
- <storage_type>ISCSI</storage_type>
+ <storage_type>iscsi</storage_type>
<version minor="2" major="2"/>
<supported_versions>
<version minor="2" major="2"/>
Added: incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-33a70f1ed1ea33cb209804a2470bb87278c06c8a.yml
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-33a70f1ed1ea33cb209804a2470bb87278c06c8a.yml?rev=1095516&view=auto
==============================================================================
--- incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-33a70f1ed1ea33cb209804a2470bb87278c06c8a.yml (added)
+++ incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-33a70f1ed1ea33cb209804a2470bb87278c06c8a.yml Wed Apr 20 21:25:31 2011
@@ -0,0 +1,105 @@
+---
+- !ruby/struct:VCR::HTTPInteraction
+ request: !ruby/struct:VCR::Request
+ method: :get
+ uri: https://rhev-m%40deltacloud.local:RedHat001@rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7
+ body:
+ headers:
+ accept:
+ - application/xml; detail=disks; detail=nics; detail=hosts
+ accept-encoding:
+ - gzip, deflate
+ response: !ruby/struct:VCR::Response
+ status: !ruby/struct:VCR::ResponseStatus
+ code: 200
+ message: OK
+ headers:
+ expires:
+ - Wed, 31 Dec 1969 16:00:00 PST
+ content-type:
+ - application/xml
+ server:
+ - Apache-Coyote/1.1
+ date:
+ - Wed, 20 Apr 2011 20:18:40 GMT
+ content-length:
+ - "3499"
+ cache-control:
+ - no-cache
+ pragma:
+ - No-cache
+ body: |
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+ <vm id="a4437689-0ede-4b61-ab96-6bbd97e81da7" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7">
+ <name>mock-test2</name>
+ <description>F14 Minimal installation with Ruby preinstalled</description>
+ <actions>
+ <link rel="migrate" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/migrate"/>
+ <link rel="export" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/export"/>
+ <link rel="ticket" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/ticket"/>
+ <link rel="shutdown" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/shutdown"/>
+ <link rel="start" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/start"/>
+ <link rel="stop" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/stop"/>
+ <link rel="suspend" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/suspend"/>
+ <link rel="detach" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/detach"/>
+ </actions>
+ <link rel="cdroms" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/cdroms"/>
+ <link rel="disks" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/disks"/>
+ <link rel="nics" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/nics"/>
+ <link rel="snapshots" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/snapshots"/>
+ <link rel="tags" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/tags"/>
+ <link rel="statistics" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/statistics"/>
+ <type>server</type>
+ <status>DOWN</status>
+ <memory>536870912</memory>
+ <cpu>
+ <topology cores="1" sockets="1"/>
+ </cpu>
+ <os type="OtherLinux">
+ <boot dev="hd"/>
+ </os>
+ <high_availability>
+ <enabled>false</enabled>
+ <priority>0</priority>
+ </high_availability>
+ <display>
+ <type>spice</type>
+ <monitors>1</monitors>
+ </display>
+ <cluster id="0" href="/rhevm-api-powershell/clusters/0"/>
+ <template id="bb2e79bd-fd73-46a1-b391-a390b1998f03" href="/rhevm-api-powershell/templates/bb2e79bd-fd73-46a1-b391-a390b1998f03"/>
+ <creation_time>2011-04-20T13:18:00.000Z</creation_time>
+ <origin>rhev</origin>
+ <stateless>false</stateless>
+ <domain>
+ <name>deltacloud.local</name>
+ </domain>
+ <disks>
+ <disk id="b68b8d09-6696-4f16-ba71-5d11d68cf81d">
+ <description>_mock-test2_4/20/2011 1:18:26 PM</description>
+ <vm id="a4437689-0ede-4b61-ab96-6bbd97e81da7"/>
+ <size>1073741824</size>
+ <type>system</type>
+ <status>OK</status>
+ <interface>virtio</interface>
+ <format>cow</format>
+ <sparse>true</sparse>
+ <bootable>true</bootable>
+ <wipe_after_delete>false</wipe_after_delete>
+ <propagate_errors>false</propagate_errors>
+ </disk>
+ </disks>
+ <nics>
+ <nic id="60bd2833-83fd-4396-b677-6ee6b4613534">
+ <name>nic1</name>
+ <vm id="a4437689-0ede-4b61-ab96-6bbd97e81da7"/>
+ <network>
+ <name>rhevm</name>
+ </network>
+ <type>virtio</type>
+ <mac address="00:1a:4a:22:20:5f"/>
+ </nic>
+ </nics>
+ </vm>
+
+ http_version: "1.1"
Added: incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-37f932402c97a6c4549f109edb33055fe6781cf1.yml
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-37f932402c97a6c4549f109edb33055fe6781cf1.yml?rev=1095516&view=auto
==============================================================================
--- incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-37f932402c97a6c4549f109edb33055fe6781cf1.yml (added)
+++ incubator/deltacloud/trunk/server/tests/drivers/rhevm/fixtures/get-37f932402c97a6c4549f109edb33055fe6781cf1.yml Wed Apr 20 21:25:31 2011
@@ -0,0 +1,105 @@
+---
+- !ruby/struct:VCR::HTTPInteraction
+ request: !ruby/struct:VCR::Request
+ method: :get
+ uri: https://rhev-m%40deltacloud.local:RedHat001@rhev-dc.lab.eng.brq.redhat.com:8443/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7
+ body:
+ headers:
+ accept:
+ - application/xml; detail=disks; detail=nics; detail=hosts
+ accept-encoding:
+ - gzip, deflate
+ response: !ruby/struct:VCR::Response
+ status: !ruby/struct:VCR::ResponseStatus
+ code: 200
+ message: OK
+ headers:
+ expires:
+ - Wed, 31 Dec 1969 16:00:00 PST
+ content-type:
+ - application/xml
+ server:
+ - Apache-Coyote/1.1
+ date:
+ - Wed, 20 Apr 2011 20:18:39 GMT
+ content-length:
+ - "3499"
+ cache-control:
+ - no-cache
+ pragma:
+ - No-cache
+ body: |
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+ <vm id="a4437689-0ede-4b61-ab96-6bbd97e81da7" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7">
+ <name>mock-test2</name>
+ <description>F14 Minimal installation with Ruby preinstalled</description>
+ <actions>
+ <link rel="migrate" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/migrate"/>
+ <link rel="export" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/export"/>
+ <link rel="ticket" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/ticket"/>
+ <link rel="shutdown" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/shutdown"/>
+ <link rel="start" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/start"/>
+ <link rel="stop" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/stop"/>
+ <link rel="suspend" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/suspend"/>
+ <link rel="detach" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/detach"/>
+ </actions>
+ <link rel="cdroms" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/cdroms"/>
+ <link rel="disks" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/disks"/>
+ <link rel="nics" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/nics"/>
+ <link rel="snapshots" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/snapshots"/>
+ <link rel="tags" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/tags"/>
+ <link rel="statistics" href="/rhevm-api-powershell/vms/a4437689-0ede-4b61-ab96-6bbd97e81da7/statistics"/>
+ <type>server</type>
+ <status>DOWN</status>
+ <memory>536870912</memory>
+ <cpu>
+ <topology cores="1" sockets="1"/>
+ </cpu>
+ <os type="OtherLinux">
+ <boot dev="hd"/>
+ </os>
+ <high_availability>
+ <enabled>false</enabled>
+ <priority>0</priority>
+ </high_availability>
+ <display>
+ <type>spice</type>
+ <monitors>1</monitors>
+ </display>
+ <cluster id="0" href="/rhevm-api-powershell/clusters/0"/>
+ <template id="bb2e79bd-fd73-46a1-b391-a390b1998f03" href="/rhevm-api-powershell/templates/bb2e79bd-fd73-46a1-b391-a390b1998f03"/>
+ <creation_time>2011-04-20T13:18:00.000Z</creation_time>
+ <origin>rhev</origin>
+ <stateless>false</stateless>
+ <domain>
+ <name>deltacloud.local</name>
+ </domain>
+ <disks>
+ <disk id="b68b8d09-6696-4f16-ba71-5d11d68cf81d">
+ <description>_mock-test2_4/20/2011 1:18:26 PM</description>
+ <vm id="a4437689-0ede-4b61-ab96-6bbd97e81da7"/>
+ <size>1073741824</size>
+ <type>system</type>
+ <status>OK</status>
+ <interface>virtio</interface>
+ <format>cow</format>
+ <sparse>true</sparse>
+ <bootable>true</bootable>
+ <wipe_after_delete>false</wipe_after_delete>
+ <propagate_errors>false</propagate_errors>
+ </disk>
+ </disks>
+ <nics>
+ <nic id="60bd2833-83fd-4396-b677-6ee6b4613534">
+ <name>nic1</name>
+ <vm id="a4437689-0ede-4b61-ab96-6bbd97e81da7"/>
+ <network>
+ <name>rhevm</name>
+ </network>
+ <type>virtio</type>
+ <mac address="00:1a:4a:22:20:5f"/>
+ </nic>
+ </nics>
+ </vm>
+
+ http_version: "1.1"