git://git.onelab.eu
/
sfa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7affb6f
)
updated update()
author
Tony Mack
<tmack@paris.CS.Princeton.EDU>
Tue, 20 Mar 2012 00:07:50 +0000
(20:07 -0400)
committer
Tony Mack
<tmack@paris.CS.Princeton.EDU>
Tue, 20 Mar 2012 00:07:50 +0000
(20:07 -0400)
sfa/openstack/nova_driver.py
patch
|
blob
|
history
diff --git
a/sfa/openstack/nova_driver.py
b/sfa/openstack/nova_driver.py
index
9ad1ce1
..
7dee979
100644
(file)
--- a/
sfa/openstack/nova_driver.py
+++ b/
sfa/openstack/nova_driver.py
@@
-114,18
+114,28
@@
class NovaDriver (Driver):
##########
# xxx actually old_sfa_record comes filled with plc stuff as well in the original code
def update (self, old_sfa_record, new_sfa_record, hrn, new_key):
##########
# xxx actually old_sfa_record comes filled with plc stuff as well in the original code
def update (self, old_sfa_record, new_sfa_record, hrn, new_key):
- pointer = old_sfa_record['pointer']
- type = old_sfa_record['type']
-
+ type = new_sfa_record['type']
+
# new_key implemented for users only
if new_key and type not in [ 'user' ]:
raise UnknownSfaType(type)
elif type == "slice":
# new_key implemented for users only
if new_key and type not in [ 'user' ]:
raise UnknownSfaType(type)
elif type == "slice":
- # can update description, researchers and PI
- pass
+ # can update project manager and description
+ name = Xrn(hrn).get_leaf()
+ researchers = sfa_record.get('researchers', [])
+ pis = sfa_record.get('pis', [])
+ project_manager = None
+ description = sfa_record.get('description', None)
+ if pis:
+ project_manager = Xrn(pis[0], 'user').get_leaf()
+ elif researchers:
+ project_manager = Xrn(researchers[0], 'user').get_leaf()
+ self.shell.auth_manager.modify_project(name, project_manager, description)
+
elif type == "user":
elif type == "user":
- # can update slices, keys and roles
+ # can techinally update access_key and secret_key,
+ # but that is not in our scope, so we do nothing.
pass
return True
pass
return True