X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fopenstack%2Fosxrn.py;h=cb30eb2c9d7a8892be4a4f785adeed77a4047c1b;hb=8cc9cc93600c8136e8dc46b21676234643b8abc2;hp=ad82f22cfeec59c6c3290843f843b7b1d0fa97a6;hpb=5be55972ba70a2a4c3197c0015d2c4df211dce80;p=sfa.git diff --git a/sfa/openstack/osxrn.py b/sfa/openstack/osxrn.py index ad82f22c..cb30eb2c 100644 --- a/sfa/openstack/osxrn.py +++ b/sfa/openstack/osxrn.py @@ -3,16 +3,28 @@ from sfa.util.xrn import Xrn from sfa.util.config import Config def hrn_to_os_slicename(hrn): - return OSXrn(xrn=hrn, type='slice').get_slicename() + return OSXrn(xrn=hrn, type='slice').get_slicename() + + +def hrn_to_os_tenant_name(hrn): + return OSXrn(xrn=hrn, type='slice').get_tenant_name() + +def cleanup_name(name): + return name.replace(".", "_").replace("+", "_") class OSXrn(Xrn): - def __init__(self, name=None, type=None, **kwds): + def __init__(self, name=None, auth=None, **kwds): config = Config() + self.id = id if name is not None: - self.type = type - self.hrn = config.SFA_INTERFACE_HRN + "." + name + if 'type' in kwds: + self.type = kwds['type'] + if auth is not None: + self.hrn='.'.join([auth, cleanup_name(name)]) + else: + self.hrn = name.replace('_', '.') self.hrn_to_urn() else: Xrn.__init__(self, **kwds) @@ -34,5 +46,9 @@ class OSXrn(Xrn): slicename = slicename.split(':')[0] slicename = re.sub('[\.]', '_', slicename) return slicename - - + + def get_tenant_name(self): + self._normalize() + tenant_name = self.hrn.replace('\.', '') + return tenant_name +