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/05 15:20:32 UTC
svn commit: r1089029 - in
/incubator/deltacloud/trunk/server/lib/deltacloud/drivers/rhevm:
rhevm_client.rb rhevm_driver.rb
Author: mfojtik
Date: Tue Apr 5 13:20:31 2011
New Revision: 1089029
URL: http://svn.apache.org/viewvc?rev=1089029&view=rev
Log:
Fixed XML for create_instance in RHEV-M driver
Modified:
incubator/deltacloud/trunk/server/lib/deltacloud/drivers/rhevm/rhevm_client.rb
incubator/deltacloud/trunk/server/lib/deltacloud/drivers/rhevm/rhevm_driver.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=1089029&r1=1089028&r2=1089029&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 Tue Apr 5 13:20:31 2011
@@ -91,7 +91,7 @@ module RHEVM
end
def create_vm(opts="")
- Nokogiri::XML(post("#{@base_uri}/vms", opts))
+ (Nokogiri::XML(post("#{@base_uri}/vms", opts))/'vm').first
end
def delete_vm(id)
@@ -114,7 +114,6 @@ module RHEVM
if ENV['RACK_ENV'] == 'test'
response = mock_request(:get, uri, {}, headers)
else
- puts "[RHEV-M] #{uri}"
begin
response = RestClient.get(uri, headers).to_s
rescue Exception => e
@@ -155,7 +154,6 @@ module RHEVM
def read_fake_url(filename)
fixture_file = "../tests/rhevm/support/fixtures/#{filename}"
if File.exists?(fixture_file)
- puts "Using fixture: #{fixture_file}"
return JSON::parse(File.read(fixture_file))
else
raise FixtureNotFound.new
@@ -183,7 +181,6 @@ module RHEVM
}
fixtures_dir = "../tests/rhevm/support/fixtures/"
FileUtils.mkdir_p(fixtures_dir)
- puts "Saving fixture #{fixture_filename}"
File.open(File::join(fixtures_dir, fixture_filename), 'w') do |f|
f.puts [request_uri, http_method, response].to_json
end and retry
@@ -257,8 +254,6 @@ module RHEVM
self
end
- private
-
def get_nics(client, xml)
nics = []
doc = Nokogiri::XML(client.get(client.host + (xml/'link[@rel="nics"]').first[:href]))
@@ -343,3 +338,5 @@ class String
end
end
+
+require "lib/deltacloud/drivers/rhevm/rhevm_ip_helper"
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=1089029&r1=1089028&r2=1089029&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 Tue Apr 5 13:20:31 2011
@@ -178,13 +178,19 @@ class RHEVMDriver < Deltacloud::BaseDriv
client = new_client(credentials)
safely do
# TODO: Add setting CPU topology here
- vm_name = opts[:name] ? "<name>#{opts[:name]}</name>" : ""
+ # 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. Original line is here.
+ 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]}</type>" : "<type>DESKTOP</type>"
- vm_memory = opts[:hwp_memory] ? "<memory>#{opts[:hwp_memory].to_i*1024*1024}</memory>" : "<memory>#{512*1024*1024}</memory>"
- vm_cpus = opts[:hwp_cpu] ? "<cpu><topology cores='#{opts[:hwp_cpu]}' sockets='1'/></cpu>" : "<cpu><topology cores='1' sockets='1'/></cpu>"
- post_body = "<vm>"+
+ 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_memory = opts[:hwp_memory] ? "<memory>#{opts[:hwp_memory].to_i*1024}</memory>" : '' # Conductor workaround
+ vm_cpus = opts[:hwp_cpu] ? "<cpu><topology cores='#{opts[:hwp_cpu]}' sockets='1'/></cpu>" : ''
+ xml = "<vm>"+
vm_name +
vm_template +
vm_cluster +
@@ -192,7 +198,8 @@ class RHEVMDriver < Deltacloud::BaseDriv
vm_memory +
vm_cpus +
"</vm>"
- convert_instance(client, ::RHEVM::Vm::new(client, client.create_vm(post_body).xpath('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)))
end
end
@@ -210,9 +217,9 @@ class RHEVMDriver < Deltacloud::BaseDriv
def new_client(credentials)
url = (Thread.current[:provider] || ENV['API_PROVIDER'] || provider_uri)
- safely do
+ #safely do
::RHEVM::Client.new(credentials.user, credentials.password, url)
- end
+ #end
end
def convert_instance(client, inst)
@@ -311,7 +318,7 @@ class RHEVMDriver < Deltacloud::BaseDriv
def catched_exceptions_list
{
:auth => RestClient::Unauthorized,
- :error => RestClient::InternalServerError,
+ :error => RestClient::InternalServerError
:glob => [ /(RestClient|RHEVM)::(\w+)/ ]
}
end