git://git.onelab.eu
/
myslice.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
07bad1e
)
Cloud plugin: handle error if AM is down
author
Loic Baron
<loic.baron@lip6.fr>
Fri, 4 Dec 2015 09:49:58 +0000
(10:49 +0100)
committer
Loic Baron
<loic.baron@lip6.fr>
Fri, 4 Dec 2015 09:49:58 +0000
(10:49 +0100)
portal/slicetabcloud.py
patch
|
blob
|
history
diff --git
a/portal/slicetabcloud.py
b/portal/slicetabcloud.py
index
ce1dc31
..
5f15109
100644
(file)
--- a/
portal/slicetabcloud.py
+++ b/
portal/slicetabcloud.py
@@
-18,6
+18,8
@@
from myslice.theme import ThemeView
from myslice.configengine import ConfigEngine
from myslice.settings import logger
from myslice.configengine import ConfigEngine
from myslice.settings import logger
+from rest.sfa_api import sfa_client
+
from sfa.planetlab.plxrn import hash_loginbase
import urllib2,json
from sfa.planetlab.plxrn import hash_loginbase
import urllib2,json
@@
-41,7
+43,7
@@
class CloudView (LoginRequiredView, ThemeView):
username = self.request.user
platforms = self.get_platforms(request)
username = self.request.user
platforms = self.get_platforms(request)
- cloud_platforms = ["onelab-cloud"]
+ cloud_platforms = ["onelab-cloud"
,"fuseco"
]
len_platforms = len(platforms)
#if 'action' in request.POST:
len_platforms = len(platforms)
#if 'action' in request.POST:
@@
-72,12
+74,20
@@
class CloudView (LoginRequiredView, ThemeView):
username = self.request.user
platforms = self.get_platforms(request)
username = self.request.user
platforms = self.get_platforms(request)
- cloud_platforms = ["onelab-cloud"]
+ cloud_platforms = ["onelab-cloud"
,"fuseco"
]
len_platforms = len(platforms)
len_platforms = len(platforms)
+ result = sfa_client(request,'ListResources',platforms=cloud_platforms)
+
+ # Handle errors in ListResources, example AM is down
+ for key, value in result.iteritems():
+ logger.debug("key in result = %s" % key)
+ if 'error' in value:
+ cloud_platforms.remove(key)
env = { 'theme' : self.theme,
'slicename':slicename,
'platforms':platforms,
env = { 'theme' : self.theme,
'slicename':slicename,
'platforms':platforms,
+ 'result':result,
'cloud_platforms':cloud_platforms,
'len_platforms': len_platforms,
'request':self.request,
'cloud_platforms':cloud_platforms,
'len_platforms': len_platforms,
'request':self.request,