git://git.onelab.eu
/
sfa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
the hardware_types in a node rspec is now built by
[sfa.git]
/
sfa
/
openstack
/
osxrn.py
diff --git
a/sfa/openstack/osxrn.py
b/sfa/openstack/osxrn.py
index
ad82f22
..
8584b39
100644
(file)
--- a/
sfa/openstack/osxrn.py
+++ b/
sfa/openstack/osxrn.py
@@
-2,23
+2,39
@@
import re
from sfa.util.xrn import Xrn
from sfa.util.config import Config
from sfa.util.xrn import Xrn
from sfa.util.config import Config
+
def hrn_to_os_slicename(hrn):
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):
class OSXrn(Xrn):
- def __init__(self, name=None,
type
=None, **kwds):
-
+ def __init__(self, name=None,
auth
=None, **kwds):
+
config = Config()
config = Config()
+ self.id = id
if name is not None:
if name is not None:
- self.type = type
- self.hrn = config.SFA_INTERFACE_HRN + "." + name
+ Xrn.__init__(self, **kwds)
+ 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:
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
def get_name(self):
self._normalize()
leaf = self.leaf
@@
-27,12
+43,14
@@
class OSXrn(Xrn):
name = re.sub('[^a-zA-Z0-9_]', '', name)
return name
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_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