public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH pve-manager 0/1] RFC: cloud-init change
@ 2021-03-19 12:07 Alexandre Derumier
  2021-03-19 12:07 ` [pve-devel] [PATCH pve-manager 1/1] ui: cloudinit : use new cloudinit config api Alexandre Derumier
  0 siblings, 1 reply; 2+ messages in thread
From: Alexandre Derumier @ 2021-03-19 12:07 UTC (permalink / raw)
  To: pve-devel

Following the qemu-server patch series

Alexandre Derumier (1):
  ui: cloudinit : use new cloudinit config api

 www/manager6/qemu/CloudInit.js | 44 ++++++++++++++++++----------------
 1 file changed, 24 insertions(+), 20 deletions(-)

-- 
2.20.1




^ permalink raw reply	[flat|nested] 2+ messages in thread

* [pve-devel] [PATCH pve-manager 1/1] ui: cloudinit : use new cloudinit config api
  2021-03-19 12:07 [pve-devel] [PATCH pve-manager 0/1] RFC: cloud-init change Alexandre Derumier
@ 2021-03-19 12:07 ` Alexandre Derumier
  0 siblings, 0 replies; 2+ messages in thread
From: Alexandre Derumier @ 2021-03-19 12:07 UTC (permalink / raw)
  To: pve-devel

---
 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




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-03-19 12:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-19 12:07 [pve-devel] [PATCH pve-manager 0/1] RFC: cloud-init change Alexandre Derumier
2021-03-19 12:07 ` [pve-devel] [PATCH pve-manager 1/1] ui: cloudinit : use new cloudinit config api Alexandre Derumier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal