Skip to content

Commit 8d12c46

Browse files
committed
NE: add method addNicToPayload
1 parent c42005c commit 8d12c46

1 file changed

Lines changed: 45 additions & 65 deletions

File tree

framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/network/NetworkExtensionElement.java

Lines changed: 45 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)