# bugs !
'slice_urn',
# RESOURCES
+ 'resource',
+ 'lease',
'resource.urn',
'resource.hostname', 'resource.type',
# - The facility_name and testbed_name are required for the
'lease.resource',
'lease.start_time',
'lease.end_time',
- # FLOWSPACE
- 'flowspace',
- # VMS
- 'vms',
# - The lease_id is important for NITOS identify already existing
# leases
'lease.lease_id',
+ # FLOWSPACE
+ #'flowspace',
+ # VMS
+ #'vms',
+
+
#'user.user_hrn',
#'application.measurement_point.counter'
)
page.enqueue_query(main_query, analyzed_query=aq)
sq_resource = aq.subquery('resource')
sq_lease = aq.subquery('lease')
- sq_flowspace = aq.subquery('flowspace')
- sq_vms = aq.subquery('vms')
+ #sq_flowspace = aq.subquery('flowspace')
+ #sq_vms = aq.subquery('vms')
query_resource_all = Query.get('resource').select(resource_fields)
page.enqueue_query(query_resource_all)
# plugin which display a "gathering resources" message
# waiting for all resources to be returned by manifold
- univbriswelcome = Univbris(
- page = page,
- title = 'univbris_welcome',
- domid = 'univbris_welcome',
- query = query_resource_all,
- )
-
- univbrisfoamlist = UnivbrisFoam(
- page = page,
- title = 'univbris_foam_ports_selection',
- domid = 'univbris_foam_ports_selection',
- query = query_resource_all,
- query_all = query_resource_all,
- checkboxes = False,
- datatables_options = {
- 'iDisplayLength': 10,
- 'bLengthChange' : True,
- 'bAutoWidth' : True,
- },
- )
-
- #plugin which manages the different flowspaces that the user creates, and also sends flowspaces to manifold
- univbrisfvlist = UnivbrisFv(
- page = page,
- title = 'univbris_flowspace_selection',
- domid = 'univbris_flowspace_selection',
- query = sq_flowspace,
- query_all = query_resource_all,
- datatables_options = {
- 'iDisplayLength': 5,
- 'bLengthChange' : True,
- 'bAutoWidth' : True,
- },
- )
-
- #plugin which allows the definition of a single flowspace
- univbrisfvform = UnivbrisFvf(
- page = page,
- title = 'univbris_flowspace_form',
- domid = 'univbris_flowspace_form',
- query = query_resource_all,
- query_all = None,
- datatables_options = {
- 'iDisplayLength': 3,
- 'bLengthChange' : True,
- 'bAutoWidth' : True,
- },
- )
-
- #plugin which allows the definition the match criteria on a single OPTICAL flowspace
- univbrisofvform = UnivbrisFvfo(
- page = page,
- title = 'univbris_oflowspace_form',
- domid = 'univbris_oflowspace_form',
- query = None,
- query_all = None,
- datatables_options = {
- 'iDisplayLength': 3,
- 'bLengthChange' : True,
- 'bAutoWidth' : True,
- },
- )
-
- #plugin which display the gathered topology
- univbristopology = UnivbrisTopo(
- page = page,
- title = 'univbris_topology',
- domid = 'univbris_topology',
- query = query_resource_all,
- )
-
- # --------------------------------------------------------------------------
- # Ofelia VTAM Plugin
- # Bristol Plugin
-
- #plugin which display a table where an experimenter will add VMs to according to his needs
- # responsible to send the data to Manifold
- univbrisvtamplugin = UnivbrisVtamPlugin(
- page = page,
- title = 'univbris_vtam',
- domid = 'univbris_vtam',
- query = sq_vms,
- #query = sq_resource,
- )
-
- #plugin which display a form where an experimenter will specify
- # in which testbed and which physical server to setup the VM
- univbrisvtamform = UnivbrisVtamForm(
- page = page,
- title = 'univbris_vtam_form',
- domid = 'univbris_vtam_form',
- query = query_resource_all,
- query_all = None,
- datatables_options = {
- 'iDisplayLength': 3,
- 'bLengthChange' : True,
- 'bAutoWidth' : True,
- },
- )
-
- # --------------------------------------------------------------------------
- # SLA View and accept dialog
-
- sla_dialog = SlaDialog(
- page = page,
- title = 'sla dialog',
- query = main_query,
- togglable = False,
- # start turned off, it will open up itself when stuff comes in
- toggled = True,
- domid = 'sla_dialog',
- outline_complete = True,
- username = request.user,
- )
-
+ # univbriswelcome = Univbris(
+ # page = page,
+ # title = 'univbris_welcome',
+ # domid = 'univbris_welcome',
+ # query = query_resource_all,
+ # )
+
+ # univbrisfoamlist = UnivbrisFoam(
+ # page = page,
+ # title = 'univbris_foam_ports_selection',
+ # domid = 'univbris_foam_ports_selection',
+ # query = query_resource_all,
+ # query_all = query_resource_all,
+ # checkboxes = False,
+ # datatables_options = {
+ # 'iDisplayLength': 10,
+ # 'bLengthChange' : True,
+ # 'bAutoWidth' : True,
+ # },
+ # )
+
+ # #plugin which manages the different flowspaces that the user creates, and also sends flowspaces to manifold
+ # univbrisfvlist = UnivbrisFv(
+ # page = page,
+ # title = 'univbris_flowspace_selection',
+ # domid = 'univbris_flowspace_selection',
+ # query = sq_flowspace,
+ # query_all = query_resource_all,
+ # datatables_options = {
+ # 'iDisplayLength': 5,
+ # 'bLengthChange' : True,
+ # 'bAutoWidth' : True,
+ # },
+ # )
+
+ # #plugin which allows the definition of a single flowspace
+ # univbrisfvform = UnivbrisFvf(
+ # page = page,
+ # title = 'univbris_flowspace_form',
+ # domid = 'univbris_flowspace_form',
+ # query = query_resource_all,
+ # query_all = None,
+ # datatables_options = {
+ # 'iDisplayLength': 3,
+ # 'bLengthChange' : True,
+ # 'bAutoWidth' : True,
+ # },
+ # )
+
+ # #plugin which allows the definition the match criteria on a single OPTICAL flowspace
+ # univbrisofvform = UnivbrisFvfo(
+ # page = page,
+ # title = 'univbris_oflowspace_form',
+ # domid = 'univbris_oflowspace_form',
+ # query = None,
+ # query_all = None,
+ # datatables_options = {
+ # 'iDisplayLength': 3,
+ # 'bLengthChange' : True,
+ # 'bAutoWidth' : True,
+ # },
+ # )
+
+ # #plugin which display the gathered topology
+ # univbristopology = UnivbrisTopo(
+ # page = page,
+ # title = 'univbris_topology',
+ # domid = 'univbris_topology',
+ # query = query_resource_all,
+ # )
+
+ # # --------------------------------------------------------------------------
+ # # Ofelia VTAM Plugin
+ # # Bristol Plugin
+
+ # #plugin which display a table where an experimenter will add VMs to according to his needs
+ # # responsible to send the data to Manifold
+ # univbrisvtamplugin = UnivbrisVtamPlugin(
+ # page = page,
+ # title = 'univbris_vtam',
+ # domid = 'univbris_vtam',
+ # query = sq_vms,
+ # #query = sq_resource,
+ # )
+
+ # #plugin which display a form where an experimenter will specify
+ # # in which testbed and which physical server to setup the VM
+ # univbrisvtamform = UnivbrisVtamForm(
+ # page = page,
+ # title = 'univbris_vtam_form',
+ # domid = 'univbris_vtam_form',
+ # query = query_resource_all,
+ # query_all = None,
+ # datatables_options = {
+ # 'iDisplayLength': 3,
+ # 'bLengthChange' : True,
+ # 'bAutoWidth' : True,
+ # },
+ # )
+
+ # # --------------------------------------------------------------------------
+ # # SLA View and accept dialog
+ #
+ # sla_dialog = SlaDialog(
+ # page = page,
+ # title = 'sla dialog',
+ # query = main_query,
+ # togglable = False,
+ # # start turned off, it will open up itself when stuff comes in
+ # toggled = True,
+ # domid = 'sla_dialog',
+ # outline_complete = True,
+ # username = request.user,
+ # )
+ #
## check user is pi or not
platform_query = Query().get('local:platform').select('platform_id','platform','gateway_type','disabled')
account_query = Query().get('local:account').select('user_id','platform_id','auth_type','config')
template_env['scheduler'] = resources_as_scheduler2.render(self.request)
# Bristol plugin
- template_env['welcome'] = univbriswelcome.render(self.request)
- template_env['resources'] = univbrisfoamlist.render(self.request)
- template_env['flowspaces'] = univbrisfvlist.render(self.request)
- template_env['oflowspaces_form'] = univbrisofvform.render(self.request)
- template_env['flowspaces_form'] = univbrisfvform.render(self.request)
- template_env['topology'] = univbristopology.render(self.request)
- template_env['vms_list'] = univbrisvtamplugin.render(self.request)
- template_env['vm_form'] = univbrisvtamform.render(self.request)
+ # template_env['welcome'] = univbriswelcome.render(self.request)
+ # template_env['resources'] = univbrisfoamlist.render(self.request)
+ # template_env['flowspaces'] = univbrisfvlist.render(self.request)
+ # template_env['oflowspaces_form'] = univbrisofvform.render(self.request)
+ # template_env['flowspaces_form'] = univbrisfvform.render(self.request)
+ # template_env['topology'] = univbristopology.render(self.request)
+ # template_env['vms_list'] = univbrisvtamplugin.render(self.request)
+ # template_env['vm_form'] = univbrisvtamform.render(self.request)
# template_env['pending_resources'] = pending_resources.render(self.request)
- template_env['sla_dialog'] = '' # sla_dialog.render(self.request)
+ # template_env['sla_dialog'] = '' # sla_dialog.render(self.request)
template_env["theme"] = self.theme
template_env["username"] = request.user
template_env["pi"] = pi
--- /dev/null
+{% extends "layout_wide.html" %}
+{% load portal_filters %}
+
+{% block head %}
+<!-- <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyC1RUj824JAiHRVqgc2CSIg4CpKHhh84Lw&sensor=false"></script> -->
+<script src="{{ STATIC_URL }}js/onelab_slice-resource-view.js"></script>
+<script>
+ //myslice.slice = "{{ slice }}";
+
+$(document).ready(function() {
+ $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
+ // find the plugin object inside the tab content referenced by the current tabs
+ $('.plugin', $($(e.target).attr('href'))).trigger('shown.bs.tab');
+ $('.plugin', $($(e.target).attr('href'))).trigger('show');
+ });
+});
+</script>
+{% endblock %}
+
+{% block content %}
+{% widget '_widget-slice-sections.html' %}
+<div class="container-fluid container-resource">
+ <div class="row">
+ <div class="col-md-2">
+ <!-- <div id="select-platform" class="list-group"></div> -->
+ {{filter_testbeds}}
+ </div>
+ <div class="col-md-10" style="height:100%;">
+ <div class="row">
+ {% if msg %}
+ <div class="col-md-12"><p class="alert-success">{{ msg }}</p></div>
+ {% endif %}
+ </div>
+
+ <div class="row">
+ <div class="col-md-6">
+ {{ filter_status }}
+ </div>
+ <div class="col-md-1">
+ {{ apply }}
+ </div>
+ </div>
+ <!--
+ <div class="list-group-item list-resources">
+ <span class="list-group-item-heading" style="padding-left: 0;">Resource status:</span>
+ <a class="list-group-item active" data-panel="resources" href="#" style='display: inline-block !important;'>All</a>
+ <a class="list-group-item" data-panel="reserved" href="#" style='display: inline-block !important;'>Reserved</a>
+ <a class="list-group-item" data-panel="pending" href="#" style='display: inline-block !important;'>Pending <span class="badge" id="badge-pending" data-number="0"></span></a>
+ </div>
+ -->
+
+ <div class="row">
+ <div class="col-md-12">
+ <ul class="nav nav-tabs">
+ <li class="active"><a href="#resourcelist" role="tab" data-toggle="tab">Table</a></li>
+ <li> <a href="#resourcemap" role="tab" data-toggle="tab">Map</a></li>
+ <li> <a href="#resourcescheduler" role="tab" data-toggle="tab">Scheduler</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <!-- Modal - columns selector -->
+ <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+ <h4 class="modal-title" id="myModalLabel">Columns selector</h4>
+ </div>
+ <div class="modal-body">
+ {{columns_editor}}
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+ <div class="row">
+ <div class="col-md-12">
+ <div class="tab-content" style="height:100%;">
+ <div class="tab-pane active" id="resourcelist">
+ <!-- Button trigger modal - columns selector -->
+ <button class="btn btn-default btn-sm" style="float:right;" data-toggle="modal" data-target="#myModal">...</button>
+ {{list_resources}}
+ <!-- <table cellpadding="0" cellspacing="0" border="0" class="table" id="objectList"></table> -->
+ </div>
+ <div class="tab-pane" id="resourcemap">
+ {{map_resources}}
+ </div>
+ <div class="tab-pane" id="resourcescheduler">
+ {{scheduler}}
+ </div>
+
+ <!--
+ <div id="reserved" class="tab-pane" style="height:370px;display:none;">
+ <table width="80%">
+ <tr><th width="50%" style="text-align:center;">resources</th><th width="50%" style="text-align:center;">leases</th></tr>
+ <tr>
+ <td style="text-align:center">{{list_reserved_resources}}</td>
+ <td style="text-align:center">{{list_reserved_leases}}</td>
+ </tr>
+ </table>
+ </div>
+ <div id="pending" class="tab-pane" style="height:370px;display:none;">
+ {{pending_resources}}
+ </div>
+ <div id="sla_dialog" class="tab-pane" style="height:370px;display:none;">
+ {{sla_dialog}}
+ </div>
+ -->
+
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+{% endblock %}