from plugins.queryupdater import QueryUpdater
from plugins.testbeds import TestbedsPlugin
from plugins.scheduler2 import Scheduler2
+from plugins.columns_editor import ColumnsEditor
+from plugins.lists.simplelist import SimpleList
from myslice.theme import ThemeView
user_fields = ['user_hrn'] # [column['name'] for column in user_md['column']]
# TODO The query to run is embedded in the URL
+ # Example: select slice_hrn, resource.urn, lease.resource, lease.start_time, lease.end_time from slice where slice_hrn == "ple.upmc.myslicedemo"
main_query = Query.get('slice').filter_by('slice_hrn', '=', slicename)
main_query.select(
'slice_hrn',
'resource.urn',
'resource.hostname', 'resource.type',
'resource.network_hrn',
- 'lease.urn',
- 'user.user_hrn',
+ 'lease.resource',
+ 'lease.start_time',
+ 'lease.end_time',
+ #'user.user_hrn',
#'application.measurement_point.counter'
)
# for internal use in the querytable plugin;
lease_md = metadata.details_by_object('lease')
lease_fields = [column['name'] for column in lease_md['column']]
- query_all_lease = Query.get('lease').select(lease_fields)
- page.enqueue_query(query_all_lease)
-
- print "!!!!!!!!!! query leases = ",query_all_lease
+ query_lease_all = Query.get('lease').select(lease_fields)
+ page.enqueue_query(query_lease_all)
# --------------------------------------------------------------------------
- # RESOURCES LIST
+ # ALL RESOURCES LIST
# resources as a list using datatable plugin
list_resources = QueryTable(
},
)
+
+ # --------------------------------------------------------------------------
+ # RESERVED RESOURCES LIST
+ # resources as a list using datatable plugin
+
+ list_reserved_resources = SimpleList(
+ title = None,
+ page = page,
+ key = 'urn',
+ query = sq_resource,
+ )
+
+ list_reserved_leases = SimpleList(
+ title = None,
+ page = page,
+ key = 'resource',
+ query = sq_lease,
+ )
+
+# list_reserved_resources = QueryTable(
+# page = page,
+# domid = 'resources-reserved-list',
+# title = 'List view',
+# query = sq_resource,
+# query_all = sq_resource,
+# init_key = "urn",
+# checkboxes = True,
+# datatables_options = {
+# 'iDisplayLength': 25,
+# 'bLengthChange' : True,
+# 'bAutoWidth' : True,
+# },
+# )
+
+ # --------------------------------------------------------------------------
+ # COLUMNS EDITOR
+ # list of fields to be applied on the query
+ # this will add/remove columns in QueryTable plugin
+
+ filter_column_editor = ColumnsEditor(
+ page = page,
+ query = sq_resource,
+ query_all = query_resource_all,
+ title = "Select Columns",
+ domid = 'select-columns',
+ )
+
# --------------------------------------------------------------------------
# RESOURCES MAP
# the resources part is made of a Tabs (Geographic, List),
# center on Paris
latitude = 49.,
longitude = 9,
- zoom = 4,
+ zoom = 8,
)
# --------------------------------------------------------------------------
title = 'Scheduler',
# this is the query at the core of the slice list
query = sq_resource,
+ query_lease = sq_lease,
query_all_resources = query_resource_all,
- query_lease = query_all_lease,
+ query_all_leases = query_lease_all,
)
# --------------------------------------------------------------------------
page = page,
title = 'Pending operations',
query = main_query,
- togglable = True,
+ togglable = False,
# start turned off, it will open up itself when stuff comes in
toggled = False,
domid = 'pending',
template_env = {}
template_env['list_resources'] = list_resources.render(self.request)
+ template_env['list_reserved_resources'] = list_reserved_resources.render(self.request)
+ template_env['list_reserved_leases'] = list_reserved_leases.render(self.request)
+
+ template_env['columns_editor'] = filter_column_editor.render(self.request)
+
template_env['filter_testbeds'] = filter_testbeds.render(self.request)
template_env['map_resources'] = map_resources.render(self.request)
template_env['scheduler'] = resources_as_scheduler2.render(self.request)