Skip to content

Commit 1751228

Browse files
author
gitlab
committed
Merge branch 'ZSV-11790' into 'feature-zsv-5.0.0-vm-support-vtpm-and-secuceboot'
<fix>[storage]: update APIScanVmInstanceMetadataFromPrimaryStorageMsg See merge request zstackio/zstack!9563
2 parents f2d0e83 + 3ffe690 commit 1751228

6 files changed

Lines changed: 24 additions & 37 deletions

File tree

header/src/main/java/org/zstack/header/storage/primary/APIScanVmInstanceMetadataFromPrimaryStorageMsg.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,16 @@
33
import org.springframework.http.HttpMethod;
44
import org.zstack.header.message.APIMessage;
55
import org.zstack.header.message.APIParam;
6+
import org.zstack.header.message.APISyncCallMessage;
7+
import org.zstack.header.message.DefaultTimeout;
68
import org.zstack.header.rest.RestRequest;
79

810
@RestRequest(
911
path = "/primary-storage/vm-instances/metadata/scan",
1012
method = HttpMethod.GET,
11-
responseClass = APIScanVmInstanceMetadataFromPrimaryStorageEvent.class
13+
responseClass = APIScanVmInstanceMetadataFromPrimaryStorageReply.class
1214
)
13-
public class APIScanVmInstanceMetadataFromPrimaryStorageMsg extends APIMessage implements PrimaryStorageMessage {
15+
public class APIScanVmInstanceMetadataFromPrimaryStorageMsg extends APISyncCallMessage implements PrimaryStorageMessage {
1416
@APIParam(resourceType = PrimaryStorageVO.class)
1517
private String uuid;
1618

header/src/main/java/org/zstack/header/storage/primary/APIScanVmInstanceMetadataFromPrimaryStorageMsgDoc_zh_cn.groovy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.zstack.header.storage.primary
22

3-
import org.zstack.header.storage.primary.APIScanVmInstanceMetadataFromPrimaryStorageEvent
3+
import org.zstack.header.storage.primary.APIScanVmInstanceMetadataFromPrimaryStorageReply
44

55
doc {
66
title "扫描主存储上的云主机元数据"
@@ -52,7 +52,7 @@ doc {
5252
}
5353

5454
response {
55-
clz APIScanVmInstanceMetadataFromPrimaryStorageEvent.class
55+
clz APIScanVmInstanceMetadataFromPrimaryStorageReply.class
5656
}
5757
}
5858
}

header/src/main/java/org/zstack/header/storage/primary/APIScanVmInstanceMetadataFromPrimaryStorageEvent.java renamed to header/src/main/java/org/zstack/header/storage/primary/APIScanVmInstanceMetadataFromPrimaryStorageReply.java

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,15 @@
11
package org.zstack.header.storage.primary;
22

3-
import org.zstack.header.message.APIEvent;
3+
import org.zstack.header.message.APIReply;
44
import org.zstack.header.rest.RestResponse;
55

66
import java.util.ArrayList;
77
import java.util.List;
88

99
@RestResponse(fieldsTo = {"all"})
10-
public class APIScanVmInstanceMetadataFromPrimaryStorageEvent extends APIEvent {
10+
public class APIScanVmInstanceMetadataFromPrimaryStorageReply extends APIReply {
1111
private List<VmMetadataScanEntry> vmInstanceMetadata = new ArrayList<>();
1212

13-
public APIScanVmInstanceMetadataFromPrimaryStorageEvent() {
14-
super(null);
15-
}
16-
17-
public APIScanVmInstanceMetadataFromPrimaryStorageEvent(String apiId) {
18-
super(apiId);
19-
}
20-
2113
public List<VmMetadataScanEntry> getVmInstanceMetadata() {
2214
return vmInstanceMetadata;
2315
}
@@ -26,8 +18,8 @@ public void setVmInstanceMetadata(List<VmMetadataScanEntry> vmInstanceMetadata)
2618
this.vmInstanceMetadata = vmInstanceMetadata == null ? new ArrayList<>() : vmInstanceMetadata;
2719
}
2820

29-
public static APIScanVmInstanceMetadataFromPrimaryStorageEvent __example__() {
30-
APIScanVmInstanceMetadataFromPrimaryStorageEvent evt = new APIScanVmInstanceMetadataFromPrimaryStorageEvent();
21+
public static APIScanVmInstanceMetadataFromPrimaryStorageReply __example__() {
22+
APIScanVmInstanceMetadataFromPrimaryStorageReply evt = new APIScanVmInstanceMetadataFromPrimaryStorageReply();
3123
return evt;
3224
}
3325
}

header/src/main/java/org/zstack/header/storage/primary/APIScanVmInstanceMetadataFromPrimaryStorageEventDoc_zh_cn.groovy renamed to header/src/main/java/org/zstack/header/storage/primary/APIScanVmInstanceMetadataFromPrimaryStorageReplyDoc_zh_cn.groovy

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.zstack.header.storage.primary
22

3-
43
import org.zstack.header.errorcode.ErrorCode
54

65
doc {
@@ -9,7 +8,7 @@ doc {
98

109
ref {
1110
name "vmInstanceMetadata"
12-
path "org.zstack.header.storage.primary.APIScanVmInstanceMetadataFromPrimaryStorageEvent.vmInstanceMetadata"
11+
path "org.zstack.header.storage.primary.APIScanVmInstanceMetadataFromPrimaryStorageReply.vmInstanceMetadata"
1312
desc "云主机元数据摘要列表"
1413
type "List"
1514
since "5.0.0"
@@ -23,7 +22,7 @@ doc {
2322
}
2423
ref {
2524
name "error"
26-
path "org.zstack.header.storage.primary.APIScanVmInstanceMetadataFromPrimaryStorageEvent.error"
25+
path "org.zstack.header.storage.primary.APIScanVmInstanceMetadataFromPrimaryStorageReply.error"
2726
desc "错误码,若不为null,则表示操作失败, 操作成功时该字段为null"
2827
type "ErrorCode"
2928
since "5.0.0"

sdk/src/main/java/org/zstack/sdk/ScanVmInstanceMetadataFromPrimaryStorageAction.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,6 @@ public Result throwExceptionIfError() {
4646
@Param(required = false)
4747
public String requestIp;
4848

49-
@NonAPIParam
50-
public long timeout = -1;
51-
52-
@NonAPIParam
53-
public long pollingInterval = -1;
54-
5549

5650
private Result makeResult(ApiResult res) {
5751
Result ret = new Result();
@@ -93,7 +87,7 @@ protected RestInfo getRestInfo() {
9387
info.httpMethod = "GET";
9488
info.path = "/primary-storage/vm-instances/metadata/scan";
9589
info.needSession = true;
96-
info.needPoll = true;
90+
info.needPoll = false;
9791
info.parameterName = "";
9892
return info;
9993
}

storage/src/main/java/org/zstack/storage/primary/PrimaryStorageBase.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1877,25 +1877,25 @@ private static String getDeduplicateError(String operationName) {
18771877
}
18781878

18791879
private void handle(APIScanVmInstanceMetadataFromPrimaryStorageMsg msg) {
1880-
APIScanVmInstanceMetadataFromPrimaryStorageEvent evt = new APIScanVmInstanceMetadataFromPrimaryStorageEvent(msg.getId());
1880+
APIScanVmInstanceMetadataFromPrimaryStorageReply reply = new APIScanVmInstanceMetadataFromPrimaryStorageReply();
18811881

18821882
if (self.getStatus() != PrimaryStorageStatus.Connected) {
1883-
evt.setError(Platform.operr("primary storage[uuid:%s] is not Connected (status=%s), cannot scan metadata",
1883+
reply.setError(Platform.operr("primary storage[uuid:%s] is not Connected (status=%s), cannot scan metadata",
18841884
self.getUuid(), self.getStatus()));
1885-
bus.publish(evt);
1885+
bus.reply(msg, reply);
18861886
return;
18871887
}
18881888

18891889
String psType = Q.New(PrimaryStorageVO.class).select(PrimaryStorageVO_.type).eq(PrimaryStorageVO_.uuid, msg.getPrimaryStorageUuid()).findValue();
18901890
if (psType == null) {
1891-
evt.setError(Platform.operr("primary storage[uuid:%s] not found", msg.getPrimaryStorageUuid()));
1892-
bus.publish(evt);
1891+
reply.setError(Platform.operr("primary storage[uuid:%s] not found", msg.getPrimaryStorageUuid()));
1892+
bus.reply(msg, reply);
18931893
return;
18941894
}
18951895
VmMetadataPathBuildExtensionPoint ext = pluginRgty.getExtensionFromMap(psType, VmMetadataPathBuildExtensionPoint.class);
18961896
if (ext == null) {
1897-
evt.setError(Platform.operr("primary storage type %s does not support metadata", psType));
1898-
bus.publish(evt);
1897+
reply.setError(Platform.operr("primary storage type %s does not support metadata", psType));
1898+
bus.reply(msg, reply);
18991899
return;
19001900
}
19011901
String metadataDir = ext.buildMetadataDir(msg.getPrimaryStorageUuid());
@@ -1908,8 +1908,8 @@ private void handle(APIScanVmInstanceMetadataFromPrimaryStorageMsg msg) {
19081908
@Override
19091909
public void run(MessageReply r) {
19101910
if (!r.isSuccess()) {
1911-
evt.setError(r.getError());
1912-
bus.publish(evt);
1911+
reply.setError(r.getError());
1912+
bus.reply(msg, reply);
19131913
return;
19141914
}
19151915
ScanVmInstanceMetadataFromPrimaryStorageReply re = r.castReply();
@@ -1922,8 +1922,8 @@ public void run(MessageReply r) {
19221922
.filter(e -> e.getVmCategory() != null)
19231923
.filter(e -> !VmMetadataCategory.VM_TEMPLATE_CACHE.name().equals(e.getVmCategory()))
19241924
.collect(Collectors.toList());
1925-
evt.setVmInstanceMetadata(filtered);
1926-
bus.publish(evt);
1925+
reply.setVmInstanceMetadata(filtered);
1926+
bus.reply(msg, reply);
19271927
}
19281928
});
19291929
}

0 commit comments

Comments
 (0)