@@ -451,13 +451,7 @@ public boolean prepare(Network network, NicProfile nic, VirtualMachineProfile vm
451451 JsonObject payload = new JsonObject ();
452452 payload .addProperty ("network_id" , String .valueOf (network .getId ()));
453453 payload .addProperty ("vlan" , safeStr (getVlanId (network )));
454- if (nic != null ) {
455- payload .addProperty ("mac" , safeStr (nic .getMacAddress ()));
456- payload .addProperty ("ip" , safeStr (nic .getIPv4Address ()));
457- addNicIpv6ToPayload (payload , nic );
458- addNicUuidToPayload (payload , nic );
459- payload .addProperty ("default_nic" , String .valueOf (nic .isDefaultNic ()));
460- }
454+ addNicToPayload (payload , nic );
461455 if (vm != null ) {
462456 payload .addProperty ("hostname" , safeStr (vm .getHostName ()));
463457 }
@@ -501,12 +495,7 @@ public boolean release(Network network, NicProfile nic, VirtualMachineProfile vm
501495 JsonObject payload = new JsonObject ();
502496 payload .addProperty ("network_id" , String .valueOf (network .getId ()));
503497 payload .addProperty ("vlan" , safeStr (getVlanId (network )));
504- if (nic != null ) {
505- payload .addProperty ("mac" , safeStr (nic .getMacAddress ()));
506- payload .addProperty ("ip" , safeStr (nic .getIPv4Address ()));
507- addNicIpv6ToPayload (payload , nic );
508- addNicUuidToPayload (payload , nic );
509- }
498+ addNicToPayload (payload , nic );
510499 payload .addProperty ("extension_ip" , safeStr (ensureExtensionIp (network )));
511500 addVpcIdToPayload (payload , network );
512501
@@ -1063,27 +1052,31 @@ private void addVpcIdToPayload(JsonObject payload, Network network) {
10631052 }
10641053 }
10651054
1066- private void addNicUuidToPayload ( JsonObject payload , NicProfile nic ) {
1067- if ( payload != null && nic != null && StringUtils . isNotBlank ( nic . getUuid ())) {
1068- payload . addProperty ( "nic_uuid" , nic . getUuid ());
1069- }
1070- }
1071-
1072- private void addNetworkIpv6ToPayload (JsonObject payload , Network network ) {
1073- if (payload == null || network == null ) {
1055+ /**
1056+ * Adds all available NIC fields to the payload.
1057+ * Fields are added only when non-blank / non-null so the JSON stays clean.
1058+ * Covers: nic_id, nic_uuid, mac, ip, gateway (IPv4), netmask, default_nic,
1059+ * device_id, and the three IPv6 NIC fields.
1060+ */
1061+ private void addNicToPayload (JsonObject payload , NicProfile nic ) {
1062+ if (payload == null || nic == null ) {
10741063 return ;
10751064 }
1076- if (StringUtils .isNotBlank (network .getIp6Gateway ())) {
1077- payload .addProperty ("network_ip6_gateway" , safeStr (network .getIp6Gateway ()));
1065+ payload .addProperty ("nic_id" , String .valueOf (nic .getId ()));
1066+ if (StringUtils .isNotBlank (nic .getUuid ())) {
1067+ payload .addProperty ("nic_uuid" , nic .getUuid ());
10781068 }
1079- if (StringUtils .isNotBlank (network .getIp6Cidr ())) {
1080- payload .addProperty ("network_ip6_cidr" , safeStr (network .getIp6Cidr ()));
1069+ payload .addProperty ("mac" , safeStr (nic .getMacAddress ()));
1070+ payload .addProperty ("ip" , safeStr (nic .getIPv4Address ()));
1071+ if (StringUtils .isNotBlank (nic .getIPv4Gateway ())) {
1072+ payload .addProperty ("gateway" , safeStr (nic .getIPv4Gateway ()));
10811073 }
1082- }
1083-
1084- private void addNicIpv6ToPayload (JsonObject payload , NicProfile nic ) {
1085- if (payload == null || nic == null ) {
1086- return ;
1074+ if (StringUtils .isNotBlank (nic .getIPv4Netmask ())) {
1075+ payload .addProperty ("netmask" , safeStr (nic .getIPv4Netmask ()));
1076+ }
1077+ payload .addProperty ("default_nic" , String .valueOf (nic .isDefaultNic ()));
1078+ if (nic .getDeviceId () != null ) {
1079+ payload .addProperty ("device_id" , String .valueOf (nic .getDeviceId ()));
10871080 }
10881081 if (StringUtils .isNotBlank (nic .getIPv6Address ())) {
10891082 payload .addProperty ("nic_ip6_address" , safeStr (nic .getIPv6Address ()));
@@ -1096,6 +1089,18 @@ private void addNicIpv6ToPayload(JsonObject payload, NicProfile nic) {
10961089 }
10971090 }
10981091
1092+ private void addNetworkIpv6ToPayload (JsonObject payload , Network network ) {
1093+ if (payload == null || network == null ) {
1094+ return ;
1095+ }
1096+ if (StringUtils .isNotBlank (network .getIp6Gateway ())) {
1097+ payload .addProperty ("network_ip6_gateway" , safeStr (network .getIp6Gateway ()));
1098+ }
1099+ if (StringUtils .isNotBlank (network .getIp6Cidr ())) {
1100+ payload .addProperty ("network_ip6_cidr" , safeStr (network .getIp6Cidr ()));
1101+ }
1102+ }
1103+
10991104 // ---- Detail helpers ----
11001105
11011106 /**
@@ -1425,18 +1430,14 @@ public boolean addDhcpEntry(Network network, NicProfile nic, VirtualMachineProfi
14251430 nic .getMacAddress (), nic .getIPv4Address (), nic .getIPv6Address ());
14261431 JsonObject payload = new JsonObject ();
14271432 payload .addProperty ("network_id" , String .valueOf (network .getId ()));
1428- payload .addProperty ("mac" , safeStr (nic .getMacAddress ()));
1429- payload .addProperty ("ip" , safeStr (nic .getIPv4Address ()));
1433+ addNicToPayload (payload , nic );
14301434 payload .addProperty ("hostname" , safeStr (vm .getHostName ()));
14311435 payload .addProperty ("gateway" , safeStr (network .getGateway ()));
14321436 payload .addProperty ("cidr" , safeStr (network .getCidr ()));
14331437 addNetworkIpv6ToPayload (payload , network );
14341438 payload .addProperty ("dns" , safeStr (getNetworkDns (network )));
1435- payload .addProperty ("default_nic" , String .valueOf (nic .isDefaultNic ()));
14361439 payload .addProperty ("domain" , safeStr (network .getNetworkDomain ()));
14371440 payload .addProperty ("extension_ip" , safeStr (extensionIp ));
1438- addNicIpv6ToPayload (payload , nic );
1439- addNicUuidToPayload (payload , nic );
14401441 addVpcIdToPayload (payload , network );
14411442 return executeScript (network , CMD_ADD_DHCP_ENTRY , payload );
14421443 }
@@ -1459,8 +1460,7 @@ public boolean configDhcpSupportForSubnet(Network network, NicProfile nic, Virtu
14591460 payload .addProperty ("vlan" , safeStr (getVlanId (network )));
14601461 payload .addProperty ("domain" , safeStr (network .getNetworkDomain ()));
14611462 payload .addProperty ("extension_ip" , safeStr (extensionIp ));
1462- addNicIpv6ToPayload (payload , nic );
1463- addNicUuidToPayload (payload , nic );
1463+ addNicToPayload (payload , nic );
14641464 addVpcIdToPayload (payload , network );
14651465 return executeScript (network , CMD_CONFIG_DHCP_SUBNET , payload );
14661466 }
@@ -1495,11 +1495,8 @@ public boolean removeDhcpEntry(Network network, NicProfile nic, VirtualMachinePr
14951495 String extensionIp = ensureExtensionIp (network );
14961496 JsonObject payload = new JsonObject ();
14971497 payload .addProperty ("network_id" , String .valueOf (network .getId ()));
1498- payload .addProperty ("mac" , safeStr (nic .getMacAddress ()));
1499- payload .addProperty ("ip" , safeStr (nic .getIPv4Address ()));
1500- addNicIpv6ToPayload (payload , nic );
1498+ addNicToPayload (payload , nic );
15011499 payload .addProperty ("extension_ip" , safeStr (extensionIp ));
1502- addNicUuidToPayload (payload , nic );
15031500 addVpcIdToPayload (payload , network );
15041501 return executeScript (network , CMD_REMOVE_DHCP_ENTRY , payload );
15051502 }
@@ -1519,11 +1516,9 @@ public boolean addDnsEntry(Network network, NicProfile nic, VirtualMachineProfil
15191516 String extensionIp = ensureExtensionIp (network );
15201517 JsonObject payload = new JsonObject ();
15211518 payload .addProperty ("network_id" , String .valueOf (network .getId ()));
1522- payload .addProperty ("ip" , safeStr (nic .getIPv4Address ()));
1523- addNicIpv6ToPayload (payload , nic );
1519+ addNicToPayload (payload , nic );
15241520 payload .addProperty ("hostname" , safeStr (hostname ));
15251521 payload .addProperty ("extension_ip" , safeStr (extensionIp ));
1526- addNicUuidToPayload (payload , nic );
15271522 addVpcIdToPayload (payload , network );
15281523 return executeScript (network , CMD_ADD_DNS_ENTRY , payload );
15291524 }
@@ -1546,8 +1541,7 @@ public boolean configDnsSupportForSubnet(Network network, NicProfile nic, Virtua
15461541 payload .addProperty ("vlan" , safeStr (getVlanId (network )));
15471542 payload .addProperty ("domain" , safeStr (network .getNetworkDomain ()));
15481543 payload .addProperty ("extension_ip" , safeStr (extensionIp ));
1549- addNicIpv6ToPayload (payload , nic );
1550- addNicUuidToPayload (payload , nic );
1544+ addNicToPayload (payload , nic );
15511545 addVpcIdToPayload (payload , network );
15521546 return executeScript (network , CMD_CONFIG_DNS_SUBNET , payload );
15531547 }
@@ -1687,12 +1681,10 @@ public boolean addPasswordAndUserdata(Network network, NicProfile nic, VirtualMa
16871681
16881682 JsonObject payload = new JsonObject ();
16891683 payload .addProperty ("network_id" , String .valueOf (network .getId ()));
1684+ addNicToPayload (payload , nic );
16901685 payload .addProperty ("ip" , safeStr (nicIpAddress ));
1691- payload .addProperty ("gateway" , safeStr (nic .getIPv4Gateway ()));
1692- addNicIpv6ToPayload (payload , nic );
16931686 payload .addProperty ("extension_ip" , safeStr (ensureExtensionIp (network )));
16941687 payload .add ("vm_data" , vmDataArray );
1695- addNicUuidToPayload (payload , nic );
16961688 addVpcIdToPayload (payload , network );
16971689
16981690 return executeScript (network , CMD_SAVE_VM_DATA , payload );
@@ -1712,12 +1704,9 @@ public boolean savePassword(Network network, NicProfile nic, VirtualMachineProfi
17121704 String extensionIp = ensureExtensionIp (network );
17131705 JsonObject payload = new JsonObject ();
17141706 payload .addProperty ("network_id" , String .valueOf (network .getId ()));
1715- payload .addProperty ("ip" , safeStr (nic .getIPv4Address ()));
1716- payload .addProperty ("gateway" , safeStr (nic .getIPv4Gateway ()));
1717- addNicIpv6ToPayload (payload , nic );
1707+ addNicToPayload (payload , nic );
17181708 payload .addProperty ("password" , password );
17191709 payload .addProperty ("extension_ip" , safeStr (extensionIp ));
1720- addNicUuidToPayload (payload , nic );
17211710 addVpcIdToPayload (payload , network );
17221711 return executeScript (network , CMD_SAVE_PASSWORD , payload );
17231712 }
@@ -1745,12 +1734,9 @@ public boolean saveUserData(Network network, NicProfile nic, VirtualMachineProfi
17451734 }
17461735 JsonObject payload = new JsonObject ();
17471736 payload .addProperty ("network_id" , String .valueOf (network .getId ()));
1748- payload .addProperty ("ip" , safeStr (nic .getIPv4Address ()));
1749- payload .addProperty ("gateway" , safeStr (nic .getIPv4Gateway ()));
1750- addNicIpv6ToPayload (payload , nic );
1737+ addNicToPayload (payload , nic );
17511738 payload .addProperty ("userdata" , userDataDecoded );
17521739 payload .addProperty ("extension_ip" , safeStr (extensionIp ));
1753- addNicUuidToPayload (payload , nic );
17541740 addVpcIdToPayload (payload , network );
17551741 return executeScript (network , CMD_SAVE_USERDATA , payload );
17561742 }
@@ -1768,12 +1754,9 @@ public boolean saveSSHKey(Network network, NicProfile nic, VirtualMachineProfile
17681754 String extensionIp = ensureExtensionIp (network );
17691755 JsonObject payload = new JsonObject ();
17701756 payload .addProperty ("network_id" , String .valueOf (network .getId ()));
1771- payload .addProperty ("ip" , safeStr (nic .getIPv4Address ()));
1772- payload .addProperty ("gateway" , safeStr (nic .getIPv4Gateway ()));
1773- addNicIpv6ToPayload (payload , nic );
1757+ addNicToPayload (payload , nic );
17741758 payload .addProperty ("sshkey" , sshPublicKey );
17751759 payload .addProperty ("extension_ip" , safeStr (extensionIp ));
1776- addNicUuidToPayload (payload , nic );
17771760 addVpcIdToPayload (payload , network );
17781761 return executeScript (network , CMD_SAVE_SSHKEY , payload );
17791762 }
@@ -1793,12 +1776,9 @@ public boolean saveHypervisorHostname(NicProfile nic, Network network, VirtualMa
17931776 String extensionIp = ensureExtensionIp (network );
17941777 JsonObject payload = new JsonObject ();
17951778 payload .addProperty ("network_id" , String .valueOf (network .getId ()));
1796- payload .addProperty ("ip" , safeStr (nic .getIPv4Address ()));
1797- payload .addProperty ("gateway" , safeStr (nic .getIPv4Gateway ()));
1798- addNicIpv6ToPayload (payload , nic );
1779+ addNicToPayload (payload , nic );
17991780 payload .addProperty ("hypervisor_hostname" , hostname );
18001781 payload .addProperty ("extension_ip" , safeStr (extensionIp ));
1801- addNicUuidToPayload (payload , nic );
18021782 addVpcIdToPayload (payload , network );
18031783 return executeScript (network , CMD_SAVE_HYPERVISOR_HOSTNAME , payload );
18041784 }
0 commit comments