OpenFlow disabled for OneLab
authorLoic Baron <loic.baron@lip6.fr>
Wed, 8 Oct 2014 17:33:54 +0000 (19:33 +0200)
committerLoic Baron <loic.baron@lip6.fr>
Wed, 8 Oct 2014 17:33:54 +0000 (19:33 +0200)
portal/sliceresourceview.py
portal/templates/onelab/onelab_slice-resource-view.html [new file with mode: 0644]

index 94c0fb4..75ede2a 100644 (file)
@@ -69,6 +69,8 @@ class SliceResourceView (LoginRequiredView, ThemeView):
                 #   bugs !
                 'slice_urn',
                 # RESOURCES
+                'resource',
+                'lease',
                 'resource.urn',
                 'resource.hostname', 'resource.type',
                 # - The facility_name and testbed_name are required for the
@@ -79,14 +81,16 @@ class SliceResourceView (LoginRequiredView, ThemeView):
                 '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'
         )
@@ -97,8 +101,8 @@ class SliceResourceView (LoginRequiredView, ThemeView):
         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)
@@ -270,121 +274,121 @@ class SliceResourceView (LoginRequiredView, ThemeView):
 
        # 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')
@@ -420,17 +424,17 @@ class SliceResourceView (LoginRequiredView, ThemeView):
         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
diff --git a/portal/templates/onelab/onelab_slice-resource-view.html b/portal/templates/onelab/onelab_slice-resource-view.html
new file mode 100644 (file)
index 0000000..3fefedf
--- /dev/null
@@ -0,0 +1,121 @@
+{% 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">&times;</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 %}