Currently, when creating an active-backup bond, the bond-primary field
cannot be left blank, even though this value is optional in the backend.
If no value is set in the frontend, it sends the value '' to the
backend.  There, it is interpreted as the name of an interface, which is
incorrect.  This results in the error 'bond-primary: invalid format -
invalid network interface name '' ' being displayed.

The proxmoxtextfield component has a special handling that explicitly
excludes data with value '' from being sent to the backend. Hence, to
fix the bug, switch the bond-primary field from textfield to
proxmoxtextfield.

Additionally, set the deleteEmpty flag, so that devices
deleted in the UI are also deleted in the backend.

Signed-off-by: Lukas Sichert <[email protected]>
---
 src/node/NetworkEdit.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/node/NetworkEdit.js b/src/node/NetworkEdit.js
index 39c7e35..c945139 100644
--- a/src/node/NetworkEdit.js
+++ b/src/node/NetworkEdit.js
@@ -239,10 +239,11 @@ Ext.define('Proxmox.node.NetworkEdit', {
                 disabled: true,
             });
 
-            let primaryfield = Ext.createWidget('textfield', {
+            let primaryfield = Ext.createWidget('proxmoxtextfield', {
                 fieldLabel: 'bond-primary',
                 name: 'bond-primary',
                 value: '',
+                deleteEmpty: !me.isCreate,
                 disabled: true,
             });
 
-- 
2.47.3



Reply via email to