From 3e4bc31a9d167f7bdd9ddd80c3d5e325a9aa79a4 Mon Sep 17 00:00:00 2001 From: Yi-Ya Chen Date: Wed, 12 Feb 2025 15:12:08 +0800 Subject: [PATCH] fix: state not update when the TPM checkbox is toggled Signed-off-by: Yi-Ya Chen (cherry picked from commit 6d5139a994bf1dc4bfd227ead57dc36cd72be042) --- pkg/harvester/mixins/harvester-vm/index.js | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/pkg/harvester/mixins/harvester-vm/index.js b/pkg/harvester/mixins/harvester-vm/index.js index b293951a..a2cc457c 100644 --- a/pkg/harvester/mixins/harvester-vm/index.js +++ b/pkg/harvester/mixins/harvester-vm/index.js @@ -1422,22 +1422,14 @@ export default { } }, - setTPM(tpmEnabled) { + setTPM({ tpmEnabled = false, tpmPersistentStateEnabled = false } = {}) { if (tpmEnabled) { - set(this.spec.template.spec.domain.devices, 'tpm', {}); + set(this.spec.template.spec.domain.devices, 'tpm', tpmPersistentStateEnabled ? { persistent: true } : {}); } else { delete this.spec.template.spec.domain.devices['tpm']; } }, - setTPMPersistentStateEnabled(tpmPersistentStateEnabled) { - if (tpmPersistentStateEnabled) { - set(this.spec.template.spec.domain.devices, 'tpm', { persistent: true }); - } else { - set(this.spec.template.spec.domain.devices, 'tpm', {}); - } - }, - deleteSSHFromUserData(ssh = []) { const sshAuthorizedKeys = this.getSSHFromUserData(this.userScript); @@ -1568,11 +1560,11 @@ export default { }, tpmEnabled(val) { - this.setTPM(val); + this.setTPM({ tpmEnabled: val, tpmPersistentStateEnabled: this.tpmPersistentStateEnabled }); }, tpmPersistentStateEnabled(val) { - this.setTPMPersistentStateEnabled(val); + this.setTPM({ tpmEnabled: this.tpmEnabled, tpmPersistentStateEnabled: val }); }, installAgent: {