]>
Commit | Line | Data |
---|---|---|
a42bccb2 DM |
1 | Ext.define('PVE.lxc.StatusView', { |
2 | extend: 'PVE.grid.ObjectGrid', | |
8c70732b | 3 | disabled: true, |
a42bccb2 DM |
4 | |
5 | initComponent : function() { | |
6 | var me = this; | |
7 | ||
8 | var nodename = me.pveSelNode.data.node; | |
9 | if (!nodename) { | |
10 | throw "no node name specified"; | |
11 | } | |
12 | ||
13 | var vmid = me.pveSelNode.data.vmid; | |
14 | if (!vmid) { | |
15 | throw "no VM ID specified"; | |
16 | } | |
17 | ||
f48141d7 DC |
18 | var template = !!me.pveSelNode.data.template; |
19 | ||
a42bccb2 DM |
20 | var render_cpu = function(value, metaData, record, rowIndex, colIndex, store) { |
21 | if (!me.getObjectValue('uptime')) { | |
22 | return '-'; | |
23 | } | |
24 | ||
25 | var maxcpu = me.getObjectValue('cpus', 1); | |
26 | ||
27 | if (!(Ext.isNumeric(value) && Ext.isNumeric(maxcpu) && (maxcpu >= 1))) { | |
28 | return '-'; | |
29 | } | |
30 | ||
31 | var cpu = value * 100; | |
32 | return cpu.toFixed(1) + '% of ' + maxcpu.toString() + (maxcpu > 1 ? 'CPUs' : 'CPU'); | |
33 | ||
34 | }; | |
35 | ||
36 | var render_mem = function(value, metaData, record, rowIndex, colIndex, store) { | |
37 | var maxmem = me.getObjectValue('maxmem', 0); | |
38 | var per = (value / maxmem)*100; | |
39 | var text = "<div>" + PVE.Utils.totalText + ": " + PVE.Utils.format_size(maxmem) + "</div>" + | |
40 | "<div>" + PVE.Utils.usedText + ": " + PVE.Utils.format_size(value) + "</div>"; | |
41 | return text; | |
42 | }; | |
43 | ||
44 | var render_swap = function(value, metaData, record, rowIndex, colIndex, store) { | |
45 | var maxswap = me.getObjectValue('maxswap', 0); | |
46 | var per = (value / maxswap)*100; | |
47 | var text = "<div>" + PVE.Utils.totalText + ": " + PVE.Utils.format_size(maxswap) + "</div>" + | |
48 | "<div>" + PVE.Utils.usedText + ": " + PVE.Utils.format_size(value) + "</div>"; | |
49 | return text; | |
50 | }; | |
51 | ||
52 | var render_status = function(value, metaData, record, rowIndex, colIndex, store) { | |
53 | var failcnt = me.getObjectValue('failcnt', 0); | |
54 | if (failcnt > 0) { | |
55 | return value + " (failure count " + failcnt.toString() + ")"; | |
56 | } | |
57 | return value; | |
58 | }; | |
59 | ||
e002f24d WB |
60 | var render_bootdisk = function(value, metaData, record, rowIndex, colIndex, store) { |
61 | if (!Ext.isNumeric(value)) { | |
62 | return ''; | |
63 | } | |
64 | var disk = me.getObjectValue('disk', 0); | |
65 | var text = "<div>" + PVE.Utils.totalText + ": " + PVE.Utils.format_size(value) + "</div>"; | |
66 | if (Ext.isNumeric(disk) && disk > 0) { | |
67 | text += "<div>" + PVE.Utils.usedText + ": " + PVE.Utils.format_size(disk) + "</div>"; | |
68 | } | |
69 | return text; | |
70 | }; | |
71 | ||
f48141d7 | 72 | var rows = {}; |
a42bccb2 | 73 | |
f48141d7 DC |
74 | if (template) { |
75 | rows = { | |
76 | name: { header: gettext('Name'), defaultValue: 'no name specified' }, | |
77 | cpus: { header: gettext('CPU limit'), required: true}, | |
78 | maxmem: { header: gettext('Memory'), required: true, renderer: PVE.Utils.render_size }, | |
79 | maxswap: { header: gettext('VSwap'), required: true, renderer: PVE.Utils.render_size }, | |
80 | maxdisk: { header: gettext('Bootdisk size'), renderer: PVE.Utils.render_size, required: true} | |
81 | }; | |
82 | } else { | |
83 | rows = { | |
84 | name: { header: gettext('Name'), defaultValue: 'no name specified' }, | |
85 | status: { header: gettext('Status'), defaultValue: 'unknown', renderer: render_status }, | |
86 | failcnt: { visible: false }, | |
87 | cpu: { header: gettext('CPU usage'), required: true, renderer: render_cpu }, | |
88 | cpus: { visible: false }, | |
89 | mem: { header: gettext('Memory usage'), required: true, renderer: render_mem }, | |
90 | maxmem: { visible: false }, | |
91 | swap: { header: gettext('VSwap usage'), required: true, renderer: render_swap }, | |
92 | maxswap: { visible: false }, | |
e002f24d | 93 | maxdisk: { header: gettext('Bootdisk size'), renderer: render_bootdisk, required: true}, |
f48141d7 DC |
94 | uptime: { header: gettext('Uptime'), required: true, renderer: PVE.Utils.render_uptime }, |
95 | ha: { header: gettext('Managed by HA'), required: true, renderer: PVE.Utils.format_ha } | |
96 | }; | |
97 | } | |
a42bccb2 DM |
98 | Ext.applyIf(me, { |
99 | cwidth1: 150, | |
a42bccb2 DM |
100 | rows: rows |
101 | }); | |
102 | ||
103 | me.callParent(); | |
104 | } | |
105 | }); |