1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
{% load i18n sizeformat %}
{% load url from future %}
<h3>{% trans "Instance Overview" %}</h3>
<div class="status row-fluid detail">
<h4>{% trans "Info" %}</h4>
<hr class="header_rule">
<dl>
<dt>{% trans "Name" %}</dt>
<dd>{{ instance.name }}</dd>
<dt>{% trans "ID" %}</dt>
<dd>{{ instance.id }}</dd>
<dt>{% trans "Status" %}</dt>
<dd>{{ instance.status|title }}</dd>
<dt>{% trans "Availability Zone" %}</dt>
<dd>{{ instance.availability_zone|default:"-" }}</dd>
<dt>{% trans "Created" %}</dt>
<dd>{{ instance.created|parse_isotime }}</dd>
<dt>{% trans "Uptime" %}</dt>
<dd>{{ instance.created|parse_isotime|timesince }}</dd>
</dl>
</div>
{% if instance.fault %}
<div class="status row-fluid detail">
<h4>{% trans "Fault" %}</h4>
<hr class="header_rule">
<dl>
<dt>{% trans "Message" %}</dt>
<dd>{{ instance.fault.message }}</dd>
<dt>{% trans "Code" %}</dt>
<dd>{{ instance.fault.code }}</dd>
<dt>{% trans "Details" %}</dt>
<dd>{{ instance.fault.details }}</dd>
<dt>{% trans "Created" %}</dt>
<dd>{{ instance.fault.created|parse_isotime }}</dd>
</dl>
</div>
{% endif %}
<div class="specs row-fluid detail">
<h4>{% trans "Specs" %}</h4>
<hr class="header_rule">
<dl>
<dt>{% trans "Flavor" %}</dt>
<dd>{{ instance.full_flavor.name }}</dd>
<dt>{% trans "RAM" %}</dt>
<dd>{{ instance.full_flavor.ram|mbformat }}</dd>
<dt>{% trans "VCPUs" %}</dt>
<dd>{{ instance.full_flavor.vcpus }} {% trans "VCPU" %}</dd>
<dt>{% trans "Disk" %}</dt>
<dd>{{ instance.full_flavor.disk }}{% trans "GB" %}</dd>
{% if instance.full_flavor.ephemeral %}
<dt>{% trans "Ephemeral Disk" %}</dt>
<dd>{{ instance.full_flavor.ephemeral }}{% trans "GB" %}</dd>
{% endif %}
</dl>
</div>
<div class="addresses row-fluid detail">
<h4>{% trans "IP Addresses" %}</h4>
<hr class="header_rule">
<dl>
{% for network, ip_list in instance.addresses.items %}
<dt>{{ network|title }}</dt>
<dd>
{% for ip in ip_list %}
{% if not forloop.last %}{{ ip.addr}}, {% else %}{{ip.addr}}{% endif %}
{% endfor %}
</dd>
{% endfor %}
</dl>
</div>
<div class="security_groups row-fluid detail">
<h4>{% trans "Security Groups" %}</h4>
<hr class="header_rule">
<dl>
{% for group in instance.security_groups %}
<dt>{{ group.name }}</dt>
<dd>
<ul>
{% for rule in group.rules %}
<li>{{ rule }}</li>
{% empty %}
<li><em>{% trans "No rules defined." %}</em></li>
{% endfor %}
</ul>
</dd>
{% endfor %}
</dl>
</div>
<div class="meta row-fluid detail">
<h4>{% trans "Meta" %}</h4>
<hr class="header_rule">
<dl>
<dt>{% trans "Key Name" %}</dt>
{% with default_key_name="<em>"|add:_("None")|add:"</em>" %}
<dd>{{ instance.key_name|default:default_key_name }}</dd>
{% endwith %}
{% url 'horizon:project:images:images:detail' instance.image.id as image_url %}
<dt>{% trans "Image Name" %}</dt>
<dd><a href="{{ image_url }}">{{ instance.image_name }}</a></dd>
{% with default_item_value="<em>"|add:_("N/A")|add:"</em>" %}
{% for key, value in instance.metadata.items %}
<dt>{{ key|force_escape }}</dt>
<dd>{{ value|force_escape|default:default_item_value }}</dd>
{% endfor%}
{% endwith %}
</dl>
</div>
<div class="volumes row-fluid detail">
<h4>{% trans "Volumes Attached" %}</h4>
<hr class="header_rule">
<dl>
{% for volume in instance.volumes %}
<dt>{% trans "Attached To" %}</dt>
<dd>
<a href="{% url 'horizon:project:volumes:volumes:detail' volume.id %}">
{% if volume.name %}
{{ volume.name }}
{% else %}
{{ volume.id }}
{% endif %}
</a>
<span> {% trans "on" %} {{ volume.device }}</span>
</dd>
{% empty %}
<dt>{% trans "Volume" %}</dt>
<dd><em>{% trans "No volumes attached." %}</em></dd>
{% endfor %}
</dl>
</div>
|