Skip to content

Commit 4a6318b

Browse files
author
gitlab
committed
Merge branch 'zsv-ldap-8@@2' into 'feature-zsv-5.0.0-vm-support-vtpm-and-secuceboot'
<feature>[kvm]: refactor VmHostFileTO to support different operations See merge request zstackio/zstack!9453
2 parents 2347caa + b012c35 commit 4a6318b

3 files changed

Lines changed: 27 additions & 8 deletions

File tree

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.zstack.header.vm.additions;
2+
3+
public enum VmHostFileOperation {
4+
Write,
5+
Prepare,
6+
Delete,
7+
}

plugin/kvm/src/main/java/org/zstack/kvm/KVMAgentCommands.java

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import org.zstack.header.host.VmNicRedirectConfig;
1212
import org.zstack.header.log.NoLogging;
1313
import org.zstack.header.vm.*;
14-
import org.zstack.header.vm.additions.VmHostFileContentFormat;
1514
import org.zstack.header.vm.devices.DeviceAddress;
1615
import org.zstack.header.vm.devices.VirtualDeviceInfo;
1716
import org.zstack.kvm.tpm.TpmTO;
@@ -2824,22 +2823,25 @@ public static class StartVmResponse extends VmDevicesInfoResponse {
28242823
}
28252824

28262825
public static class VmHostFileTO {
2827-
public static final String FORMAT_PREPARE_ONLY = "PrepareOnly";
2828-
28292826
private String path;
28302827
/**
28312828
* maybe "NvRam" or "TpmState" ...
28322829
* @see org.zstack.header.vm.additions.VmHostFileType
28332830
*/
28342831
private String type;
28352832
/**
2836-
* maybe "Simple" or "TarballGzip"
2837-
* if prepare only, use {@link #FORMAT_PREPARE_ONLY}
2838-
* @see VmHostFileContentFormat
2833+
* file format: Raw or TarballGzip
2834+
* @see org.zstack.header.vm.additions.VmHostFileContentFormat
28392835
*/
28402836
private String fileFormat;
28412837
/**
2842-
* null if fileFormat is {@link #FORMAT_PREPARE_ONLY}
2838+
* operation: Write, Prepare, or Delete
2839+
* only use in WriteVmHostFileContentCmd
2840+
* @see org.zstack.header.vm.additions.VmHostFileOperation
2841+
*/
2842+
private String operation;
2843+
/**
2844+
* null if operation is Prepare or Delete
28432845
*/
28442846
@NoLogging
28452847
private String contentBase64;
@@ -2869,6 +2871,14 @@ public void setFileFormat(String fileFormat) {
28692871
this.fileFormat = fileFormat;
28702872
}
28712873

2874+
public String getOperation() {
2875+
return operation;
2876+
}
2877+
2878+
public void setOperation(String operation) {
2879+
this.operation = operation;
2880+
}
2881+
28722882
public String getContentBase64() {
28732883
return contentBase64;
28742884
}

plugin/kvm/src/main/java/org/zstack/kvm/efi/KvmSecureBootExtensions.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import org.zstack.header.vm.additions.VmHostBackupFileVO_;
4343
import org.zstack.header.vm.additions.VmHostFileContentVO;
4444
import org.zstack.header.vm.additions.VmHostFileContentVO_;
45+
import org.zstack.header.vm.additions.VmHostFileOperation;
4546
import org.zstack.header.vm.additions.VmHostFileType;
4647
import org.zstack.header.vm.additions.VmHostFileVO;
4748
import org.zstack.header.vm.additions.VmHostFileVO_;
@@ -200,7 +201,7 @@ public void preVmMigration(VmInstanceInventory vm, VmMigrationType type, String
200201
VmHostFileTO to = new VmHostFileTO();
201202
to.setPath(buildNvramFilePath(vm.getUuid()));
202203
to.setType(VmHostFileType.NvRam.toString());
203-
to.setFileFormat(VmHostFileTO.FORMAT_PREPARE_ONLY);
204+
to.setOperation(VmHostFileOperation.Prepare.toString());
204205

205206
RewriteVmHostFilesContext context = new RewriteVmHostFilesContext();
206207
context.hostUuid = dstHostUuid;
@@ -470,6 +471,7 @@ public void run(FlowTrigger trigger, Map data) {
470471
to.setPath(context.path);
471472
to.setType(context.type.toString());
472473
to.setFileFormat(content.getFormat().toString());
474+
to.setOperation(VmHostFileOperation.Write.toString());
473475

474476
String contentBase64 = Base64.getEncoder().encodeToString(content.getContent());
475477
to.setContentBase64(contentBase64);

0 commit comments

Comments
 (0)