Commit 064ecc91 authored by Leonidas Poulopoulos's avatar Leonidas Poulopoulos

Added missing dirs

parent 357d48dc
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
{% extends "base.html" %}
{% block title %}Access denied{% endblock %}
{% block content %}
<h3 align="center">Access denied</h3>
<h4 align="center">You do not have sufficient privileges</h4>
{% endblock %}
{% extends "base.html" %}
{% block title %}Page not found{% endblock %}
{% block content %}
<h3 align="center">Page not found</h3>
<h4 align="center">The page that you requested was not found.</h4>
{% endblock %}
{% extends "base.html" %}
{% block title %}Access denied{% endblock %}
{% block content %}
<h3 align="center">Internal error</h3>
<h4 align="center">Our administrators have been notified with this problem. We apologize for the inconvenience.</h4>
{% endblock %}
{% extends "base.html" %}
{% load i18n %}
{% block title %}{% trans "Application submitted" %}{% endblock %}
{% block content %}
<div align="center">
{% if pending %}
<h2>{% trans "Pending applications" %}</h2>
<table>
<tr><th>{% trans "Hostname" %}</th><th>{% trans "User" %}</th><th>{% trans "Memory" %}</th><th>{% trans "vCPUs" %}</th><th>{% trans "Network" %}</th><th>{% trans "Filed" %}</th></tr>
{% for app in pending %}
<tr><td><a href="{% url application-review app.pk %}">{{ app.hostname }}</a></td><td>{{ app.applicant }}</td><td>{{ app.memory }}</td><td>{{ app.vcpus }}</td><td>{{ app.network|default_if_none:"&mdash;" }}</td><td>{{ app.filed|date }}</td></tr>
{% endfor %}
</table>
{% endif %}
<h2>{% trans "Completed applications" %}</h2>
<table>
<tr><th>{% trans "Hostname" %}</th><th>{% trans "User" %}</th><th>{% trans "Memory" %}</th><th>{% trans "vCPUs" %}</th><th>{% trans "Network" %}</th><th>{% trans "Filed" %}</th></tr>
{% for app in completed %}
<tr><td><a href="{% url application-review app.pk %}">{{ app.hostname }}</a></td><td>{{ app.applicant }}</td><td>{{ app.memory }}</td><td>{{ app.vcpus }}</td><td>{{ app.network|default_if_none:"&mdash;" }}</td><td>{{ app.filed|date }}</td></tr>
{% endfor %}
</table>
</div>
{% endblock %}
Η αίτησή σας #{{ application.pk }} για τη δημιουργία εικονικής μηχανής με όνομα
{{ application.hostname }} απορρίφθηκε για τους παρακάτω λόγους:
{{ application.admin_comments }}
Για το ΚΕΔ ΕΔΕΤ
{% extends "base.html" %}
{% load i18n %}
{% block title %}{% trans "Create new Virtual Machine" %}{% endblock %}
{% block breadcrumbs %}:: {% trans "Create Instance" %}{% endblock %}
{% block content %}
<style type="text/css">
th {
text-align: right;
padding-right: 0.5em;
vertical-align: top;
}
.help {
font-style: italic;
}
</style>
<div align="center">
<h3>{% trans "Apply for a new instance" %}</h3>
<form method="POST">
{% csrf_token %}
<fieldset>
<legend>{% trans "Instance information" %}</legend>
<table>
<tr><th>{{ form.hostname.label_tag }}</th><td>{{ form.hostname }}<span class="error">{{ form.hostname.errors|join:", " }}</span></td></tr>
<tr class="help"><td></td><td>{{ form.hostname.help_text }}</td></tr>
<tr><th>{{ form.memory.label_tag }}</th><td>{{ form.memory }}<span class="error">{{ form.memory.errors|join:", " }}</span></td></tr>
<tr><th>{{ form.vcpus.label_tag }}</th><td>{{ form.vcpus }}<span class="error">{{ form.vcpus.errors|join:", " }}</span></td></tr>
<tr><th>{{ form.disk_size.label_tag }}</th><td>{{ form.disk_size }}<span class="error">{{ form.disk_size.errors|join:", " }}</span></td></tr>
<tr class="help"><td></td><td>{{ form.disk_size.help_text }}</td></tr>
<tr><th>{{ form.hosts_mail_server.label_tag }}</th><td>{{ form.hosts_mail_server }}<span class="error">{{ form.hosts_mail_server.errors|join:", " }}</span></td></tr>
<tr class="help"><td></td><td>{{ form.hosts_mail_server.help_text }}</td></tr>
<tr><th>{{ form.operating_system.label_tag }}</th><td>{{ form.operating_system }}<span class="error">{{ form.operating_system.errors|join:", " }}</span></td></tr>
{% if form.network %}
<tr><th>{{ form.network.label_tag }}</th><td>{{ form.network }}<span class="error">{{ form.network.errors|join:", " }}</span></td></tr>
<tr class="help"><td></td><td>{{ form.network.help_text|linebreaks }}</td></tr>
{% endif %}
</table>
</fieldset>
<fieldset>
<legend>{% trans "Use/Comments" %}</legend>
{% blocktrans %}
<p>Give a short description of the intended use of this virtual machine, that justifies the parameter selection above. Feel free to include any additional comments.</p>
{% endblocktrans %}
<p>{{ form.comments }}
{% if form.errors %}<br /><span class="error">{{ form.comments.errors|join:", " }}</span>{% endif %}
</p>
</fieldset>
<fieldset>
<legend>{% trans "Administrative contact" %}</legend>
{% blocktrans %}
<p>If you are applying on behalf of a NOC under GRNET's constituency, please select the appropriate organization. Otherwise, fill-in the admin contact information below.</p>
{% endblocktrans %}
{% if form.non_field_errors %}
<p class="error">{{ form.non_field_errors|join:", "}}</p>
{% endif %}
<table>
<tr><th>{{ form.organization.label_tag }}</th><td>{{ form.organization }}<span class="error">{{ form.organization.errors|join:", " }}</span></td></tr>
<tr><td colspan="3"><div align="center">{% trans "OR" %}</div></td></tr>
<tr><th colspan="3"><div align="center">{% trans "Administrative contact" %}</div></th></tr>
<tr><th>{% trans "Name" %}</th><td>{{ form.admin_contact_name }}<span class="error">{{ form.admin_contact_name.errors|join:", " }}</span></td></tr>
<tr><th>E-mail</th><td>{{ form.admin_contact_email }}<span class="error">{{ form.admin_contact_email.errors|join:", " }}</span></td></tr>
<tr><th>{% trans "Phone" %}</th><td>{{ form.admin_contact_phone }}<span class="error">{{ form.admin_contact_phone.errors|join:", " }}</span></td></tr>
</table>
</fieldset>
<fieldset>
<legend>{% trans "Miscellaneous" %}</legend>
{% blocktrans %}
<p>We kindly remind you of the following:</p>
<ul align="left">
<li>You are solely responsible for the data on your VM. You have to take care of back-ups etc.</li>
<li>We reserve the right to temporarily suspend the operation of your VM in case it causes malfunctions to our infrastructure</li>
</ul>
{% endblocktrans %}
<p>{{ form.accept_tos }} {% trans "I have read the above and accept them, along with the" %} <a href="/about/terms-of-service/" target="_blank">{% trans "Terms of Service" %}</a></p>
{% if form.accept_tos.errors %}
<p class="error">
{% trans "You must accept the terms of service before continuing." %}
</p>
{% endif %}
</fieldset>
<p><input type="submit" value="{% trans "Apply" %}" /></p>
</form>
</div>
{% endblock %}
Ο χρήστης {{user.username}} ({{user.first_name}} {{user.last_name}}) υπέβαλε το
ακόλουθο αίτημα:
{% load disksizes %}
Παράμετροι VM
-------------
Όνομα: {{application.hostname}}
Μνήμη: {{application.memory|memsize}}
vCPUS: {{application.vcpus}}
Δίσκος: {{application.disk_size}} GB
Λειτουργικό σύστημα: {{application.operating_system}}
Φιλοξενία mail server: {{application.hosts_mail_server|yesno:"Ναι,Όχι"}}
{% if application.network %}Ο χρήστης ζήτησε το VM να συνδεθεί στο δίκτυο «{{ application.network }}»{% endif %}
Στοιχεία επικοινωνίας:
{% if application.organization %}
Υπεύθυνος φορέας: {{ application.organization }} {% else %}
Διαχειριστικός υπεύθυνος
------------------------
{{ application.admin_contact_name }}
{{ application.admin_contact_email }}
{{ application.admin_contact_phone }}{% endif %}
{% if application.comments %}
Σχόλια
------
{{ application.comments }} {% endif %}
Για να διαχειριστείτε το αίτημα, επισκευθείτε το {{url}}
{% load i18n %}
<html>
<head>
<title>GRNET's FoD :: {% block title %}{% endblock %} </title>
<script src="/static/js/jquery.min.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="/static/css/base.css">
<link rel="stylesheet" type="text/css" href="/static/css/smoothness/jquery-ui-1.8.13.custom.css">
<script type="text/javascript" src="/static/js/jquery-ui-1.8.12.custom.min.js"></script>
<script type="text/javascript">
function setlang(lang){
$("#langsel").val(lang);
$("#langform").submit();
}
//function highlight(elemId){
// var elem = $(elemId);
// elem.css("background-color", "#ffffbb");
// setTimeout(function() { $(elemId).animate({ backgroundColor: "white" }, 2000)}, 1500);
//}
//
//
//$(document).ready( function(){
// if (document.location.hash) {
// highlight(document.location.hash);
// }
// $('a[href*=#]').click(function(){
// var elemId = '#' + $(this).attr('href').split('#')[1];
// highlight(elemId);
// });
//});
</script>
{% block extrahead %}{% endblock %}
</head>
<body>
<div id="main">
<div id="header">
<a class="grnetlogo" href="/">
<img class="logoimg" src="/static/grnet_logo.png">
</a>
<div id="title">
<a href="/">Firewall on Demand</a>
</div>
<div class="loginform">
<div id="formcontent">
{% if user.is_authenticated %}
<span class="topmenuuser">{% trans "Welcome" %} <strong>{{user}}</strong></span>
{% endif %}
<span {% if user.is_authenticated %}class="topmenuaction"{% else %}class="topmenuuser"{% endif %} >
<form action="{% url django.views.i18n.set_language %}" method="post" style="display:inline;" id="langform">
{% csrf_token %}
<input name="next" type="hidden" value="{{ next }}" />
<input id="langsel" name="language" type="hidden" value="" />
{% for lang in LANGUAGES %}<a class="select_lang" href="#" onclick="setlang('{{ lang.0 }}'); return false;" title="{{lang.1}}">{% ifnotequal LANGUAGE_CODE lang.0 %}<font style="font-weight:normal;">{% endifnotequal %}{% trans lang.1 %}{% ifnotequal LANGUAGE_CODE lang.0 %}</font>{% endifnotequal %}</a>{% if not forloop.last %} -{% endif %}
{% endfor %}
</form>
</span>
{% if user.is_authenticated %}
<span class="topmenuaction"><a href="">{% trans "My profile" %}</a></span>
{% if user.is_superuser %}
<span class="topmenuaction"><a href="{% url admin:index %}">{% trans "Admin" %}</a></span>
{% endif %}
<span class="topmenuaction"><a href="{% url logout %}">{% trans "Logout" %}</a></span>
{% else %}
<span class="topmenuaction"><a href="{% url login %}">{% trans "Login" %}</a></span>
{% endif %}
</div>
</div>
</div>
<div id="content">
{% block brcrmb_container %}
<div class="info_content_title">{% if user.is_authenticated %}<a href="/">{% trans "My routes" %}</a>{% endif %}
{% block breadcrumbs %}{% endblock %}
</div>
{% if messages %}
<div id="messages">
{% for message in messages %}
<span{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</span><br />
{% endfor %}
</div>
{% endif %}
{% endblock %}
{% block content %}
{% endblock %}
</div>
<div id="footer">
{% if user.is_authenticated %}
{% trans "If you have any questions or need help, contact GRNET Helpdesk at <a href='mailto:helpdesk@grnet.gr'>helpdesk@grnet.gr</a> or 800-11-47638." %}<br />
{% endif %}
<a href="http://www.grnet.gr">{% trans "GRNET" %} NOC</a> | <a href="/about/info/">{% trans "Info" %}</a> | <a href="/about/terms-of-service">{% trans "Service Terms" %}</a>
</div>
</div>
</body>
</html>
{% extends "base.html" %}
{% block extrahead %}
<script type="text/javascript" src="/static/js/jquery.dataTables.js"></script>
<script type="text/javascript">
$(document).ready( function(){
$('#vm_instance_table').dataTable( {
"bJQueryUI": true,
"oLanguage": {
"sLengthMenu": 'Display <select><option value="25">25</option><option value="50">50</option><option value="-1">All</option></select> instances'
},
"iDisplayLength": 25,
} );
});
</script>
{% endblock %}
{% block title %}{{ object.hostname|safe }}{% endblock %}
{% block content %}
<h3>Cluster {{ object.hostname }}</h3>
<table class="display" width="100%" id="vm_instance_table">
<thead>
<tr><th>Name</th><th>Primary node</th>
<th>Memory</th><th>Current memory</th><th>Status</th></tr>
</thead>
<tbody>
{% for instance in object.get_instances %}
{% for myuser in instance.users %}
{% ifequal myuser user %}
<tr {% if instance.admin_state %} class="GradeA" {% else %} class="GradeX" {% endif %}><td><a href="{% url instance-detail object.slug instance.name %}">{{ instance.name }}</a></td>
<td>{{ instance.pnode }}</td><td>{{ instance.beparams.memory }}</td><td>{{ instance.oper_ram }}</td>
<td>{% ifequal instance.admin_state instance.oper_state %}
{{ instance.admin_state|yesno:"Running,Stopped" }}
{% else %}
{{ instance.oper_state|yesno:"Running,Stopped" }}, should be {{ instance.admin_state|yesno:"running,stopped" }}
{% endifequal %}
</td></tr>
{% endifequal %}
{% endfor %}
{% endfor %}
</tbody>
</table>
{% with object.get_cluster_info as info %}
<table class="instances_table" width="35%">
<tr><th class="table_top_header" colspan=2>Cluster Details</th></tr>
<tr><td class="table_title">Architecture</td><td>{{ info.architecture.0 }}</td></tr>
<tr><td class="table_title">Default hypervisor</td><td>{{ info.default_hypervisor }}</td></tr>
<tr><td class="table_title">Available hypervisors</td><td>{{ info.enabled_hypervisors|join:", " }}</td></tr>
<tr><td class="table_title">Master node</td><td>{{ info.master }}</td></tr>
<tr><td class="table_title">Created</td><td>{% if info.ctime %}{{ info.ctime|date }}{% else %}<em>unknown</em>{% endif %}</td></tr>
<tr><td class="table_title">Last modified</td><td>{{ info.mtime|date }}</td></tr>
</table>
{% endwith %}
{% endblock %}
{% extends "base.html" %}
{% load i18n %}
{% block title %}{{ flatpage.title }}{% endblock %}
{% block breadcrumbs %}:: {% trans flatpage.title %}{% endblock %}
{% block content %}
{{ flatpage.content|linebreaks }}
{% endblock %}
{% extends "base.html" %}
{% block title %}Overview{% endblock %}
{% block extrahead %}
<script type="text/javascript" src="/static/js/jquery.dataTables.js"></script>
<script type="text/javascript">
$(document).ready( function(){
$('#cluster_overview_table').dataTable( {
"bJQueryUI": true,
"oLanguage": {
"sLengthMenu": 'Display <select><option value="25">25</option><option value="50">50</option><option value="-1">All</option></select> clusters'
},
"iDisplayLength": 25,
} );
});
</script>
{% endblock %}
{% block content %}
<h3>Clusters Overview</h3>
<table class="display" width="100%" id="cluster_overview_table">
<thead>
<tr>
<th>Cluster</th>
<th>Nodes</th>
<th>Hypervisors</th>
<th>Default hypervisor</th>
<th>Master node</th>
<th>Ganeti version</th>
</tr>
</thead>
<tbody>
{% for cluster in object_list %}
<tr class="GradeA">
<td>
<a href="{% url cluster_detail cluster.slug %}">{{ cluster.hostname }}</a>
</td>
<td>
{% with cluster.get_cluster_nodes as nodes %}
<!--{{ nodes|length }} node{{ nodes|pluralize }}-->
{% for node in nodes %}
<div>{{ node.id }}</div>
{% endfor %}
{% endwith %}
</td>
{% with cluster.get_cluster_info as info %}
<td>{{ info.enabled_hypervisors|join:", " }}</td>
<td>{{ info.default_hypervisor }}</td>
<td>{{ info.master }}</td>
<td>{{ info.software_version }}</td>
{% endwith %}
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}
{% extends "base.html" %}
{% load i18n %}
{% block title %}{{ instance.name }} on {{ instance.cluster.description }}{% endblock %}
{% block extrahead %}
<style type="text/css">
#toolbar {
padding: 10px 4px;
}
</style>
<script type="text/javascript">
var polltimer;
var timer = 2500;
var load_data = function () {
$.ajax({
type: 'GET',
url: '{% url instance-poll cluster.slug instance.name %}',
dataType: 'html',
success: function(data) {
$('#actions_container').html(data);
if ($('#show_no_actions').size()==1){
$('#conf_form').hide();
}else if ($('#show_no_actions').size()==0){
$('#conf_form').show();
}
$("#status").html($("#instance_status").html());
polltimer = setTimeout(load_data, timer);
}
});
}
$(function() {
load_data();
});
</script>
{% endblock %}
{% block breadcrumbs %}:: {{ instance.name }} {% endblock %}
{% block content %}
{% load disksizes %}
<h3>{{ instance.name }}</h3>
<div id="fl_l">
<table class="instance_det_table">
<tr><th class="table_top_header" colspan=2>{% trans "Details" %}</th></tr>
<tr><td class="table_title">{% trans "Status" %}</td><td id="status"></td></tr>
<tr><td class="table_title">{% trans "Cluster" %}</td><td>{{ instance.cluster.description }}</td></tr>
<tr><td class="table_title">{% trans "Memory" %}</td><td>{{ instance.beparams.memory|memsize }}</td></tr>
<tr><td class="table_title">{% trans "CPUs" %}</td><td>{{ instance.beparams.vcpus }}</td></tr>
<tr><td class="table_title">Hard disk{{ instance.disk_sizes|pluralize }}</td><td>{{ instance.disk_sizes|disksizes|join:", " }}</td></tr>
<tr><td class="table_title">{% trans "Network cards" %}</td><td>{{ instance.nic_macs|length }}</td></tr>
<tr><td class="table_title">MAC address{{ instance.nic_macs|pluralize:"es" }}</td><td>{{ instance.nic_macs|join:", " }}</td></tr>
{% if instance.nic_ips %}
<tr><td class="table_title">IP address{{ instance.nic_ips|pluralize:"es" }}</td><td>{{ instance.nic_ips|join:", " }}</td></tr>
{% endif %}
<tr><td class="table_title">{% trans "Created on" %}</td><td>{{ instance.ctime|date }}</td></tr>
<tr><td class="table_title">{% trans "Last modified" %}</td><td>{{ instance.mtime|date }}</td></tr>
</table>
</div>
<div id="configuration">
<form method="post" align="center" id="conf_form">
{% csrf_token %}
<table class="conf_table">
<tr><th colspan="2" style="text-align:center;" class="table_topper_header">{% trans "Configuration" %}</th></tr>
{{ configform.as_table }}
<tr><td colspan="2" style="text-align:center; padding: 5px;" ><input style="font-size: 12px;" id="update" type="Submit" value="Update" /></td></tr>
</table>
</form>
<table class="actions_table">
<tr><th class="table_top_header" colspan=3 style="text-align: center;">{% trans "Actions" %}</th></tr>
<tr>
<td id="actions_container">&nbsp;</td>
<!-- Here a setTimeout jquery script populates the instance control every 5 seconds -->
</tr>
</table>
</div>
{% endblock %}
<script type="text/javascript">
$(function(){
$( "#start" )
.button({
icons: {
secondary: "ui-icon-play"
}
});
$( "#shutdown" )
.button({
icons: {
secondary: "ui-icon-power"
}
});
$( "#reboot" )
.button({
icons: {
secondary: "ui-icon-arrowrefresh-1-s"
}
});
$( "#console" )
.button({
icons: {
secondary: "ui-icon-image"
}
});
$( "#update" )
.button({
icons: {
secondary: "ui-icon-check"
}
});
$( "#start" )
.click(function() {
clearTimeout(polltimer);
$.ajax({
type: 'POST',
url: "{% url instance-startup cluster.slug instance.name %}",
dataType: 'json',
success: function(data) {
$("#actions_container_inner").empty();
$("#actions_container_inner").html("<td>"+data.action+"<td>");
setTimeout(load_data, 0);
}
});
return false; });
$( "#shutdown" )
.click(function() {
clearTimeout(polltimer);
$.ajax({
type: 'POST',
url: "{% url instance-shutdown cluster.slug instance.name %}",
dataType: 'json',
success: function(data) {
$("#actions_container_inner").empty();
$("#actions_container_inner").html("<td>"+data.action+"<td>");
setTimeout(load_data, 0);
}
});
return false; });
$( "#reboot" )