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 2012/11/12 11:41:12 UTC
git commit: read machine name from json body; default realm for fgcp
Updated Branches:
refs/heads/master d7258e2a3 -> 798dfe9e5
read machine name from json body; default realm for fgcp
Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/798dfe9e
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/798dfe9e
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/798dfe9e
Branch: refs/heads/master
Commit: 798dfe9e54af3d3ad748fe04263d13db53b9566e
Parents: d7258e2
Author: Dies Koper <di...@fast.au.fujitsu.com>
Authored: Sat Nov 10 13:41:40 2012 +1100
Committer: Michal fojtik <mf...@redhat.com>
Committed: Mon Nov 12 11:31:35 2012 +0100
----------------------------------------------------------------------
server/lib/cimi/models/machine.rb | 16 +++++++++---
server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb | 21 +++++++++++++---
2 files changed, 29 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/798dfe9e/server/lib/cimi/models/machine.rb
----------------------------------------------------------------------
diff --git a/server/lib/cimi/models/machine.rb b/server/lib/cimi/models/machine.rb
index 63520a8..c6865b6 100644
--- a/server/lib/cimi/models/machine.rb
+++ b/server/lib/cimi/models/machine.rb
@@ -47,9 +47,17 @@ class CIMI::Model::Machine < CIMI::Model::Base
def self.create_from_json(body, context)
json = JSON.parse(body)
- hardware_profile_id = json['machineTemplate']['machineConfig']["href"].split('/').last
- image_id = json['machineTemplate']['machineImage']["href"].split('/').last
- instance = context.driver.create_instance(context.credentials, image_id, { :hwp_id => hardware_profile_id })
+ machine_template = json['machineTemplate']
+ hardware_profile_id = machine_template['machineConfig']["href"].split('/').last
+ image_id = machine_template['machineImage']["href"].split('/').last
+ additional_params = {}
+ additional_params[:name] = json['name'] if json['name']
+ if machine_template.has_key? 'credential'
+ additional_params[:keyname] = machine_template['credential']["href"].split('/').last
+ end
+ instance = context.driver.create_instance(context.credentials, image_id, {
+ :hwp_id => hardware_profile_id
+ }.merge(additional_params))
from_instance(instance, context)
end
@@ -59,7 +67,7 @@ class CIMI::Model::Machine < CIMI::Model::Base
hardware_profile_id = machine_template['machineConfig'][0]["href"].split('/').last
image_id = machine_template['machineImage'][0]["href"].split('/').last
additional_params = {}
- additional_params[:name] =xml['name'][0] if xml['name']
+ additional_params[:name] = xml['name'][0] if xml['name']
if machine_template.has_key? 'credential'
additional_params[:keyname] = machine_template['credential'][0]["href"].split('/').last
end
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/798dfe9e/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb b/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb
index 7399c13..24ba6ae 100644
--- a/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb
+++ b/server/lib/deltacloud/drivers/fgcp/fgcp_driver.rb
@@ -349,6 +349,12 @@ class FgcpDriver < Deltacloud::BaseDriver
network_id = opts[:realm_id]
safely do
client = new_client(credentials)
+ if not network_id
+ xml = client.list_vsys['vsyss']
+
+ # use first returned system's DMZ as realm
+ network_id = xml ? xml[0]['vsys'][0]['vsysId'][0] + '-N-DMZ' : nil
+ end
xml = client.create_vserver(name, hwp, image_id, network_id)
# returns vserver details
instances(credentials, {:id => xml['vserverId'][0]}).first
@@ -485,7 +491,7 @@ class FgcpDriver < Deltacloud::BaseDriver
elsif xml = client.list_vsys['vsyss']
# use first vsys returned as realm
- opts[:realm_id] = xml[0]['vsys'][0]['vsysId'][0]
+ opts[:realm_id] = xml[0]['vsys'][0]['vsysId'][0] if xml
end
vdisk_id = client.create_vdisk(opts[:realm_id], opts[:name], opts[:capacity])['vdiskId'][0]
@@ -700,8 +706,8 @@ class FgcpDriver < Deltacloud::BaseDriver
opts[:realm_id] = client.extract_vsys_id(opts[:realm_id])
else
# get first vsys
- xml = client.list_vsys
- opts[:realm_id] = xml['vsyss'][0]['vsys'][0]['vsysId'][0] if xml['vsyss']
+ xml = client.list_vsys['vsyss']
+ opts[:realm_id] = xml[0]['vsys'][0]['vsysId'][0] if xml
end
client.allocate_public_ip(opts[:realm_id])
@@ -1191,6 +1197,12 @@ eofwopxml
# if opts['realm_id'].nil? network id specified, pick first vsys' DMZ?
# CreateEFM -vsysId vsysId -efmType SLB -efmName opts['name'] -networkId opts['realm_id']
network_id = opts[:realm_id]
+ if not network_id
+ xml = client.list_vsys['vsyss']
+
+ # use first returned system's DMZ as realm
+ network_id = xml ? xml[0]['vsys'][0]['vsysId'][0] + '-N-DMZ' : nil
+ end
efm = client.create_efm('SLB', opts[:name], network_id)
# [{:load_balancer_port => opts['listener_balancer_port'],
# :instance_port => opts['listener_instance_port'],
@@ -1464,7 +1476,8 @@ eofwopxml
vsys_id = client.extract_vsys_id(instance.id)
if slbs = client.list_efm(vsys_id, 'SLB')['efms']
slbs[0]['efm'].find do |slb|
- instance.private_addresses << InstanceAddress.new(slb['slbVip'][0], :type => :ipv4) if slb['efmId'][0] == instance.id
+ # note that slbVip may not be set yet (in just created SLBs)
+ instance.private_addresses << InstanceAddress.new(slb['slbVip'][0], :type => :ipv4) if slb['slbVip'] and slb['efmId'][0] == instance.id
end
end
end