X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fmanagers%2Faggregate_manager_eucalyptus.py;h=b9f6df8c5b6f34dbcd52ba224bc511da3292554f;hb=06b330f0ee047bdb107e43e82b1d7356c876bc15;hp=82ddb578f254f1b19a45106754e60af0a8cdfdbe;hpb=b822d090b9b6ee257313f4d6ca816336c5c3e852;p=sfa.git diff --git a/sfa/managers/aggregate_manager_eucalyptus.py b/sfa/managers/aggregate_manager_eucalyptus.py index 82ddb578..b9f6df8c 100644 --- a/sfa/managers/aggregate_manager_eucalyptus.py +++ b/sfa/managers/aggregate_manager_eucalyptus.py @@ -1,8 +1,7 @@ from __future__ import with_statement -from sfa.util.faults import * -from sfa.util.namespace import * -from sfa.util.rspec import RSpec -from sfa.server.registry import Registries + +import sys +import os import boto from boto.ec2.regioninfo import RegionInfo @@ -12,8 +11,10 @@ from xmlbuilder import XMLBuilder from lxml import etree as ET from sqlobject import * -import sys -import os +from sfa.util.faults import * +from sfa.util.xrn import urn_to_hrn +from sfa.util.rspec import RSpec +from sfa.server.registry import Registries ## # The data structure used to represent a cloud. @@ -333,9 +334,17 @@ class ZoneResultParser(object): return clusterList -def get_rspec(api, xrn, origin_hrn): +def get_rspec(api, creds, options): global cloud - hrn = urn_to_hrn(xrn)[0] + # get slice's hrn from options + xrn = options.get('geni_slice_urn', '') + hrn, type = urn_to_hrn(xrn) + + # get hrn of the original caller + origin_hrn = options.get('origin_hrn', None) + if not origin_hrn: + origin_hrn = Credential(string=creds[0]).get_gid_caller().get_hrn() + conn = getEucaConnection() if not conn: @@ -414,7 +423,7 @@ def get_rspec(api, xrn, origin_hrn): """ Hook called via 'sfi.py create' """ -def create_slice(api, xrn, xml): +def create_slice(api, xrn, creds, xml, users): global cloud hrn = urn_to_hrn(xrn)[0]