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 47c9979c2f6..5f1c1e58d93 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 class ConfigDriveNetworkElement extends AdapterBase implements NetworkEle 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; } @@ -841,7 +841,7 @@ public class ConfigDriveNetworkElement extends AdapterBase implements NetworkEle public boolean configDhcpSupportForSubnet(Network network, NicProfile nic, VirtualMachineProfile vm, DeployDestination dest, ReservationContext context) throws ConcurrentOperationException, InsufficientCapacityException, ResourceUnavailableException { - return false; + return true; } @Override diff --git a/ui/src/views/offering/AddVpcOffering.vue b/ui/src/views/offering/AddVpcOffering.vue index 450ee117715..99227d2de50 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',