|
16 | 16 | // under the License. |
17 | 17 | package com.cloud.vm; |
18 | 18 |
|
| 19 | +import static com.cloud.configuration.ConfigurationManagerImpl.VM_USERDATA_MAX_LENGTH; |
19 | 20 | import static com.cloud.utils.NumbersUtil.toHumanReadableSize; |
20 | 21 |
|
21 | 22 | import java.io.IOException; |
|
26 | 27 | import java.util.Arrays; |
27 | 28 | import java.util.Date; |
28 | 29 | import java.util.HashMap; |
| 30 | +import java.util.HashSet; |
29 | 31 | import java.util.LinkedHashMap; |
30 | 32 | import java.util.LinkedHashSet; |
31 | 33 | import java.util.List; |
|
50 | 52 | import javax.xml.parsers.DocumentBuilderFactory; |
51 | 53 | import javax.xml.parsers.ParserConfigurationException; |
52 | 54 |
|
53 | | -import com.cloud.network.router.CommandSetupHelper; |
54 | | -import com.cloud.network.router.NetworkHelper; |
55 | 55 | import org.apache.cloudstack.acl.ControlledEntity; |
56 | 56 | import org.apache.cloudstack.acl.ControlledEntity.ACLType; |
57 | 57 | import org.apache.cloudstack.acl.SecurityChecker.AccessType; |
|
117 | 117 | import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; |
118 | 118 | import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao; |
119 | 119 | import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO; |
| 120 | +import org.apache.cloudstack.utils.bytescale.ByteScaleUtils; |
120 | 121 | import org.apache.commons.codec.binary.Base64; |
121 | 122 | import org.apache.commons.collections.CollectionUtils; |
122 | 123 | import org.apache.commons.collections.MapUtils; |
|
247 | 248 | import com.cloud.network.element.UserDataServiceProvider; |
248 | 249 | import com.cloud.network.guru.NetworkGuru; |
249 | 250 | import com.cloud.network.lb.LoadBalancingRulesManager; |
| 251 | +import com.cloud.network.router.CommandSetupHelper; |
| 252 | +import com.cloud.network.router.NetworkHelper; |
250 | 253 | import com.cloud.network.router.VpcVirtualNetworkApplianceManager; |
251 | 254 | import com.cloud.network.rules.FirewallManager; |
252 | 255 | import com.cloud.network.rules.FirewallRuleVO; |
|
355 | 358 | import com.cloud.vm.snapshot.VMSnapshotManager; |
356 | 359 | import com.cloud.vm.snapshot.VMSnapshotVO; |
357 | 360 | import com.cloud.vm.snapshot.dao.VMSnapshotDao; |
358 | | -import java.util.HashSet; |
359 | | -import org.apache.cloudstack.utils.bytescale.ByteScaleUtils; |
360 | | - |
361 | | -import static com.cloud.configuration.ConfigurationManagerImpl.VM_USERDATA_MAX_LENGTH; |
362 | 361 |
|
363 | 362 | public class UserVmManagerImpl extends ManagerBase implements UserVmManager, VirtualMachineGuru, UserVmService, Configurable { |
364 | 363 | private static final Logger s_logger = Logger.getLogger(UserVmManagerImpl.class); |
@@ -2644,6 +2643,9 @@ private void verifyVmLimits(UserVmVO vmInstance, Map<String, String> details) { |
2644 | 2643 | Map<String, String> customParameters = new HashMap<>(); |
2645 | 2644 | customParameters.put(VmDetailConstants.CPU_NUMBER, String.valueOf(newCpu)); |
2646 | 2645 | customParameters.put(VmDetailConstants.MEMORY, String.valueOf(newMemory)); |
| 2646 | + if (svcOffering.getSpeed() == null) { |
| 2647 | + customParameters.put(VmDetailConstants.CPU_SPEED, details.get(VmDetailConstants.CPU_SPEED)); |
| 2648 | + } |
2647 | 2649 | validateCustomParameters(svcOffering, customParameters); |
2648 | 2650 | } |
2649 | 2651 | if (VirtualMachineManager.ResourceCountRunningVMsonly.value()) { |
|
0 commit comments