finished all audits, first rc
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{% block title %}Watcher Visio{% endblock %}</title>
|
||||
<title>{% block title %}SWatcher{% endblock %}</title>
|
||||
<link rel="stylesheet" href="{% static 'css/output.css' %}">
|
||||
{% block imports %}
|
||||
{% endblock %}
|
||||
@@ -15,13 +15,13 @@
|
||||
<!-- Navbar -->
|
||||
<div class="navbar bg-base-100 shadow-lg">
|
||||
<div class="navbar-start">
|
||||
<a class="btn btn-ghost text-xl" href="{% url 'index' %}">Watcher Visio</a>
|
||||
<a class="btn btn-ghost text-xl" href="{% url 'index' %}">SWatcher</a>
|
||||
</div>
|
||||
<div class="navbar-center hidden lg:flex">
|
||||
</div>
|
||||
<div class="navbar-end">
|
||||
<div class="px-1 flex gap-3 pr-10">
|
||||
<span class="badge badge-primary badge-lg">{{ region_name }}</span>
|
||||
<span class="badge badge-primary badge-lg">{{ region.name }}</span>
|
||||
<label class="swap swap-rotate">
|
||||
<input type="checkbox" class="theme-controller" value="dark" />
|
||||
<svg class="swap-off fill-current w-6 h-6" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
|
||||
@@ -18,19 +18,19 @@
|
||||
<div class="flex items-center justify-between mb-3">
|
||||
<div>
|
||||
<h3 class="text-sm font-medium text-base-content/70">CPU Utilization</h3>
|
||||
<div class="text-xs text-base-content/40 mt-0.5">{{ cpu_used }} / {{ cpu_used|add:cpu_free }} vCPU</div>
|
||||
<div class="text-xs text-base-content/40 mt-0.5">{{ pcpu.usage }} / {{ pcpu.total }} CPU</div>
|
||||
</div>
|
||||
<div class="text-lg font-bold text-primary">{{ cpu_used_percentage|floatformat:1 }}%</div>
|
||||
<div class="text-lg font-bold text-primary">{{ pcpu.used_percentage|floatformat:1 }}%</div>
|
||||
</div>
|
||||
<div class="space-y-2">
|
||||
<div class="flex justify-between text-xs">
|
||||
<span class="text-base-content/60">Used</span>
|
||||
<span class="font-medium">{{ cpu_used }} vCPU</span>
|
||||
<span class="font-medium">{{ pcpu.usage }} CPU</span>
|
||||
</div>
|
||||
<progress class="progress progress-primary w-full" value="{{ cpu_used_percentage }}" max="100"></progress>
|
||||
<progress class="progress progress-primary w-full" value="{{ pcpu.used_percentage }}" max="100"></progress>
|
||||
<div class="flex justify-between text-xs">
|
||||
<span class="text-base-content/60">Free</span>
|
||||
<span class="font-medium">{{ cpu_free }} vCPU</span>
|
||||
<span class="font-medium">{{ pcpu.free }} CPU</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -42,19 +42,19 @@
|
||||
<div class="flex items-center justify-between mb-3">
|
||||
<div>
|
||||
<h3 class="text-sm font-medium text-base-content/70">RAM Utilization</h3>
|
||||
<div class="text-xs text-base-content/40 mt-0.5">{{ ram_used }} / {{ ram_used|add:ram_free }} GB</div>
|
||||
<div class="text-xs text-base-content/40 mt-0.5">{{ pram.usage|convert_bytes }} / {{ pram.total|convert_bytes }} GB</div>
|
||||
</div>
|
||||
<div class="text-lg font-bold text-secondary">{{ ram_used_percentage|floatformat:1 }}%</div>
|
||||
<div class="text-lg font-bold text-secondary">{{ pram.used_percentage|floatformat:1 }}%</div>
|
||||
</div>
|
||||
<div class="space-y-2">
|
||||
<div class="flex justify-between text-xs">
|
||||
<span class="text-base-content/60">Used</span>
|
||||
<span class="font-medium">{{ ram_used }} GB</span>
|
||||
<span class="font-medium">{{ pram.usage|convert_bytes }} GB</span>
|
||||
</div>
|
||||
<progress class="progress progress-secondary w-full" value="{{ ram_used_percentage }}" max="100"></progress>
|
||||
<progress class="progress progress-secondary w-full" value="{{ pram.used_percentage }}" max="100"></progress>
|
||||
<div class="flex justify-between text-xs">
|
||||
<span class="text-base-content/60">Free</span>
|
||||
<span class="font-medium">{{ ram_free }} GB</span>
|
||||
<span class="font-medium">{{ pram.free|convert_bytes }} GB</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -66,9 +66,9 @@
|
||||
<div class="flex items-center justify-between mb-3">
|
||||
<div>
|
||||
<h3 class="text-sm font-medium text-base-content/70">Instances</h3>
|
||||
<div class="text-xs text-base-content/40 mt-0.5">{{ vm_active }} active / {{ vm_stopped }} stopped</div>
|
||||
<div class="text-xs text-base-content/40 mt-0.5">{{ vm.active }} active / {{ vm.stopped }} stopped</div>
|
||||
</div>
|
||||
<div class="text-lg font-bold text-accent">{{ vm_count }}</div>
|
||||
<div class="text-lg font-bold text-accent">{{ vm.count }}</div>
|
||||
</div>
|
||||
<div class="space-y-3">
|
||||
<div class="flex justify-between items-center text-xs">
|
||||
@@ -76,21 +76,21 @@
|
||||
<div class="w-2 h-2 rounded-full bg-success"></div>
|
||||
<span>Most Used Flavor</span>
|
||||
</div>
|
||||
<span class="font-medium">{{ common_flavor }}</span>
|
||||
<span class="font-medium">{{ flavors.first_common_flavor.name }}</span>
|
||||
</div>
|
||||
<div class="flex justify-between items-center text-xs">
|
||||
<div class="flex items-center gap-2">
|
||||
<div class="w-2 h-2 rounded-full bg-info"></div>
|
||||
<span>Avg. vCPU/VM</span>
|
||||
</div>
|
||||
<span class="font-medium">{{ avg_cpu_per_vm|floatformat:1 }}</span>
|
||||
<span class="font-medium">{{ vm.avg_cpu|floatformat:1 }}</span>
|
||||
</div>
|
||||
<div class="flex justify-between items-center text-xs">
|
||||
<div class="flex items-center gap-2">
|
||||
<div class="w-2 h-2 rounded-full bg-warning"></div>
|
||||
<span>Density</span>
|
||||
</div>
|
||||
<span class="font-medium">{{ vm_density|floatformat:1 }}/host</span>
|
||||
<span class="font-medium">{{ vm.density|floatformat:1 }}/host</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -113,36 +113,32 @@
|
||||
<div class="mb-4">
|
||||
<div class="flex justify-between text-xs mb-1">
|
||||
<span class="text-base-content/70">CPU Allocation</span>
|
||||
<span class="font-medium">{{ cpu_allocated }} / {{ cpu_total }} vCPU</span>
|
||||
<span class="font-medium">{{ vcpu.allocated }} / {{ vcpu.total }} vCPU</span>
|
||||
</div>
|
||||
{% with pct=cpu_allocated|div:cpu_total|mul:100 %}
|
||||
<div class="flex items-center gap-2">
|
||||
<progress class="progress progress-primary flex-1" value="{{ pct }}" max="100"></progress>
|
||||
<span class="text-xs font-medium w-12 text-right">{{ pct|floatformat:1 }}%</span>
|
||||
<progress class="progress progress-primary flex-1" value="{{ vcpu.allocated_percentage }}" max="100"></progress>
|
||||
<span class="text-xs font-medium w-12 text-right">{{ vcpu.allocated_percentage|floatformat:1 }}%</span>
|
||||
</div>
|
||||
<div class="flex justify-between text-xs mt-1">
|
||||
<span class="text-base-content/50">OC: x{{ cpu_overcommit_ratio }}</span>
|
||||
<span class="text-base-content/50">{{ pct|floatformat:1 }}% allocated</span>
|
||||
<span class="text-base-content/50">overcommit: {{ vcpu.overcommit_ratio|floatformat:1 }} / {{ vcpu.overcommit_max }}</span>
|
||||
<span class="text-base-content/50">{{ vcpu.allocated_percentage|floatformat:1 }}% allocated</span>
|
||||
</div>
|
||||
{% endwith %}
|
||||
</div>
|
||||
|
||||
<!-- RAM Allocation -->
|
||||
<div>
|
||||
<div class="flex justify-between text-xs mb-1">
|
||||
<span class="text-base-content/70">RAM Allocation</span>
|
||||
<span class="font-medium">{{ ram_allocated }} / {{ ram_total }} GB</span>
|
||||
<span class="font-medium">{{ vram.allocated|convert_bytes }} / {{ vram.total|convert_bytes }} GB</span>
|
||||
</div>
|
||||
{% with pct=ram_allocated|div:ram_total|mul:100 %}
|
||||
<div class="flex items-center gap-2">
|
||||
<progress class="progress progress-secondary flex-1" value="{{ pct }}" max="100"></progress>
|
||||
<span class="text-xs font-medium w-12 text-right">{{ pct|floatformat:1 }}%</span>
|
||||
<progress class="progress progress-secondary flex-1" value="{{ vram.allocated_percentage }}" max="100"></progress>
|
||||
<span class="text-xs font-medium w-12 text-right">{{ vram.allocated_percentage|floatformat:1 }}%</span>
|
||||
</div>
|
||||
<div class="flex justify-between text-xs mt-1">
|
||||
<span class="text-base-content/50">OC: x{{ ram_overcommit_ratio }}</span>
|
||||
<span class="text-base-content/50">{{ pct|floatformat:1 }}% allocated</span>
|
||||
<span class="text-base-content/50">overcommit: {{ vram.overcommit_ratio|floatformat:1 }} / {{ vram.overcommit_max }}</span>
|
||||
<span class="text-base-content/50">{{ vram.allocated_percentage|floatformat:1 }}% allocated</span>
|
||||
</div>
|
||||
{% endwith %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -162,34 +158,34 @@
|
||||
<!-- Most Common -->
|
||||
<div class="bg-base-200/50 rounded-lg p-3">
|
||||
<div class="flex justify-between items-center mb-1">
|
||||
<span class="text-sm font-medium">{{ common_flavor }}</span>
|
||||
<span class="text-xs badge badge-primary">{{ common_flavor_count }} instances</span>
|
||||
<span class="text-sm font-medium">{{ flavors.first_common_flavor.name }}</span>
|
||||
<span class="text-xs badge badge-primary">{{ flavors.first_common_flavor.count }} instances</span>
|
||||
</div>
|
||||
<div class="flex justify-between text-xs">
|
||||
<span class="text-base-content/60">Share</span>
|
||||
<span class="font-medium">{{ common_flavor_count|div:vm_count|mul:100|floatformat:0 }}%</span>
|
||||
<span class="font-medium">{{ flavors.first_common_flavor.count|div:vm.count|mul:100|floatformat:0 }}%</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Other Flavors -->
|
||||
<div class="space-y-2">
|
||||
{% if second_common_flavor %}
|
||||
{% if flavors.second_common_flavor %}
|
||||
<div class="flex justify-between items-center text-sm">
|
||||
<div class="flex items-center gap-2">
|
||||
<div class="w-1.5 h-1.5 rounded-full bg-base-content/30"></div>
|
||||
<span>{{ second_common_flavor.name }}</span>
|
||||
<span>{{ flavors.second_common_flavor.name }}</span>
|
||||
</div>
|
||||
<span class="text-xs badge badge-outline">{{ second_common_flavor.count }}</span>
|
||||
<span class="text-xs badge badge-outline">{{ flavors.second_common_flavor.count }}</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if third_common_flavor %}
|
||||
{% if flavors.third_common_flavor %}
|
||||
<div class="flex justify-between items-center text-sm">
|
||||
<div class="flex items-center gap-2">
|
||||
<div class="w-1.5 h-1.5 rounded-full bg-base-content/30"></div>
|
||||
<span>{{ third_common_flavor.name }}</span>
|
||||
<span>{{ flavors.third_common_flavor.name }}</span>
|
||||
</div>
|
||||
<span class="text-xs badge badge-outline">{{ third_common_flavor.count }}</span>
|
||||
<span class="text-xs badge badge-outline">{{ flavors.third_common_flavor.count }}</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user