Skip to content

Commit f99942c

Browse files
committed
Merge remote-tracking branch 'apache/4.19' into 4.20
2 parents 90681df + f4802f3 commit f99942c

File tree

7 files changed

+36
-7
lines changed

7 files changed

+36
-7
lines changed

api/src/main/java/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotFromVMSnapshotCmd.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,4 +209,9 @@ public Long getSyncObjId() {
209209
}
210210
return null;
211211
}
212+
213+
@Override
214+
public Long getApiResourceId() {
215+
return getEntityId();
216+
}
212217
}

plugins/network-elements/internal-loadbalancer/src/main/java/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
import javax.inject.Inject;
3333
import javax.naming.ConfigurationException;
3434

35+
import com.cloud.event.ActionEvent;
36+
import com.cloud.event.EventTypes;
3537
import org.apache.cloudstack.context.CallContext;
3638
import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
3739
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
@@ -545,6 +547,7 @@ public boolean destroyInternalLbVm(final long vmId, final Account caller, final
545547
}
546548

547549
@Override
550+
@ActionEvent(eventType = EventTypes.EVENT_INTERNAL_LB_VM_STOP, eventDescription = "stopping internal LB VM", async = true)
548551
public VirtualRouter stopInternalLbVm(final long vmId, final boolean forced, final Account caller, final long callerUserId) throws ConcurrentOperationException, ResourceUnavailableException {
549552
final DomainRouterVO internalLbVm = _internalLbVmDao.findById(vmId);
550553
if (internalLbVm == null || internalLbVm.getRole() != Role.INTERNAL_LB_VM) {
@@ -974,6 +977,7 @@ protected boolean sendCommandsToInternalLbVm(final VirtualRouter internalLbVm, f
974977
}
975978

976979
@Override
980+
@ActionEvent(eventType = EventTypes.EVENT_INTERNAL_LB_VM_START, eventDescription = "starting internal LB VM", async = true)
977981
public VirtualRouter startInternalLbVm(final long internalLbVmId, final Account caller, final long callerUserId) throws StorageUnavailableException, InsufficientCapacityException,
978982
ConcurrentOperationException, ResourceUnavailableException {
979983

plugins/network-elements/internal-loadbalancer/src/test/java/org/apache/cloudstack/internallbvmmgr/InternalLBVMServiceTest.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
// under the License.
1717
package org.apache.cloudstack.internallbvmmgr;
1818

19+
import static org.mockito.ArgumentMatchers.anyBoolean;
20+
import static org.mockito.ArgumentMatchers.anyLong;
21+
import static org.mockito.ArgumentMatchers.anyString;
1922
import static org.mockito.ArgumentMatchers.nullable;
2023

2124
import java.lang.reflect.Field;
@@ -24,13 +27,15 @@
2427

2528
import javax.inject.Inject;
2629

30+
import com.cloud.event.ActionEventUtils;
2731
import org.apache.cloudstack.context.CallContext;
2832
import org.apache.cloudstack.network.lb.InternalLoadBalancerVMService;
2933
import org.junit.After;
3034
import org.junit.Before;
3135
import org.junit.Test;
3236
import org.junit.runner.RunWith;
33-
import org.mockito.ArgumentMatchers;
37+
import org.mockito.BDDMockito;
38+
import org.mockito.MockedStatic;
3439
import org.mockito.Mockito;
3540
import org.springframework.test.context.ContextConfiguration;
3641
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@@ -82,6 +87,8 @@ public class InternalLBVMServiceTest extends TestCase {
8287
@Inject
8388
AccountDao _accountDao;
8489

90+
private MockedStatic<ActionEventUtils> actionEventUtilsMocked;
91+
8592
long validVmId = 1L;
8693
long nonExistingVmId = 2L;
8794
long nonInternalLbVmId = 3L;
@@ -105,7 +112,7 @@ public void setUp() {
105112

106113
Mockito.when(_accountMgr.getSystemUser()).thenReturn(new UserVO(1));
107114
Mockito.when(_accountMgr.getSystemAccount()).thenReturn(new AccountVO(2));
108-
Mockito.when(_accountDao.findByIdIncludingRemoved(ArgumentMatchers.anyLong())).thenReturn(new AccountVO(2));
115+
Mockito.when(_accountDao.findByIdIncludingRemoved(anyLong())).thenReturn(new AccountVO(2));
109116
CallContext.register(_accountMgr.getSystemUser(), _accountMgr.getSystemAccount());
110117

111118
final DomainRouterVO validVm =
@@ -120,11 +127,16 @@ public void setUp() {
120127
Mockito.when(_domainRouterDao.findById(validVmId)).thenReturn(validVm);
121128
Mockito.when(_domainRouterDao.findById(nonExistingVmId)).thenReturn(null);
122129
Mockito.when(_domainRouterDao.findById(nonInternalLbVmId)).thenReturn(nonInternalLbVm);
130+
131+
actionEventUtilsMocked = Mockito.mockStatic(ActionEventUtils.class);
132+
BDDMockito.given(ActionEventUtils.onStartedActionEvent(anyLong(), anyLong(), anyString(), anyString(), anyLong(), anyString(), anyBoolean(), anyLong()))
133+
.willReturn(1L);
123134
}
124135

125136
@Override
126137
@After
127138
public void tearDown() {
139+
actionEventUtilsMocked.close();
128140
CallContext.unregister();
129141
}
130142

server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -173,10 +173,10 @@ private String getTemplateStatus(TemplateJoinVO template) {
173173
}
174174
} else if (template.getDownloadState() == Status.BYPASSED) {
175175
templateStatus = "Bypassed Secondary Storage";
176-
}else if (template.getErrorString()==null){
176+
} else if (template.getErrorString() == null) {
177177
templateStatus = template.getTemplateState().toString();
178-
}else {
179-
templateStatus = template.getErrorString();
178+
} else {
179+
templateStatus = template.getErrorString().trim();
180180
}
181181
} else if (template.getDownloadState() == Status.DOWNLOADED) {
182182
templateStatus = "Download Complete";

server/src/main/java/com/cloud/resource/ResourceManagerImpl.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1274,6 +1274,8 @@ public Cluster updateCluster(UpdateClusterCmd cmd) {
12741274
}
12751275

12761276
@Override
1277+
@DB
1278+
@ActionEvent(eventType = EventTypes.EVENT_MAINTENANCE_CANCEL, eventDescription = "cancel maintenance for host", async = true)
12771279
public Host cancelMaintenance(final CancelMaintenanceCmd cmd) {
12781280
final Long hostId = cmd.getId();
12791281

@@ -1297,6 +1299,8 @@ public Host cancelMaintenance(final CancelMaintenanceCmd cmd) {
12971299
}
12981300

12991301
@Override
1302+
@DB
1303+
@ActionEvent(eventType = EventTypes.EVENT_HOST_RECONNECT, eventDescription = "reconnecting host", async = true)
13001304
public Host reconnectHost(ReconnectHostCmd cmd) throws AgentUnavailableException {
13011305
Long hostId = cmd.getId();
13021306

@@ -1500,6 +1504,8 @@ public boolean maintain(final long hostId) throws AgentUnavailableException {
15001504
}
15011505

15021506
@Override
1507+
@DB
1508+
@ActionEvent(eventType = EventTypes.EVENT_MAINTENANCE_PREPARE, eventDescription = "prepare maintenance for host", async = true)
15031509
public Host maintain(final PrepareForMaintenanceCmd cmd) {
15041510
final Long hostId = cmd.getId();
15051511
final HostVO host = _hostDao.findById(hostId);

server/src/main/java/com/cloud/storage/snapshot/SnapshotManagerImpl.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -561,6 +561,8 @@ public Snapshot archiveSnapshot(Long snapshotId) {
561561
}
562562

563563
@Override
564+
@DB
565+
@ActionEvent(eventType = EventTypes.EVENT_SNAPSHOT_CREATE, eventDescription = "creating snapshot from VM snapshot", async = true)
564566
public Snapshot backupSnapshotFromVmSnapshot(Long snapshotId, Long vmId, Long volumeId, Long vmSnapshotId) {
565567
VMInstanceVO vm = _vmDao.findById(vmId);
566568
if (vm == null) {

ui/src/views/compute/ScaleVM.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,8 +226,8 @@ export default {
226226
api('listDiskOfferings', {
227227
id: this.selectedOffering.diskofferingid
228228
}).then(response => {
229-
const diskOfferings = response.listdiskofferingsresponse.diskoffering || []
230-
if (this.diskOfferings) {
229+
const diskOfferings = response?.listdiskofferingsresponse?.diskoffering || []
230+
if (diskOfferings?.length > 0) {
231231
this.selectedDiskOffering = diskOfferings[0]
232232
}
233233
}).catch(error => {

0 commit comments

Comments
 (0)