From: marios <mar...@redhat.com> https://issues.apache.org/jira/browse/DTACLOUD-423
Signed-off-by: marios <mar...@redhat.com> --- .../drivers/eucalyptus/eucalyptus_driver.rb | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/server/lib/deltacloud/drivers/eucalyptus/eucalyptus_driver.rb b/server/lib/deltacloud/drivers/eucalyptus/eucalyptus_driver.rb index 7586052..a68b3cb 100644 --- a/server/lib/deltacloud/drivers/eucalyptus/eucalyptus_driver.rb +++ b/server/lib/deltacloud/drivers/eucalyptus/eucalyptus_driver.rb @@ -118,6 +118,30 @@ module Deltacloud "Loadbalancer not supported in Eucalyptus", "") end + #override ec2 driver realms - euca API doesn't support vpc/subnet concepts + #http://docs.aws.amazon.com/AWSEC2/2009-04-04/DeveloperGuide/ + def realms(credentials, opts={}) + ec2 = new_client(credentials) + realms = [] + safely do + if opts[:id] and !opts[:id].empty? + begin + ec2.describe_availability_zones([opts[:id]]).collect do |realm| + realms << convert_realm(realm) unless realm.empty? + rescue => e + raise e unless e.message =~ /Invalid availability zone/ + realms = [] + end + else + realms = ec2.describe_availability_zones.collect do |realm| + convert_realm(realm) unless realm.empty? + end + end + end + realms + end + + # override EC2 implementation; Eucalyptus implements the older definition of EC2 security group; # http://docs.amazonwebservices.com/AWSEC2/2009-07-15/APIReference/index.html?ApiReference-query-AuthorizeSecurityGroupIngress.html # if the rule specifies a source group, port&protocol will be ignored. And source group and cidr range can't be mixed in a request -- 1.7.11.7