mirror of
https://github.com/ComputerScienceHouse/proxstar.git
synced 2025-03-09 15:40:09 +00:00
107 lines
6.9 KiB
HTML
107 lines
6.9 KiB
HTML
{% extends "base.html" %}
|
|
{% block body %}
|
|
|
|
<div class="container">
|
|
<div class="row">
|
|
{% if rtp and rtp_view != True %}
|
|
<div class="col-md-12 col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<p>{{ rtp_view }}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
{% if not vms %}
|
|
<div class="col-md-12 col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-body">
|
|
<p>It looks like you don't have any VMs! If you want to create a VM, click <a href="/vm/create">here</a>.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% elif vms == 'INACTIVE' %}
|
|
<div class="col-md-12 col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-body">
|
|
<p>Only active members have access to create Proxmox VMs. If you believe this is an error, please contact an RTP.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% elif rtp_view != True %}
|
|
{% for vm in vms %}
|
|
<div class="col-md-3 col-sm-4 col-xs-6">
|
|
<div class="panel panel-default">
|
|
<div class="panel-body">
|
|
<a href="/vm/{{ vm['vmid'] }}">
|
|
<p>{{ vm['name'] }}</p>
|
|
</a>
|
|
<p>Status: {{ vm['status'] }}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
{% else %}
|
|
{% for pool in vms %}
|
|
<div class="col-md-3 col-sm-4 col-xs-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<img class="user-img pull-left" src="https://profiles.csh.rit.edu/image/{{ pool['user'] }}" title="{{ pool['user'] }}">
|
|
<h3 class="panel-title user-title">
|
|
<a href="/user/{{ pool['user'] }}">
|
|
{{ pool['user'] }}
|
|
</a>
|
|
</h3>
|
|
<span class="pull-right">{{ pool['num_vms'] }}</span>
|
|
</div>
|
|
<div class="panel-body">
|
|
<div class="resource-bar">
|
|
<span class="pull-left">CPU</span>
|
|
<div class="progress" data-toggle="tooltip" title="{{ pool['usage']['cpu'] }}/{{ pool['limits']['cpu'] }}">
|
|
{% if pool['percents']['cpu'] <= 50 %}
|
|
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="{{ pool['percents']['cpu'] }}" aria-valuemin="0" aria-valuemax="100" style="width:{{ pool['percents']['cpu'] }}%"></div>
|
|
{% elif pool['percents']['cpu'] <= 75 %}
|
|
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="{{ pool['percents']['cpu'] }}" aria-valuemin="0" aria-valuemax="100" style="width:{{ pool['percents']['cpu'] }}%"></div>
|
|
{% else %}
|
|
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="{{ pool['percents']['cpu'] }}" aria-valuemin="0" aria-valuemax="100" style="width:{{ pool['percents']['cpu'] }}%"></div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<div class="resource-bar">
|
|
<span class="pull-left">MEM</span>
|
|
<div class="progress" data-toggle="tooltip" title="{{ pool['usage']['mem'] }}GB/{{ pool['limits']['mem'] }}.0GB">
|
|
{% if pool['percents']['mem'] <= 50 %}
|
|
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="{{ pool['percents']['mem'] }}" aria-valuemin="0" aria-valuemax="100" style="width:{{ pool['percents']['mem'] }}%"></div>
|
|
{% elif pool['percents']['mem'] <= 75 %}
|
|
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="{{ pool['percents']['mem'] }}" aria-valuemin="0" aria-valuemax="100" style="width:{{ pool['percents']['mem'] }}%"></div>
|
|
{% else %}
|
|
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="{{ pool['percents']['mem'] }}" aria-valuemin="0" aria-valuemax="100" style="width:{{ pool['percents']['mem'] }}%"></div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<div class="resource-bar">
|
|
<span class="pull-left">DISK</span>
|
|
<div class="progress" data-toggle="tooltip" title="{{ pool['usage']['disk'] }}GB/{{ pool['limits']['disk'] }}GB">
|
|
{% if pool['percents']['disk'] <= 50 %}
|
|
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="{{ pool['percents']['disk'] }}" aria-valuemin="0" aria-valuemax="100" style="width:{{ pool['percents']['disk'] }}%"></div>
|
|
{% elif pool['percents']['disk'] <= 75 %}
|
|
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="{{ pool['percents']['disk'] }}" aria-valuemin="0" aria-valuemax="100" style="width:{{ pool['percents']['disk'] }}%"></div>
|
|
{% else %}
|
|
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="{{ pool['percents']['disk'] }}" aria-valuemin="0" aria-valuemax="100" style="width:{{ pool['percents']['disk'] }}%"></div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<button class="btn btn-info proxstar-poolbtn edit-limit" data-user="{{ pool['user'] }}" data-cpu="{{ pool['limits']['cpu'] }}" data-mem="{{ pool['limits']['mem'] }}" data-disk="{{ pool['limits']['disk'] }}">EDIT</button>
|
|
<button class="btn btn-warning proxstar-poolbtn reset-limit" data-user="{{ pool['user'] }}">RESET</button>
|
|
{% if not pool['vms'] %}
|
|
<button class="btn btn-danger proxstar-poolbtn delete-user" data-user="{{ pool['user'] }}">DELETE</button>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock %}
|