X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fopenstack%2Fosxrn.py;h=8584b3975cd2b87a7805aa26a4a46c4b46a25e83;hb=eabad1f49b519d0a7b73a2644c14a94e87545dda;hp=c1f783bade644dafb172b570fa8f0ba36dda451f;hpb=63fcfdb37c843eda1970a92f45bdd3ba4543d1ae;p=sfa.git diff --git a/sfa/openstack/osxrn.py b/sfa/openstack/osxrn.py index c1f783ba..8584b397 100644 --- a/sfa/openstack/osxrn.py +++ b/sfa/openstack/osxrn.py @@ -2,30 +2,39 @@ import re 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() + +def hrn_to_os_tenant_name(hrn): + return OSXrn(xrn=hrn, type='slice').get_tenant_name() + + def cleanup_name(name): - return name.replace(".", "_").replace("+", "_") + return name.replace(".", "_").replace("+", "_") + class OSXrn(Xrn): def __init__(self, name=None, auth=None, **kwds): - + config = Config() + self.id = id if name is not None: + Xrn.__init__(self, **kwds) if 'type' in kwds: self.type = kwds['type'] if auth is not None: - self.hrn='.'.join([auth, cleanup_name(name)]) + self.hrn = '.'.join([auth, cleanup_name(name)]) else: - self.hrn = config.SFA_INTERFACE_HRN + "." + cleanup_name(name) + self.hrn = name.replace('_', '.') self.hrn_to_urn() else: - Xrn.__init__(self, **kwds) - - self.name = self.get_name() - + Xrn.__init__(self, **kwds) + + self.name = self.get_name() + def get_name(self): self._normalize() leaf = self.leaf @@ -34,12 +43,14 @@ class OSXrn(Xrn): name = re.sub('[^a-zA-Z0-9_]', '', name) return name - def get_slicename(self): self._normalize() slicename = self.hrn 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