var query_ext = manifold.query_store.find_query_ext(query.query_uuid);
query_ext.query_state = QUERY_STATE_INPROGRESS;
- var query_json = JSON.stringify(query);
+ /*
+ If the Query object concerns SFA AM objects, iterate on each AM platform
+ Loop per platform, allows a progressive loading per AM platform
+ Update is run on all platforms at the same time to get a final answer, we don't manage partial answers yet...
+ */
+ if((query.object == 'resource' || query.object == 'lease' || query.object == 'slice') && query.action != "update"){
+ var obj = query.object;
+ $.post("/rest/platform/", function( data ) {
+ $.each(data, function(index, p) {
+ query.object = p.platform+":"+obj;
+ var query_json = JSON.stringify(query);
+
+ // Inform plugins about the progress
+ query.iter_subqueries(function (sq) {
+ var sq_query_ext = manifold.query_store.find_analyzed_query_ext(sq.query_uuid);
+ sq_query_ext.query_state = QUERY_STATE_INPROGRESS;
+ manifold.raise_record_event(sq.query_uuid, IN_PROGRESS);
+ });
- // Inform plugins about the progress
- query.iter_subqueries(function (sq) {
- var sq_query_ext = manifold.query_store.find_analyzed_query_ext(sq.query_uuid);
- sq_query_ext.query_state = QUERY_STATE_INPROGRESS;
+ $.post(manifold.proxy_url, {'json': query_json} , manifold.success_closure(query, null, callback));
- manifold.raise_record_event(sq.query_uuid, IN_PROGRESS);
- });
+ });
+ });
+ }else{
+ var query_json = JSON.stringify(query);
- $.post(manifold.proxy_url, {'json': query_json} , manifold.success_closure(query, null, callback));
+ // Inform plugins about the progress
+ query.iter_subqueries(function (sq) {
+ var sq_query_ext = manifold.query_store.find_analyzed_query_ext(sq.query_uuid);
+ sq_query_ext.query_state = QUERY_STATE_INPROGRESS;
+ manifold.raise_record_event(sq.query_uuid, IN_PROGRESS);
+ });
+
+ $.post(manifold.proxy_url, {'json': query_json} , manifold.success_closure(query, null, callback));
+
+ }
},
// XXX DEPRECATED
/* In Javascript getMonth() gives month[0] = january, month[1] = february, and so on... */
var month = now.getMonth()+2;
var one_month_later = now.getFullYear()+"-"+month+"-"+now.getDate()+" "+now.getHours()+":"+now.getMinutes()+":"+now.getSeconds();
- console.log(one_month_later);
$('input:checkbox.slice').each(function (index) {
if(this.checked){
var record_id = this.id;
// myslice.user is in LocalStorage
if(typeof(slices) != "undefined"){
/*
+ This allows progressive loading per AM platform
Launch queries to get the resources and leases in Manifold Cache
+ XXX platform:object
+ TODO support cache for prefixed objects
+ XXX Disabled until it's supported on Manifold side
*/
- $.post("/rest/resource/", function( data ) {
- });
- $.post("/rest/lease/", function( data ) {
- });
+ /*
+ $.post("/rest/platform/", function( data ) {
+ $.each(data, function(index, p) {
+ $.post("/rest/"+p.platform+":resource/", function( data ) {
+ });
+ $.post("/rest/"+p.platform+":lease/", function( data ) {
+ });
+ $.each( slices, function(i, val) {
+ // Launch a Query for each slice to get it in Manifold Cache
+ $.post("/rest/"+p.platform+":slice/", { 'filters': { 'slice_hrn' : val } }, function(data) {
+ });
+ });
- $.each( slices, function(i, val) {
- /*
- Launch a Query for each slice to get resources and leases in Manifold Cache
- */
- $.post("/rest/slice/", { 'filters': { 'slice_hrn' : val } }, function(data) {
});
});
+ */
}
},
var slices = [];
if($.isEmptyObject(user)){
- $.post("/rest/user/",{'filters':{'user_hrn':'$user_hrn'}}, function( data ) {
+ $.post("/rest/myslice:user/",{'filters':{'user_hrn':'$user_hrn'}}, function( data ) {
if(data.length > 0){
drawSlices(data[0].slices);
}else{
});
</script>
-{# widget "_widget-monitor.html" #}
+{% widget "_widget-monitor.html" %}
{# widget "_widget-stats-top-slices.html" #}
{% endblock %}
}else{
nodes_length=val.nodes.length;
}
- console.log(val);
if(val.users=="undefined" || val.users==null){
users_length=0;
}else{
def servicesStatus(request):
Config = ConfigParser.ConfigParser()
- Config.read(os.getcwd() + "/myslice/monitor.ini")
+ Config.read(os.getcwd() + "/myslice/myslice/monitor.ini")
result = {}
cert = os.path.abspath(Config.get('monitor', 'cert'))
if not os.path.isfile(cert) :
- return HttpResponse(json.dumps({'error' : '-1'}), content_type="application/json")
+ return HttpResponse(json.dumps({'error' : '-2'}), content_type="application/json")
if not Config.has_option('monitor', 'pkey') :
- return HttpResponse(json.dumps({'error' : '-2'}), content_type="application/json")
+ return HttpResponse(json.dumps({'error' : '-3'}), content_type="application/json")
pkey = os.path.abspath(Config.get('monitor', 'pkey'))
if not os.path.isfile(pkey) :
- return HttpResponse(json.dumps({'error' : '-2'}), content_type="application/json")
+ return HttpResponse(json.dumps({'error' : '-4'}), content_type="application/json")
services = Config.sections()
for s in services :