diff --git a/agent/src/main/java/com/cloud/agent/AgentShell.java b/agent/src/main/java/com/cloud/agent/AgentShell.java index b693ce1b2b3e..f5920a8e037b 100644 --- a/agent/src/main/java/com/cloud/agent/AgentShell.java +++ b/agent/src/main/java/com/cloud/agent/AgentShell.java @@ -27,7 +27,6 @@ import com.cloud.utils.backoff.BackoffAlgorithm; import com.cloud.utils.backoff.impl.ConstantTimeBackoff; import com.cloud.utils.exception.CloudRuntimeException; -import org.apache.cloudstack.utils.security.KeyStoreUtils; import org.apache.commons.daemon.Daemon; import org.apache.commons.daemon.DaemonContext; import org.apache.commons.daemon.DaemonInitException; @@ -375,7 +374,6 @@ public void init(String[] args) throws ConfigurationException { loadProperties(); parseCommand(args); - enableSSL(); if (s_logger.isDebugEnabled()) { List properties = Collections.list((Enumeration)_properties.propertyNames()); @@ -399,27 +397,6 @@ public void init(String[] args) throws ConfigurationException { _backoff.configure("ConstantTimeBackoff", new HashMap()); } - private void enableSSL() { - final File agentFile = PropertiesUtil.findConfigFile("agent.properties"); - if (agentFile == null) { - s_logger.info("Failed to find agent.properties file"); - return; - } - String keystorePass = getProperty(null, "keystore.passphrase"); - if (StringUtils.isBlank(keystorePass)) { - s_logger.info("Failed to find passphrase for keystore: " + KeyStoreUtils.KS_FILENAME); - return; - } - final String keyStoreFile = agentFile.getParent() + "/" + KeyStoreUtils.KS_FILENAME; - File f = new File(keyStoreFile); - if (f.exists() && !f.isDirectory()) { - System.setProperty("javax.net.ssl.trustStore", keyStoreFile); - System.setProperty("javax.net.ssl.trustStorePassword", keystorePass); - } else { - s_logger.info("Failed to find keystore file: " + keyStoreFile); - } - } - private void launchAgent() throws ConfigurationException { String resourceClassNames = getProperty(null, "resource"); s_logger.trace("resource=" + resourceClassNames); diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java index c513be6be229..c743a7858279 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java @@ -1020,6 +1020,7 @@ public boolean configure(final String name, final Map params) th } } + enableSSLForKvmAgent(params); configureLocalStorage(params); /* Directory to use for Qemu sockets like for the Qemu Guest Agent */ @@ -1282,6 +1283,23 @@ public boolean configure(final String name, final Map params) th return true; } + private void enableSSLForKvmAgent(final Map params) { + final File keyStoreFile = PropertiesUtil.findConfigFile(KeyStoreUtils.KS_FILENAME); + if (keyStoreFile == null) { + s_logger.info("Failed to find keystore file: " + KeyStoreUtils.KS_FILENAME); + return; + } + String keystorePass = (String)params.get(KeyStoreUtils.KS_PASSPHRASE_PROPERTY); + if (StringUtils.isBlank(keystorePass)) { + s_logger.info("Failed to find passphrase for keystore: " + KeyStoreUtils.KS_FILENAME); + return; + } + if (keyStoreFile.exists() && !keyStoreFile.isDirectory()) { + System.setProperty("javax.net.ssl.trustStore", keyStoreFile.getAbsolutePath()); + System.setProperty("javax.net.ssl.trustStorePassword", keystorePass); + } + } + protected void configureLocalStorage(final Map params) throws ConfigurationException { String localStoragePath = (String)params.get(LOCAL_STORAGE_PATH); if (localStoragePath == null) {