From 055c76f6d54a2fa037608600b718c5f06bcf7f0e Mon Sep 17 00:00:00 2001 From: Vishesh Date: Tue, 4 Mar 2025 12:17:28 +0530 Subject: [PATCH 1/2] Support ConfigDrive with VPC --- .../cloud/network/element/ConfigDriveNetworkElement.java | 4 ++-- ui/src/views/offering/AddVpcOffering.vue | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/server/src/main/java/com/cloud/network/element/ConfigDriveNetworkElement.java b/server/src/main/java/com/cloud/network/element/ConfigDriveNetworkElement.java index 47c9979c2f6d..7f1e294d351d 100644 --- a/server/src/main/java/com/cloud/network/element/ConfigDriveNetworkElement.java +++ b/server/src/main/java/com/cloud/network/element/ConfigDriveNetworkElement.java @@ -203,8 +203,8 @@ public Map> getCapabilities() { private static Map> setCapabilities() { Map> capabilities = new HashMap<>(); capabilities.put(Service.UserData, null); - capabilities.put(Service.Dhcp, new HashMap<>()); - capabilities.put(Service.Dns, new HashMap<>()); + capabilities.put(Service.Dhcp, Map.of(Network.Capability.DhcpAccrossMultipleSubnets, "true")); + capabilities.put(Service.Dns, Map.of(Capability.AllowDnsSuffixModification, "true")); return capabilities; } diff --git a/ui/src/views/offering/AddVpcOffering.vue b/ui/src/views/offering/AddVpcOffering.vue index 450ee1177151..99227d2de506 100644 --- a/ui/src/views/offering/AddVpcOffering.vue +++ b/ui/src/views/offering/AddVpcOffering.vue @@ -449,12 +449,16 @@ export default { services.push({ name: 'Dhcp', provider: [ - { name: 'VpcVirtualRouter' } + { name: 'VpcVirtualRouter' }, + { name: 'ConfigDrive' } ] }) services.push({ name: 'Dns', - provider: [{ name: 'VpcVirtualRouter' }] + provider: [ + { name: 'VpcVirtualRouter' }, + { name: 'ConfigDrive' } + ] }) services.push({ name: 'Lb', From c98986ae3049da03bfcf33736e370566fe4df64b Mon Sep 17 00:00:00 2001 From: Vishesh Date: Wed, 12 Mar 2025 19:07:02 +0530 Subject: [PATCH 2/2] Fixup --- .../com/cloud/network/element/ConfigDriveNetworkElement.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/com/cloud/network/element/ConfigDriveNetworkElement.java b/server/src/main/java/com/cloud/network/element/ConfigDriveNetworkElement.java index 7f1e294d351d..5f1c1e58d932 100644 --- a/server/src/main/java/com/cloud/network/element/ConfigDriveNetworkElement.java +++ b/server/src/main/java/com/cloud/network/element/ConfigDriveNetworkElement.java @@ -841,7 +841,7 @@ public boolean addDhcpEntry(Network network, NicProfile nic, VirtualMachineProfi public boolean configDhcpSupportForSubnet(Network network, NicProfile nic, VirtualMachineProfile vm, DeployDestination dest, ReservationContext context) throws ConcurrentOperationException, InsufficientCapacityException, ResourceUnavailableException { - return false; + return true; } @Override