2014-09-12 13:35:57 +02:00
|
|
|
//- TODO: lots of stuff.
|
2015-08-25 19:11:28 +02:00
|
|
|
.grid-sm
|
2015-02-23 15:05:30 +01:00
|
|
|
.panel.panel-default
|
2014-05-30 12:21:17 +02:00
|
|
|
p.page-title
|
|
|
|
|
i.xo-icon-pool
|
|
|
|
|
| {{pool.name_label}}
|
2015-08-25 19:11:28 +02:00
|
|
|
.grid-sm
|
2015-02-23 15:05:30 +01:00
|
|
|
.panel.panel-default
|
|
|
|
|
.panel-heading.panel-title
|
2015-07-24 14:28:51 +02:00
|
|
|
i.fa.fa-cogs
|
2014-05-30 12:21:17 +02:00
|
|
|
| General
|
|
|
|
|
span.quick-edit(tooltip="Edit General settings", ng-click="poolSettings.$show()")
|
|
|
|
|
i.fa.fa-edit.fa-fw
|
2015-02-23 15:05:30 +01:00
|
|
|
.panel-body
|
2014-05-30 12:21:17 +02:00
|
|
|
form(editable-form="", name="poolSettings", onbeforesave="savePool($data)")
|
|
|
|
|
dl.dl-horizontal
|
|
|
|
|
dt Name
|
|
|
|
|
dd
|
|
|
|
|
span(editable-text="pool.name_label", e-name="name_label", e-form="poolSettings")
|
|
|
|
|
| {{pool.name_label}}
|
|
|
|
|
dt Description
|
|
|
|
|
dd
|
|
|
|
|
span(editable-text="pool.name_description", e-name="name_description", e-form="poolSettings")
|
|
|
|
|
| {{pool.name_description}}
|
|
|
|
|
dt Master
|
|
|
|
|
dd(ng-repeat="master in [pool.master] | resolve")
|
2015-05-28 10:24:24 +02:00
|
|
|
a(ui-sref="hosts_view({id: master.id})")
|
2014-05-30 12:21:17 +02:00
|
|
|
| {{master.name_label}}
|
|
|
|
|
dt Tags
|
|
|
|
|
dd
|
2015-09-15 17:16:01 +02:00
|
|
|
xo-tag(ng-if = 'pool', object = 'pool')
|
2014-05-30 12:21:17 +02:00
|
|
|
dt(ng-if="pool.default_SR") Default SR
|
|
|
|
|
dd(ng-if="pool.default_SR", ng-init="default_SR = (pool.default_SR | resolve)")
|
2015-05-28 10:24:24 +02:00
|
|
|
a(ui-sref="SRs_view({id: default_SR.id})") {{default_SR.name_label}}
|
2014-05-30 12:21:17 +02:00
|
|
|
dt HA
|
|
|
|
|
dd
|
|
|
|
|
| {{pool.HA_enabled}}
|
|
|
|
|
dt UUID
|
|
|
|
|
dd {{pool.UUID}}
|
|
|
|
|
.btn-form(ng-show="poolSettings.$visible")
|
|
|
|
|
p.center
|
|
|
|
|
button.btn.btn-default(type="button", ng-disabled="poolSettings.$waiting", ng-click="poolSettings.$cancel()")
|
|
|
|
|
i.fa.fa-times
|
|
|
|
|
| Cancel
|
|
|
|
|
|
|
|
|
|
|
button.btn.btn-primary(type="submit", ng-disabled="poolSettings.$waiting")
|
|
|
|
|
i.fa.fa-save
|
|
|
|
|
| Save
|
2015-02-23 15:05:30 +01:00
|
|
|
.panel.panel-default
|
|
|
|
|
.panel-heading.panel-title
|
2015-07-24 14:28:51 +02:00
|
|
|
i.xo-icon-stats
|
2014-08-19 15:17:38 +02:00
|
|
|
| Stats
|
2015-05-14 15:09:47 +02:00
|
|
|
.row
|
2015-08-25 19:11:28 +02:00
|
|
|
.col-xs-6
|
2014-05-30 12:21:17 +02:00
|
|
|
p.stat-name Hosts:
|
2015-05-28 10:58:24 +02:00
|
|
|
p.center.big-stat {{hosts | count}}
|
2015-08-25 19:11:28 +02:00
|
|
|
.col-xs-6
|
2014-05-30 12:21:17 +02:00
|
|
|
p.stat-name Running:
|
2015-05-28 10:58:24 +02:00
|
|
|
p.center.big-stat {{runningHosts | count}}
|
2014-10-01 15:45:29 +02:00
|
|
|
|
2014-09-12 13:35:57 +02:00
|
|
|
//- Action panel
|
2015-08-25 19:11:28 +02:00
|
|
|
.grid-sm
|
2015-02-23 15:05:30 +01:00
|
|
|
.panel.panel-default
|
|
|
|
|
.panel-heading.panel-title
|
2015-07-24 14:28:51 +02:00
|
|
|
i.fa.fa-flash
|
2014-05-30 12:21:17 +02:00
|
|
|
| Actions
|
2015-02-23 15:05:30 +01:00
|
|
|
.panel-body
|
|
|
|
|
.grid-cell.text-center
|
|
|
|
|
.grid
|
|
|
|
|
.grid-cell.btn-group
|
2015-10-08 15:03:50 +02:00
|
|
|
button.btn(tooltip="Add SR", tooltip-placement="top", type="button", style="width: 90%", disabled)
|
2015-02-23 15:05:30 +01:00
|
|
|
i.xo-icon-sr.fa-2x.fa-fw
|
|
|
|
|
.grid-cell.btn-group
|
2015-10-08 15:03:50 +02:00
|
|
|
button.btn(tooltip="Add VM", tooltip-placement="top", type="button", style="width: 90%", xo-sref="VMs_new({container: pool.id})")
|
2015-02-23 15:05:30 +01:00
|
|
|
i.xo-icon-vm.fa-2x.fa-fw
|
|
|
|
|
.grid-cell.btn-group
|
2015-10-08 15:03:50 +02:00
|
|
|
button.btn(tooltip="Patch the pool", tooltip-placement="top", type="button", style="width: 90%", ng-file-select = "patchPool($files, pool.id)")
|
2015-02-23 15:05:30 +01:00
|
|
|
i.fa.fa-file-code-o.fa-2x.fa-fw
|
|
|
|
|
.grid-cell.btn-group
|
2015-10-08 15:03:50 +02:00
|
|
|
button.btn(tooltip="Add Host", tooltip-placement="top", type="button", style="width: 90%")
|
2015-02-23 15:05:30 +01:00
|
|
|
i.xo-icon-host.fa-2x.fa-fw
|
|
|
|
|
.grid-cell.btn-group
|
2015-10-08 15:03:50 +02:00
|
|
|
button.btn(tooltip="Disconnect", tooltip-placement="top", type="button", style="width: 90%; margin-bottom: 0.5em")
|
2015-02-23 15:05:30 +01:00
|
|
|
i.fa.fa-unlink.fa-2x.fa-fw
|
2014-10-01 15:45:29 +02:00
|
|
|
|
2014-09-12 13:35:57 +02:00
|
|
|
//- Hosts panel
|
2015-08-25 19:11:28 +02:00
|
|
|
.grid-sm
|
2015-02-23 15:05:30 +01:00
|
|
|
.panel.panel-default
|
|
|
|
|
.panel-heading.panel-title
|
2015-07-24 14:28:51 +02:00
|
|
|
i.xo-icon-host
|
2014-05-30 12:21:17 +02:00
|
|
|
| Hosts
|
2015-02-23 15:05:30 +01:00
|
|
|
.panel-body
|
|
|
|
|
table.table.table-hover.table-condensed
|
|
|
|
|
th Name
|
|
|
|
|
th.col-md-4 Description
|
|
|
|
|
th.col-md-6 Memory
|
2015-05-28 10:58:24 +02:00
|
|
|
tr(xo-sref="hosts_view({id: host.id})", ng-repeat="host in hosts | map | orderBy:natural('name_label') track by host.id")
|
2015-05-14 15:10:03 +02:00
|
|
|
td.oneliner {{host.name_label}}
|
|
|
|
|
td.oneliner {{host.name_description}}
|
2015-02-23 15:05:30 +01:00
|
|
|
td
|
|
|
|
|
.progress-condensed
|
2015-05-27 17:18:49 +02:00
|
|
|
.progress-bar(role="progressbar", aria-valuemin="0", aria-valuenow="{{host.memory.usage}}", aria-valuemax="{{host.memory.size}}", style="width: {{[host.memory.usage, host.memory.size] | percentage}}")
|
2015-02-23 15:05:30 +01:00
|
|
|
|
2014-09-12 13:35:57 +02:00
|
|
|
//- Shared SR panel
|
2015-08-25 19:11:28 +02:00
|
|
|
.grid-sm
|
2015-02-23 15:05:30 +01:00
|
|
|
.panel.panel-default
|
|
|
|
|
.panel-heading.panel-title
|
2015-07-24 14:28:51 +02:00
|
|
|
i.xo-icon-sr
|
2014-05-30 12:21:17 +02:00
|
|
|
| Shared SR
|
2015-02-23 15:05:30 +01:00
|
|
|
.panel-body
|
2014-05-30 12:21:17 +02:00
|
|
|
table.table.table-hover
|
|
|
|
|
th Name
|
|
|
|
|
th Description
|
|
|
|
|
th Type
|
|
|
|
|
th Size
|
|
|
|
|
th.col-md-4 Physical/Allocated usage
|
2015-05-28 10:58:24 +02:00
|
|
|
tr(
|
|
|
|
|
ng-repeat="SR in srs | map | orderBy:natural('name_label') track by SR.id"
|
|
|
|
|
xo-sref="SRs_view({id: SR.id})"
|
|
|
|
|
)
|
2015-05-14 15:10:03 +02:00
|
|
|
td.oneliner {{SR.name_label}}
|
|
|
|
|
td.oneliner {{SR.name_description}}
|
2014-05-30 12:21:17 +02:00
|
|
|
td {{SR.SR_type}}
|
|
|
|
|
td {{SR.size | bytesToSize}}
|
|
|
|
|
td
|
|
|
|
|
.progress-condensed
|
2015-05-27 17:18:49 +02:00
|
|
|
.progress-bar(role="progressbar", aria-valuemin="0", aria-valuenow="{{SR.usage}}", aria-valuemax="{{SR.size}}", style="width: {{[SR.physical_usage, SR.size] | percentage}}", tooltip="Physical usage: {{[SR.physical_usage, SR.size] | percentage}}")
|
|
|
|
|
.progress-bar.progress-bar-info(role="progressbar", aria-valuemin="0", aria-valuenow="{{SR.physical_usage}}", aria-valuemax="{{SR.size}}", style="width: {{[(SR.usage-SR.physical_usage), SR.size] | percentage}}", tooltip="Allocated: {{[(SR.usage), SR.size] | percentage}}")
|
2015-02-23 15:05:30 +01:00
|
|
|
|
|
|
|
|
//- Logs panel
|
2015-08-25 19:11:28 +02:00
|
|
|
.grid-sm
|
2015-02-23 15:05:30 +01:00
|
|
|
.panel.panel-default
|
|
|
|
|
.panel-heading.panel-title
|
2015-07-24 14:28:51 +02:00
|
|
|
i.fa.fa-comments
|
2014-11-21 16:12:46 +01:00
|
|
|
| Logs
|
2015-05-28 10:12:24 +02:00
|
|
|
span.quick-edit(ng-if="pool.messages | isNotEmpty", tooltip="Remove all logs", xo-click="deleteAllLog()")
|
2014-11-21 16:12:46 +01:00
|
|
|
i.fa.fa-trash-o.fa-fw
|
2015-02-23 15:05:30 +01:00
|
|
|
.panel-body
|
2015-05-28 10:12:24 +02:00
|
|
|
p.center(ng-if="pool.messages | isEmpty") No recent logs
|
|
|
|
|
table.table.table-hover(ng-if="pool.messages | isNotEmpty")
|
2015-02-23 15:05:30 +01:00
|
|
|
th Date
|
|
|
|
|
th Name
|
2015-05-28 10:24:24 +02:00
|
|
|
tr(ng-repeat="message in pool.messages | map | orderBy:'-time' | slice:(5*(currentLogPage-1)):(5*currentLogPage) track by message.id")
|
2015-02-23 15:05:30 +01:00
|
|
|
td {{message.time*1e3 | date:"medium"}}
|
|
|
|
|
td
|
|
|
|
|
| {{message.name}}
|
|
|
|
|
span.pull-right.btn-group.quick-buttons
|
2015-05-28 10:24:24 +02:00
|
|
|
a(xo-click="deleteLog(message.id)")
|
2015-02-23 15:05:30 +01:00
|
|
|
i.fa.fa-trash-o.fa-lg(tooltip="Remove this log entry")
|
2015-07-21 14:11:24 +02:00
|
|
|
.center(ng-if = '(pool.messages | count) > 5 || currentLogPage > 1')
|
2015-05-28 10:12:24 +02:00
|
|
|
pagination(boundary-links="true", total-items="pool.messages | count", ng-model="$parent.currentLogPage", items-per-page="5", max-size="5", class="pagination-sm", previous-text="<", next-text=">", first-text="<<", last-text=">>")
|