You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by Oved Ourfali <oo...@redhat.com> on 2012/12/10 11:07:01 UTC
[PATCH] ovirt driver: support user-level API
This patch contains the necessary changes to support the oVirt engine
user-level API.
The current way of configuring that is to use the API_PROVIDER
environment variable:
1. API_PROVIDER="http://server:port/api;;USER" - User API (no DC-id)
2. API_PROVIDER="http://server:port/api" - no DC-id, Admin API
3. API_PROVIDER="http://server:port/api;dc-id;USER" - User API (dc-id is
ignored by rbovirt)
4. API_PROVIDER="http://server:port/api;dc-id" - Admin API working in a specific
DC scope
---
server/deltacloud-core.gemspec | 2 +-
server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb | 9 +++++++--
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/server/deltacloud-core.gemspec b/server/deltacloud-core.gemspec
index 7d645dd..67ae8eb 100644
--- a/server/deltacloud-core.gemspec
+++ b/server/deltacloud-core.gemspec
@@ -85,7 +85,7 @@ Gem::Specification.new do |s|
# dependencies for various cloud providers:
# RHEV-M and oVirt
- s.add_dependency('rbovirt', '>=0.0.13')
+ s.add_dependency('rbovirt', '>=0.0.16')
# Amazon EC2 S3
s.add_dependency('aws', '>=2.6.0')
diff --git a/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb b/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb
index 37e6622..a765a7b 100644
--- a/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb
+++ b/server/lib/deltacloud/drivers/rhevm/rhevm_driver.rb
@@ -208,8 +208,13 @@ class RhevmDriver < Deltacloud::BaseDriver
def new_client(credentials)
safely do
raise 'No API provider set for this request.' unless api_provider
- url, datacenter = api_provider.split(';')
- OVIRT::Client.new(credentials.user, credentials.password, url, datacenter)
+ url, datacenter, filtered = api_provider.split(';')
+ if filtered.nil?
+ OVIRT::Client.new(credentials.user, credentials.password, url, datacenter)
+ else
+ filtered_api = filtered.upcase == 'USER'
+ OVIRT::Client.new(credentials.user, credentials.password, url, datacenter, nil, filtered_api)
+ end
end
end
--
1.7.11.2