From 3bd723ca069ac0fae1c88527e99ae3c0dd0f1d79 Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Fri, 29 Apr 2022 08:31:11 +0530 Subject: [PATCH] Change patch path during live patching of systemVMs (#6328) * Improve log when live patching fails * change patching path from /tmp to /var/cache/clou * add iptable rule for console proxy (novnc) * temporary template paths * revert pom xml to original paths --- .../wrapper/LibvirtPatchSystemVmCommandWrapper.java | 4 ++-- .../kvm/resource/wrapper/LibvirtStartCommandWrapper.java | 3 ++- .../cloud/hypervisor/vmware/resource/VmwareResource.java | 6 +++--- .../wrapper/xenbase/CitrixPatchSystemVmCommandWrapper.java | 2 +- .../wrapper/xenbase/CitrixStartCommandWrapper.java | 3 ++- scripts/vm/hypervisor/xenserver/vmops | 2 +- systemvm/debian/opt/cloud/bin/setup/bootstrap.sh | 2 +- systemvm/debian/opt/cloud/bin/setup/cloud-early-config | 6 +++--- systemvm/patch-sysvms.sh | 7 +++++-- 9 files changed, 20 insertions(+), 15 deletions(-) diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtPatchSystemVmCommandWrapper.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtPatchSystemVmCommandWrapper.java index 691d34fd709..104fd663292 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtPatchSystemVmCommandWrapper.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtPatchSystemVmCommandWrapper.java @@ -69,9 +69,9 @@ public class LibvirtPatchSystemVmCommandWrapper extends CommandWrapper patchResult = null; try { - FileUtil.scpPatchFiles(controlIp, "/tmp/", sshPort, pemFile, serverResource.systemVmPatchFiles, LibvirtComputingResource.BASEPATH); + FileUtil.scpPatchFiles(controlIp, VRScripts.CONFIG_CACHE_LOCATION, sshPort, pemFile, serverResource.systemVmPatchFiles, LibvirtComputingResource.BASEPATH); patchResult = SshHelper.sshExecute(controlIp, sshPort, "root", - pemFile, null, "/tmp/patch-sysvms.sh", 10000, 10000, 600000); + pemFile, null, "/var/cache/cloud/patch-sysvms.sh", 10000, 10000, 600000); } catch (Exception e) { return new PatchSystemVmAnswer(cmd, e.getMessage()); } diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtStartCommandWrapper.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtStartCommandWrapper.java index bdb86f061e9..7b69993f2e5 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtStartCommandWrapper.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtStartCommandWrapper.java @@ -22,6 +22,7 @@ package com.cloud.hypervisor.kvm.resource.wrapper; import java.io.File; import java.net.URISyntaxException; +import com.cloud.agent.resource.virtualnetwork.VRScripts; import com.cloud.utils.FileUtil; import org.apache.log4j.Logger; import org.libvirt.Connect; @@ -120,7 +121,7 @@ public final class LibvirtStartCommandWrapper extends CommandWrapper patchResult = null; try { patchResult = SshHelper.sshExecute(controlIp, DefaultDomRSshPort, "root", - pemFile, null, "/tmp/patch-sysvms.sh", 10000, 10000, 600000); + pemFile, null, "/var/cache/cloud/patch-sysvms.sh", 10000, 10000, 600000); } catch (Exception e) { return new PatchSystemVmAnswer(cmd, e.getMessage()); } @@ -2578,7 +2578,7 @@ public class VmwareResource extends ServerResourceBase implements StoragePoolRes try { String homeDir = System.getProperty("user.home"); File pemFile = new File(homeDir + "/.ssh/id_rsa"); - FileUtil.scpPatchFiles(controlIp, "/tmp/", DefaultDomRSshPort, pemFile, systemVmPatchFiles, BASEPATH); + FileUtil.scpPatchFiles(controlIp, VRScripts.CONFIG_CACHE_LOCATION, DefaultDomRSshPort, pemFile, systemVmPatchFiles, BASEPATH); if (!_vrResource.isSystemVMSetup(vmInternalCSName, controlIp)) { String errMsg = "Failed to patch systemVM"; s_logger.error(errMsg); diff --git a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixPatchSystemVmCommandWrapper.java b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixPatchSystemVmCommandWrapper.java index 718daec7292..0f37bea15cb 100644 --- a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixPatchSystemVmCommandWrapper.java +++ b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixPatchSystemVmCommandWrapper.java @@ -68,7 +68,7 @@ public class CitrixPatchSystemVmCommandWrapper extends CommandWrapper