[pve-devel] [PATCH pve-manager 1/1] ui: cloudinit : use new cloudinit config api
Alexandre Derumier
aderumier at odiso.com
Fri Mar 19 13:07:12 CET 2021
---
www/manager6/qemu/CloudInit.js | 44 ++++++++++++++++++----------------
1 file changed, 24 insertions(+), 20 deletions(-)
diff --git a/www/manager6/qemu/CloudInit.js b/www/manager6/qemu/CloudInit.js
index ccd1840b..423f09ef 100644
--- a/www/manager6/qemu/CloudInit.js
+++ b/www/manager6/qemu/CloudInit.js
@@ -133,13 +133,20 @@ Ext.define('PVE.qemu.CloudInit', {
return;
}
var id = record.data.key;
+ var pending = record.data.pending;
var value = record.data.value;
var ciregex = new RegExp("vm-" + me.pveSelNode.data.vmid + "-cloudinit");
- if (id.match(/^(ide|scsi|sata)\d+$/) && ciregex.test(value)) {
+ if (id.match(/^(ide|scsi|sata)\d+$/)) {
+ if(ciregex.test(pending)) {
+ found = id;
+ me.ciDriveId = found;
+ me.ciDrive = pending;
+ } else if (ciregex.test(value)) {
found = id;
me.ciDriveId = found;
me.ciDrive = value;
}
+ }
});
me.down('#savebtn').setDisabled(!found);
@@ -188,12 +195,13 @@ Ext.define('PVE.qemu.CloudInit', {
}
var caps = Ext.state.Manager.get('GuiCap');
me.baseurl = '/api2/extjs/nodes/' + nodename + '/qemu/' + vmid;
- me.url = me.baseurl + '/pending';
+ me.url = me.baseurl + '/cloudinit';
me.editorConfig.url = me.baseurl + '/config';
me.editorConfig.pveSelNode = me.pveSelNode;
let caps_ci = caps.vms['VM.Config.Cloudinit'] || caps.vms['VM.Config.Network'];
/* editor is string and object */
+
me.rows = {
ciuser: {
header: gettext('User'),
@@ -239,6 +247,13 @@ Ext.define('PVE.qemu.CloudInit', {
return value || Proxmox.Utils.noneText;
},
},
+ name: {
+ header: gettext('Hostname'),
+ iconCls: 'fa fa-globe',
+ editor: undefined,
+ never_delete: true,
+ defaultValue: '',
+ },
searchdomain: {
header: gettext('DNS domain'),
iconCls: 'fa fa-globe',
@@ -291,35 +306,24 @@ Ext.define('PVE.qemu.CloudInit', {
},
};
var i;
- var ipconfig_renderer = function(value, md, record, ri, ci, store, pending) {
- var id = record.data.key;
- var match = id.match(/^net(\d+)$/);
- var val = '';
- if (match) {
- val = me.getObjectValue('ipconfig'+match[1], '', pending);
- }
- return val;
- };
+
for (i = 0; i < 32; i++) {
- // we want to show an entry for every network device
- // even if it is empty
- me.rows['net' + i.toString()] = {
- multiKey: ['ipconfig' + i.toString(), 'net' + i.toString()],
+ me.rows['ipconfig' + i.toString()] = {
header: gettext('IP Config') + ' (net' + i.toString() +')',
editor: caps.vms['VM.Config.Network'] ? 'PVE.qemu.IPConfigEdit' : undefined,
iconCls: 'fa fa-exchange',
- renderer: ipconfig_renderer,
- };
- me.rows['ipconfig' + i.toString()] = {
- visible: false,
+ visible: true,
};
}
PVE.Utils.forEachBus(['ide', 'scsi', 'sata'], function(type, id) {
me.rows[type+id] = {
- visible: false,
+ title: 'Cloud-Init',
+ iconCls: 'fa fa-cloud',
+ never_delete: true,
};
});
+
me.callParent();
me.mon(me.rstore, 'load', me.set_button_status, me);
},
--
2.20.1
More information about the pve-devel
mailing list