summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ogcp/templates/actions/client_details.html5
-rw-r--r--ogcp/templates/efi_inspector.html55
-rw-r--r--ogcp/views.py11
3 files changed, 70 insertions, 1 deletions
diff --git a/ogcp/templates/actions/client_details.html b/ogcp/templates/actions/client_details.html
index 6bccace..e462205 100644
--- a/ogcp/templates/actions/client_details.html
+++ b/ogcp/templates/actions/client_details.html
@@ -41,7 +41,12 @@
{% set readonly_disk_inspector = True %}
{% include 'disk_inspector.html' %}
+<br>
{% include 'cache_inspector.html' %}
+<br>
+
+{% include 'efi_inspector.html' %}
+
{% endblock %}
diff --git a/ogcp/templates/efi_inspector.html b/ogcp/templates/efi_inspector.html
new file mode 100644
index 0000000..43f1bc7
--- /dev/null
+++ b/ogcp/templates/efi_inspector.html
@@ -0,0 +1,55 @@
+{% if efi_data is defined %}
+
+{% if efi_data['entries']|length > 0 %}
+
+<div class="form-group mx-5">
+ <label class="control-label">{{ _('Boot entries') }}</label>
+ <table class="table table-bordered">
+ <thead class="thead-light">
+ <tr>
+ <th>{{ _('Order') }}</th>
+ <th>{{ _('Active') }}</th>
+ <th>{{ _('Name') }}</th>
+ <th>{{ _('Description') }}</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for entry_data in efi_data['entries'] %}
+ <tr>
+ <td>
+ <p>
+ {% if entry_data['order'] is defined %}
+ {{ entry_data['order'] }}
+ {% else %}
+ -
+ {% endif %}
+ </p>
+ </td>
+ <td>
+ <p>
+ {% if entry_data['active'] == 1 %}
+ {{ _('yes') }}
+ {% else %}
+ {{ _('no') }}
+ {% endif %}
+ </p>
+ </td>
+ <td>
+ <p>{{ entry_data['name'] }}</p>
+ </td>
+ <td>
+ <p>{{ entry_data['description'] }}</p>
+ </td>
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+</div>
+
+{% else %}
+<div class="card text-center p-3">
+ <b>{{ _('No EFI contents') }}</b>
+</div>
+{% endif %}
+
+{% endif %}
diff --git a/ogcp/views.py b/ogcp/views.py
index af0f3fa..77bad42 100644
--- a/ogcp/views.py
+++ b/ogcp/views.py
@@ -1551,6 +1551,14 @@ def action_client_info():
get_cache_info(clients_info, storage_data, images_data, client_images)
+ r = server.get('/efi', payload={'clients': [ip]})
+ if not r:
+ return ogserver_down('commands')
+ if r.status_code != requests.codes.ok:
+ return ogserver_error('commands')
+
+ efi_data = r.json()['clients'][0]
+
scopes, clients = get_scopes(set(ips))
return render_template('actions/client_details.html', form=form,
@@ -1560,7 +1568,8 @@ def action_client_info():
selected_disk=selected_disk,
images_data=images_data,
storage_data=storage_data,
- client_images=client_images)
+ client_images=client_images,
+ efi_data=efi_data)
@app.route('/action/client/update', methods=['GET', 'POST'])
@login_required