[
https://issues.apache.org/jira/browse/CLOUDSTACK-8387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Marcus Sorensen closed CLOUDSTACK-8387.
---------------------------------------
Resolution: Fixed
Fix Version/s: 4.5.1
Future
> 4.5, master mgmt cluster nodes fail to connect
> ----------------------------------------------
>
> Key: CLOUDSTACK-8387
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8387
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Components: Management Server
> Affects Versions: Future, 4.5.0, 4.5.1
> Reporter: Marcus Sorensen
> Fix For: Future, 4.5.1
>
>
> A recent fix for coverity changed the SSL connection initialization between
> mgmt servers to return a null channel, by setting up a new channel and not
> returning it. This patch needs to be reverted or fixed.
> Note this method returns 'ch', but the patch sets up 'ch1' and does not
> return it.
> diff --git
> a/engine/orchestration/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java
> b/engine/orchestration/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java
> index 600dca2..e38489b 100755
> ---
> a/engine/orchestration/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java
> +++
> b/engine/orchestration/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java
> @@ -498,18 +498,17 @@ public class ClusteredAgentManagerImpl extends
> AgentManagerImpl implements Clust
> } catch (UnknownHostException e) {
> throw new CloudRuntimeException("Unable to resolve " +
> ip);
> }
> - try {
> - ch = SocketChannel.open(new
> InetSocketAddress(addr, Port.value()));
> - ch.configureBlocking(true); // make sure we are
> working at blocking mode
> - ch.socket().setKeepAlive(true);
> - ch.socket().setSoTimeout(60 * 1000);
> + try (SocketChannel ch1 = SocketChannel.open(new
> InetSocketAddress(addr, Port.value()));){
> + ch1.configureBlocking(true); // make sure we are
> working at blocking mode
> + ch1.socket().setKeepAlive(true);
> + ch1.socket().setSoTimeout(60 * 1000);
> try {
> SSLContext sslContext = Link.initSSLContext(true);
> sslEngine = sslContext.createSSLEngine(ip,
> Port.value());
> sslEngine.setUseClientMode(true);
> sslEngine.setEnabledProtocols(SSLUtils.getSupportedProtocols(sslEngine.getEnabledProtocols()));
> - Link.doHandshake(ch, sslEngine, true);
> + Link.doHandshake(ch1, sslEngine, true);
> s_logger.info("SSL: Handshake done");
> } catch (Exception e) {
> throw new IOException("SSL: Fail to init SSL! " + e);
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)