Skip to content

Commit 0780f0e

Browse files
committed
Merge remote-tracking branch 'apache/4.18' into 4.19
2 parents f25d35c + f8fd22c commit 0780f0e

File tree

3 files changed

+72
-80
lines changed

3 files changed

+72
-80
lines changed

ui/src/views/compute/DeployVM.vue

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1358,36 +1358,20 @@ export default {
13581358
}
13591359
13601360
this.serviceOffering = _.find(this.options.serviceOfferings, (option) => option.id === instanceConfig.computeofferingid)
1361-
if (this.serviceOffering?.diskofferingid) {
1362-
if (iso) {
1363-
this.diskOffering = _.find(this.options.diskOfferings, (option) => option.id === this.serviceOffering.diskofferingid)
1364-
} else {
1365-
instanceConfig.overridediskofferingid = this.serviceOffering.diskofferingid
1366-
}
1367-
}
1368-
if (!iso && this.diskSelected) {
1369-
this.diskOffering = _.find(this.options.diskOfferings, (option) => option.id === instanceConfig.diskofferingid)
1370-
}
1371-
if (this.rootDiskSelected?.id) {
1372-
instanceConfig.overridediskofferingid = this.rootDiskSelected.id
1373-
}
1361+
1362+
instanceConfig.overridediskofferingid = this.rootDiskSelected?.id || this.serviceOffering?.diskofferingid
13741363
if (instanceConfig.overridediskofferingid) {
13751364
this.overrideDiskOffering = _.find(this.options.diskOfferings, (option) => option.id === instanceConfig.overridediskofferingid)
13761365
} else {
13771366
this.overrideDiskOffering = null
13781367
}
13791368
1380-
if (!iso && this.diskSelected) {
1369+
if (iso && this.serviceOffering?.diskofferingid) {
1370+
this.diskOffering = _.find(this.options.diskOfferings, (option) => option.id === this.serviceOffering.diskofferingid)
1371+
} else if (!iso && this.diskSelected) {
13811372
this.diskOffering = _.find(this.options.diskOfferings, (option) => option.id === instanceConfig.diskofferingid)
13821373
}
1383-
if (this.rootDiskSelected?.id) {
1384-
instanceConfig.overridediskofferingid = this.rootDiskSelected.id
1385-
}
1386-
if (instanceConfig.overridediskofferingid) {
1387-
this.overrideDiskOffering = _.find(this.options.diskOfferings, (option) => option.id === instanceConfig.overridediskofferingid)
1388-
} else {
1389-
this.overrideDiskOffering = null
1390-
}
1374+
13911375
this.zone = _.find(this.options.zones, (option) => option.id === instanceConfig.zoneid)
13921376
this.affinityGroups = _.filter(this.options.affinityGroups, (option) => _.includes(instanceConfig.affinitygroupids, option.id))
13931377
this.networks = this.getSelectedNetworksWithExistingConfig(_.filter(this.options.networks, (option) => _.includes(instanceConfig.networkids, option.id)))
@@ -1664,6 +1648,7 @@ export default {
16641648
this.showRootDiskSizeChanger = false
16651649
} else {
16661650
this.rootDiskSelected = null
1651+
this.form.overridediskofferingid = undefined
16671652
}
16681653
this.showOverrideDiskOfferingOption = val
16691654
},
@@ -1905,7 +1890,6 @@ export default {
19051890
if (this.loading.deploy) return
19061891
this.formRef.value.validate().then(async () => {
19071892
const values = toRaw(this.form)
1908-
19091893
if (!values.templateid && !values.isoid) {
19101894
this.$notification.error({
19111895
message: this.$t('message.request.failed'),
@@ -1994,7 +1978,7 @@ export default {
19941978
if (this.selectedTemplateConfiguration) {
19951979
deployVmData['details[0].configurationId'] = this.selectedTemplateConfiguration.id
19961980
}
1997-
if (!this.serviceOffering.diskofferingstrictness && values.overridediskofferingid) {
1981+
if (!this.serviceOffering.diskofferingstrictness && values.overridediskofferingid && !values.isoid) {
19981982
deployVmData.overridediskofferingid = values.overridediskofferingid
19991983
if (values.rootdisksize && values.rootdisksize > 0) {
20001984
deployVmData.rootdisksize = values.rootdisksize

ui/src/views/compute/wizard/DiskOfferingSelection.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@ export default {
233233
this.selectedRowKeys = value
234234
this.$emit('select-disk-offering-item', value[0])
235235
this.$emit('on-selected-disk-size', this.diskSelected)
236+
this.$emit('on-selected-root-disk-size', this.diskSelected)
236237
},
237238
handleSearch (value) {
238239
this.filter = value

usage/src/main/java/com/cloud/usage/UsageManagerImpl.java

Lines changed: 63 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,37 @@
1616
// under the License.
1717
package com.cloud.usage;
1818

19+
import static com.cloud.utils.NumbersUtil.toHumanReadableSize;
20+
21+
import java.net.InetAddress;
22+
import java.sql.SQLException;
23+
import java.util.ArrayList;
24+
import java.util.Calendar;
25+
import java.util.Date;
26+
import java.util.HashMap;
27+
import java.util.List;
28+
import java.util.Map;
29+
import java.util.TimeZone;
30+
import java.util.concurrent.Executors;
31+
import java.util.concurrent.Future;
32+
import java.util.concurrent.ScheduledExecutorService;
33+
import java.util.concurrent.TimeUnit;
34+
35+
import javax.inject.Inject;
36+
import javax.naming.ConfigurationException;
37+
import javax.persistence.EntityExistsException;
38+
39+
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
40+
import org.apache.cloudstack.managed.context.ManagedContextRunnable;
41+
import org.apache.cloudstack.quota.QuotaAlertManager;
42+
import org.apache.cloudstack.quota.QuotaManager;
43+
import org.apache.cloudstack.quota.QuotaStatement;
44+
import org.apache.cloudstack.usage.UsageTypes;
45+
import org.apache.cloudstack.utils.usage.UsageUtils;
46+
import org.apache.commons.collections.CollectionUtils;
47+
import org.apache.log4j.Logger;
48+
import org.springframework.stereotype.Component;
49+
1950
import com.cloud.alert.AlertManager;
2051
import com.cloud.event.EventTypes;
2152
import com.cloud.event.UsageEventDetailsVO;
@@ -70,34 +101,6 @@
70101
import com.cloud.utils.db.SearchCriteria;
71102
import com.cloud.utils.db.TransactionLegacy;
72103
import com.cloud.utils.exception.CloudRuntimeException;
73-
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
74-
import org.apache.cloudstack.managed.context.ManagedContextRunnable;
75-
import org.apache.cloudstack.quota.QuotaAlertManager;
76-
import org.apache.cloudstack.quota.QuotaManager;
77-
import org.apache.cloudstack.quota.QuotaStatement;
78-
import org.apache.cloudstack.usage.UsageTypes;
79-
import org.apache.cloudstack.utils.usage.UsageUtils;
80-
import org.apache.commons.collections.CollectionUtils;
81-
import org.apache.log4j.Logger;
82-
import org.springframework.stereotype.Component;
83-
84-
import javax.inject.Inject;
85-
import javax.naming.ConfigurationException;
86-
import java.net.InetAddress;
87-
import java.sql.SQLException;
88-
import java.util.ArrayList;
89-
import java.util.Calendar;
90-
import java.util.Date;
91-
import java.util.HashMap;
92-
import java.util.List;
93-
import java.util.Map;
94-
import java.util.TimeZone;
95-
import java.util.concurrent.Executors;
96-
import java.util.concurrent.Future;
97-
import java.util.concurrent.ScheduledExecutorService;
98-
import java.util.concurrent.TimeUnit;
99-
100-
import static com.cloud.utils.NumbersUtil.toHumanReadableSize;
101104

102105
@Component
103106
public class UsageManagerImpl extends ManagerBase implements UsageManager, Runnable {
@@ -1033,34 +1036,38 @@ private boolean parseHelperTables(AccountVO account, Date currentStartDate, Date
10331036

10341037
private void createHelperRecord(UsageEventVO event) {
10351038
String eventType = event.getType();
1036-
if (isVMEvent(eventType)) {
1037-
createVMHelperEvent(event);
1038-
} else if (isIPEvent(eventType)) {
1039-
createIPHelperEvent(event);
1040-
} else if (isVolumeEvent(eventType)) {
1041-
createVolumeHelperEvent(event);
1042-
} else if (isTemplateEvent(eventType)) {
1043-
createTemplateHelperEvent(event);
1044-
} else if (isISOEvent(eventType)) {
1045-
createISOHelperEvent(event);
1046-
} else if (isSnapshotEvent(eventType)) {
1047-
createSnapshotHelperEvent(event);
1048-
} else if (isLoadBalancerEvent(eventType)) {
1049-
createLoadBalancerHelperEvent(event);
1050-
} else if (isPortForwardingEvent(eventType)) {
1051-
createPortForwardingHelperEvent(event);
1052-
} else if (isNetworkOfferingEvent(eventType)) {
1053-
createNetworkOfferingEvent(event);
1054-
} else if (isVPNUserEvent(eventType)) {
1055-
handleVpnUserEvent(event);
1056-
} else if (isSecurityGroupEvent(eventType)) {
1057-
createSecurityGroupEvent(event);
1058-
} else if (isVmSnapshotEvent(eventType)) {
1059-
handleVMSnapshotEvent(event);
1060-
} else if (isVmSnapshotOnPrimaryEvent(eventType)) {
1061-
createVmSnapshotOnPrimaryEvent(event);
1062-
} else if (isBackupEvent(eventType)) {
1063-
createBackupEvent(event);
1039+
try {
1040+
if (isVMEvent(eventType)) {
1041+
createVMHelperEvent(event);
1042+
} else if (isIPEvent(eventType)) {
1043+
createIPHelperEvent(event);
1044+
} else if (isVolumeEvent(eventType)) {
1045+
createVolumeHelperEvent(event);
1046+
} else if (isTemplateEvent(eventType)) {
1047+
createTemplateHelperEvent(event);
1048+
} else if (isISOEvent(eventType)) {
1049+
createISOHelperEvent(event);
1050+
} else if (isSnapshotEvent(eventType)) {
1051+
createSnapshotHelperEvent(event);
1052+
} else if (isLoadBalancerEvent(eventType)) {
1053+
createLoadBalancerHelperEvent(event);
1054+
} else if (isPortForwardingEvent(eventType)) {
1055+
createPortForwardingHelperEvent(event);
1056+
} else if (isNetworkOfferingEvent(eventType)) {
1057+
createNetworkOfferingEvent(event);
1058+
} else if (isVPNUserEvent(eventType)) {
1059+
handleVpnUserEvent(event);
1060+
} else if (isSecurityGroupEvent(eventType)) {
1061+
createSecurityGroupEvent(event);
1062+
} else if (isVmSnapshotEvent(eventType)) {
1063+
handleVMSnapshotEvent(event);
1064+
} else if (isVmSnapshotOnPrimaryEvent(eventType)) {
1065+
createVmSnapshotOnPrimaryEvent(event);
1066+
} else if (isBackupEvent(eventType)) {
1067+
createBackupEvent(event);
1068+
}
1069+
} catch (EntityExistsException e) {
1070+
s_logger.warn(String.format("Failed to create usage event id: %d type: %s due to %s", event.getId(), eventType, e.getMessage()), e);
10641071
}
10651072
}
10661073

0 commit comments

Comments
 (0)