X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fmanagers%2Faggregate_manager_eucalyptus.py;h=aa803acc613b0c1ce4a0fe05bb8631103b87765e;hb=0d8c502d5ede80349764103f580c4000a8fce97a;hp=4d73ab1729a94e1863eeb9cf9e5456ac11b9e8e4;hpb=22629101f0eb055bbe3933937c5b342c3c8fc10b;p=sfa.git diff --git a/sfa/managers/aggregate_manager_eucalyptus.py b/sfa/managers/aggregate_manager_eucalyptus.py index 4d73ab17..aa803acc 100644 --- a/sfa/managers/aggregate_manager_eucalyptus.py +++ b/sfa/managers/aggregate_manager_eucalyptus.py @@ -15,22 +15,24 @@ from xmlbuilder import XMLBuilder from lxml import etree as ET from sqlobject import * -from sfa.util.faults import InvalidRSpec, +from sfa.util.faults import InvalidRSpec from sfa.util.xrn import urn_to_hrn, Xrn from sfa.util.plxrn import hrn_to_pl_slicename, slicename_to_hrn from sfa.util.callids import Callids #comes with its own logging #from sfa.util.sfalogging import logger from sfa.util.version import version_core - from sfa.trust.credential import Credential - -from sfa.server.sfaapi import SfaApi - -from sfa.plc.aggregate import Aggregate -from sfa.plc.slices import Slice, Slices +from sfa.plc.plaggregate import PlAggregate +# No Slice symbol in there +#from sfa.plc.plslices import Slice, Slices +from sfa.plc.plslices import PlSlices +from sfa.rspecs.version_manager import VersionManager +from sfa.rspecs.rspec import RSpec # not sure what this used to be nor where it is now defined #from sfa.rspecs.sfa_rspec import sfa_rspec_version +# most likely this should now be +#from sfa.rspecs.version_manager import VersionManager ## # Meta data of an instance. @@ -445,7 +447,8 @@ class AggregateManagerEucalyptus: port=eucaPort, path=srvPath) - def ListResources(api, creds, options, call_id): + def ListResources(api, creds, options): + call_id = options.get('call_id') if Callids().already_handled(call_id): return "" # get slice's hrn from options xrn = options.get('geni_slice_urn', '') @@ -541,14 +544,15 @@ class AggregateManagerEucalyptus: """ Hook called via 'sfi.py create' """ - def CreateSliver(api, slice_xrn, creds, xml, users, call_id): + def CreateSliver(api, slice_xrn, creds, xml, users, options): + call_id = options.get('call_id') if Callids().already_handled(call_id): return "" logger = logging.getLogger('EucaAggregate') logger.debug("In CreateSliver") - aggregate = Aggregate(api) - slices = Slices(api) + aggregate = PlAggregate(self.driver) + slices = PlSlices(self.driver) (hrn, type) = urn_to_hrn(slice_xrn) peer = slices.get_peer(hrn) sfa_peer = slices.get_sfa_peer(hrn) @@ -678,16 +682,23 @@ class AggregateManagerEucalyptus: f.write("%s %s %s\n" % (instId, ipaddr, hrn)) f.close() - def GetVersion(api): + def GetVersion(api, options): + + version_manager = VersionManager() + ad_rspec_versions = [] + request_rspec_versions = [] + for rspec_version in version_manager.versions: + if rspec_version.content_type in ['*', 'ad']: + ad_rspec_versions.append(rspec_version.to_dict()) + if rspec_version.content_type in ['*', 'request']: + request_rspec_versions.append(rspec_version.to_dict()) xrn=Xrn(api.hrn) - request_rspec_versions = [dict(sfa_rspec_version)] - ad_rspec_versions = [dict(sfa_rspec_version)] version_more = {'interface':'aggregate', + 'sfa': 1, + 'geni_api': '2', 'testbed':'myplc', 'hrn':xrn.get_hrn(), - 'request_rspec_versions': request_rspec_versions, - 'ad_rspec_versions': ad_rspec_versions, - 'default_ad_rspec': dict(sfa_rspec_version) + 'geni_request_rspec_versions': request_rspec_versions, + 'geni_ad_rspec_versions': ad_rspec_versions, } return version_core(version_more) -