[pve-devel] [PATCH pve-manager 6/8] use new VMSummaryBase class for lxc and qemu summary
Thomas Lamprecht
t.lamprecht at proxmox.com
Wed Sep 23 17:54:44 CEST 2015
also the keys to display from the lxc config where updated as some
from OpenVZ times where used.
Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---
www/mobile/LXCSummary.js | 179 ++--------------------------------------------
www/mobile/QemuSummary.js | 175 ++------------------------------------------
2 files changed, 12 insertions(+), 342 deletions(-)
diff --git a/www/mobile/LXCSummary.js b/www/mobile/LXCSummary.js
index 15f8005..a73f350 100644
--- a/www/mobile/LXCSummary.js
+++ b/www/mobile/LXCSummary.js
@@ -1,5 +1,5 @@
Ext.define('PVE.LXCSummary', {
- extend: 'PVE.Page',
+ extend: 'PVE.VMSummaryBase',
alias: 'widget.pveLXCSummary',
statics: {
@@ -8,123 +8,12 @@ Ext.define('PVE.LXCSummary', {
}
},
- nodename: undefined,
- vmid: undefined,
+ vmtype: 'lxc',
- vm_command: function(cmd, params) {
- var me = this;
-
- PVE.Utils.API2Request({
- params: params,
- url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + '/status/' + cmd,
- method: 'POST',
- success: function(response, opts) {
- var upid = response.result.data;
- var page = 'nodes/' + me.nodename + '/tasks/' + upid;
- PVE.Workspace.gotoPage(page);
- },
- failure: function(response, opts) {
- Ext.Msg.alert('Error', response.htmlStatus);
- }
- });
- },
-
- config: {
- items: [
- {
- xtype: 'pveTitleBar'
- },
- {
- xtype: 'component',
- itemId: 'ctstatus',
- styleHtmlContent: true,
- style: 'background-color:white;',
- tpl: [
- '<table style="margin-bottom:0px;">',
-
- '<tr><td>Status:</td><td>{status}</td></tr>',
- '<tr><td>Memory:</td><td>{[this.meminfo(values)]}</td></tr>',
- '<tr><td>CPU:</td><td>{[this.cpuinfo(values)]}</td></tr>',
- '<tr><td>Uptime:</td><td>{[PVE.Utils.format_duration_long'+
- '(values.uptime)]}</td></tr>',
-
- '</table>',
- {
- meminfo: function(values) {
- if (!Ext.isDefined(values.mem)) {
- return '-';
- }
- return PVE.Utils.format_size(values.mem || 0) + " of " +
- PVE.Utils.format_size(values.maxmem);
- },
- cpuinfo: function(values) {
- if (!Ext.isDefined(values.cpu)) {
- return '-';
- }
- var per = values.cpu * 100;
- return per.toFixed(2) + "% (" + values.cpus + " CPUs)";
- }
- }
- ]
- },
- {
- xtype: 'component',
- padding: 5,
- html: gettext('Configuration')
- },
- {
- xtype: 'container',
- scrollable: 'both',
- flex: 1,
- styleHtmlContent: true,
- itemId: 'ctconfig',
- style: 'background-color:white;white-space:pre;',
- tpl: [
- '<table style="margin-bottom:0px;">',
- '<tpl for=".">',
- '<tr><td>{key}</td><td>{value}</td></tr>',
- '</tpl>',
- '</table>'
- ]
- }
- ]
- },
-
- reload: function() {
- var me = this;
-
- var cti = me.down('#ctstatus');
-
- var error_handler = function(response) {
- me.setMasked({ xtype: 'loadmask', message: response.htmlStatus} );
- };
-
- PVE.Utils.API2Request({
- url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + '/status/current',
- method: 'GET',
- success: function(response) {
- var d = response.result.data;
- cti.setData(d);
- },
- failure: error_handler
- });
-
- var ctc = me.down('#ctconfig');
-
- PVE.Utils.API2Request({
- url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + '/config',
- method: 'GET',
- success: function(response) {
- var d = response.result.data;
- var names = ['hostname', 'memory', 'swap', 'cpus', 'ostemplate',
- 'ip_address', 'nameserver', 'searchdomain',
- 'netif'];
- var kv = PVE.Workspace.obj_to_kv(d, names);
- ctc.setData(kv);
- },
- failure: error_handler
- });
- },
+ config_keys: [
+ 'hostname','ostype', , 'memory', 'swap', 'cpulimit', 'cpuunits',
+ /^net\d+/, 'rootfs', /^mp\d+/, 'nameserver', 'searchdomain','description'
+ ],
initialize: function() {
var me = this;
@@ -139,62 +28,6 @@ Ext.define('PVE.LXCSummary', {
me.down('titlebar').setTitle('CT: ' + me.vmid);
- me.down('pveMenuButton').setMenuItems([
- {
- text: gettext('Start'),
- handler: function() {
- me.vm_command("start", {});
- }
- },
- {
- text: gettext('Suspend'),
- handler: function() {
- me.vm_command("suspend", {});
- }
- },
- {
- text: gettext('Resume'),
- handler: function() {
- me.vm_command("resume", {});
- }
- },
- {
- text: gettext('Shutdown'),
- handler: function() {
- me.vm_command("shutdown", {});
- }
- },
- {
- text: gettext('Stop'),
- handler: function() {
- me.vm_command("stop", {});
- }
- },
- {
- text: gettext('Migrate'),
- handler: function() {
- PVE.Workspace.gotoPage('nodes/' + me.nodename + '/lxc/'
- + me.vmid + '/migrate');
- }
- },
- {
- text: gettext('Console'),
- handler: function() {
- PVE.Utils.openConsoleWindow('html5', 'lxc', me.vmid,
- me.nodename);
- }
- },
- {
- text: gettext('Spice'),
- handler: function() {
- PVE.Utils.openConsoleWindow('vv', 'lxc', me.vmid,
- me.nodename);
- }
- }
- ]);
-
- me.reload();
-
this.callParent();
}
});
diff --git a/www/mobile/QemuSummary.js b/www/mobile/QemuSummary.js
index ad72460..6cbaba1 100644
--- a/www/mobile/QemuSummary.js
+++ b/www/mobile/QemuSummary.js
@@ -1,5 +1,5 @@
Ext.define('PVE.QemuSummary', {
- extend: 'PVE.Page',
+ extend: 'PVE.VMSummaryBase',
alias: 'widget.pveQemuSummary',
statics: {
@@ -8,122 +8,12 @@ Ext.define('PVE.QemuSummary', {
}
},
- nodename: undefined,
- vmid: undefined,
+ vmtype: 'qemu',
- vm_command: function(cmd, params) {
- var me = this;
-
- PVE.Utils.API2Request({
- params: params,
- url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/status/' + cmd,
- method: 'POST',
- success: function(response, opts) {
- var upid = response.result.data;
- var page = 'nodes/' + me.nodename + '/tasks/' + upid;
- PVE.Workspace.gotoPage(page);
- },
- failure: function(response, opts) {
- Ext.Msg.alert('Error', response.htmlStatus);
- }
- });
- },
-
- config: {
- items: [
- {
- xtype: 'pveTitleBar'
- },
- {
- xtype: 'component',
- itemId: 'vmstatus',
- styleHtmlContent: true,
- style: 'background-color:white;',
- tpl: [
- '<table style="margin-bottom:0px;">',
- '<tr><td>Status:</td><td>{qmpstatus}</td></tr>',
- '<tr><td>Memory:</td><td>{[this.meminfo(values)]}</td></tr>',
- '<tr><td>CPU:</td><td>{[this.cpuinfo(values)]}</td></tr>',
- '<tr><td>Uptime:</td><td>{[PVE.Utils.format_duration_long(values.uptime)]}</td></tr>',
- '</table>',
- {
- meminfo: function(values) {
- if (!Ext.isDefined(values.mem)) {
- return '-';
- }
- return PVE.Utils.format_size(values.mem || 0) + " of " +
- PVE.Utils.format_size(values.maxmem);
- },
- cpuinfo: function(values) {
- if (!Ext.isDefined(values.cpu)) {
- return '-';
- }
- var per = values.cpu * 100;
- return per.toFixed(2) + "% (" + values.cpus + " CPUs)";
- }
- }
- ]
- },
- {
- xtype: 'component',
- cls: 'dark',
- padding: 5,
- html: gettext('Configuration')
- },
- {
- xtype: 'container',
- scrollable: 'both',
- flex: 1,
- styleHtmlContent: true,
- itemId: 'vmconfig',
- style: 'background-color:white;white-space:pre',
- tpl: [
- '<table style="margin-bottom:0px;">',
- '<tpl for=".">',
- '<tr><td>{key}</td><td>{value}</td></tr>',
- '</tpl>',
- '</table>'
- ]
- }
- ]
- },
-
- reload: function() {
- var me = this;
-
- var vmi = me.down('#vmstatus');
-
- var error_handler = function(response) {
- me.setMasked({ xtype: 'loadmask', message: response.htmlStatus} );
- };
-
- PVE.Utils.API2Request({
- url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/status/current',
- method: 'GET',
- success: function(response) {
- var d = response.result.data;
- vmi.setData(d);
- },
- failure: error_handler
- });
-
- var vmc = me.down('#vmconfig');
-
- PVE.Utils.API2Request({
- url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/config',
- method: 'GET',
- success: function(response) {
- var d = response.result.data;
- var names = ['name', 'memory', 'sockets', 'cores', 'ostype',
- 'bootdisk', /^net\d+/,
- /^ide\d+/, /^virtio\d+/, /^sata\d+/,
- /^scsi\d+/, /^unused\d+/ ];
- var kv = PVE.Workspace.obj_to_kv(d, names);
- vmc.setData(kv);
- },
- failure: error_handler
- });
- },
+ config_keys: [
+ 'name', 'memory', 'sockets', 'cores', 'ostype', 'bootdisk', /^net\d+/,
+ /^ide\d+/, /^virtio\d+/, /^sata\d+/, /^scsi\d+/, /^unused\d+/
+ ],
initialize: function() {
var me = this;
@@ -138,59 +28,6 @@ Ext.define('PVE.QemuSummary', {
me.down('titlebar').setTitle('VM: ' + me.vmid);
- me.down('pveMenuButton').setMenuItems([
- {
- text: gettext('Start'),
- handler: function() {
- me.vm_command("start", {});
- }
- },
- {
- text: gettext('Suspend'),
- handler: function() {
- me.vm_command("suspend", {});
- }
- },
- {
- text: gettext('Resume'),
- handler: function() {
- me.vm_command("resume", {});
- }
- },
- {
- text: gettext('Shutdown'),
- handler: function() {
- me.vm_command("shutdown", {});
- }
- },
- {
- text: gettext('Stop'),
- handler: function() {
- me.vm_command("stop", {});
- }
- },
- {
- text: gettext('Migrate'),
- handler: function() {
- PVE.Workspace.gotoPage('nodes/' + me.nodename + '/qemu/' + me.vmid + '/migrate');
- }
- },
- {
- text: gettext('Console'),
- handler: function() {
- PVE.Utils.openConsoleWindow('html5', 'kvm', me.vmid, me.nodename);
- }
- },
- {
- text: gettext('Spice'),
- handler: function() {
- PVE.Utils.openConsoleWindow('vv', 'kvm', me.vmid, me.nodename);
- }
- }
- ]);
-
- me.reload();
-
this.callParent();
}
});
--
2.1.4
More information about the pve-devel
mailing list