fabric:ensemble-add fails with "java.rmi.ConnectException: Connection refused to host: 127.0.1.1"

Solution Verified - Updated -

Issue

When running fabric:ensemble-add to add two remote SSH containers to the ensemble were are getting this error in the root container log file:

2016-12-20 10:38:22,741 | ERROR | l Console Thread | Console                          | 38 - org.apache.karaf.shell.console - 2.4.0.redhat-621169 | Exception caught while executing command
io.fabric8.api.EnsembleModificationFailed: io.fabric8.api.FabricException: java.rmi.ConnectException: Connection refused to host: 127.0.1.1; nested exception is:
        java.net.ConnectException: Operation timed out
        at io.fabric8.api.EnsembleModificationFailed.launderThrowable(EnsembleModificationFailed.java:47)
        at io.fabric8.internal.ZooKeeperClusterServiceImpl.createCluster(ZooKeeperClusterServiceImpl.java:424)
        at io.fabric8.internal.ZooKeeperClusterServiceImpl.addToCluster(ZooKeeperClusterServiceImpl.java:473)
        at io.fabric8.commands.EnsembleAddAction.doExecute(EnsembleAddAction.java:105)
        at org.apache.karaf.shell.console.AbstractAction.execute(AbstractAction.java:33)
        at org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_45]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_45]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_45]
        at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_45]
        at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)[19:org.apache.aries.proxy.impl:1.0.5]
        at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)[19:org.apache.aries.proxy.impl:1.0.5]
        at io.fabric8.commands.$EnsembleAdd193045307.execute(Unknown Source)[mvn:org.apache.aries.proxy/org.apache.aries.proxy.impl/1.0.5:]
        at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)[38:org.apache.karaf.shell.console:2.4.0.redhat-621169]
        at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477)[38:org.apache.karaf.shell.console:2.4.0.redhat-621169]
        at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403)[38:org.apache.karaf.shell.console:2.4.0.redhat-621169]
        at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[38:org.apache.karaf.shell.console:2.4.0.redhat-621169]
        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)[38:org.apache.karaf.shell.console:2.4.0.redhat-621169]
        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)[38:org.apache.karaf.shell.console:2.4.0.redhat-621169]
        at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:92)[38:org.apache.karaf.shell.console:2.4.0.redhat-621169]
        at org.apache.karaf.shell.console.jline.Console.run(Console.java:197)[38:org.apache.karaf.shell.console:2.4.0.redhat-621169]
        at org.apache.karaf.shell.console.jline.DelayedStarted.run(DelayedStarted.java:79)[38:org.apache.karaf.shell.console:2.4.0.redhat-621169]
Caused by: io.fabric8.api.FabricException: java.rmi.ConnectException: Connection refused to host: 127.0.1.1; nested exception is:
        java.net.ConnectException: Operation timed out
        at io.fabric8.api.FabricException.launderThrowable(FabricException.java:43)
        at io.fabric8.service.ContainerTemplate.createConnector(ContainerTemplate.java:163)
        at io.fabric8.service.ContainerTemplate$1.createConnector(ContainerTemplate.java:54)
        at io.fabric8.service.NonCachingJmxTemplate.execute(NonCachingJmxTemplate.java:32)
        at io.fabric8.service.ContainerTemplate.execute(ContainerTemplate.java:84)
        at io.fabric8.internal.ZooKeeperClusterServiceImpl.publicPort(ZooKeeperClusterServiceImpl.java:441)
        at io.fabric8.internal.ZooKeeperClusterServiceImpl.createCluster(ZooKeeperClusterServiceImpl.java:286)
        ... 20 more
Caused by: java.rmi.ConnectException: Connection refused to host: 127.0.1.1; nested exception is:
        java.net.ConnectException: Operation timed out
        at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)[:1.7.0_45]
        at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)[:1.7.0_45]
        at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)[:1.7.0_45]
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)[:1.7.0_45]
        at javax.management.remote.rmi.RMIServerImpl_Stub.newClient(Unknown Source)[:1.7.0_45]
        at javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2392)[:1.7.0_45]
        at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:308)[:1.7.0_45]
        at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:268)[:1.7.0_45]
        at io.fabric8.service.ContainerTemplate.createConnector(ContainerTemplate.java:159)
        ... 25 more
Caused by: java.net.ConnectException: Operation timed out
        at java.net.PlainSocketImpl.socketConnect(Native Method)[:1.7.0_45]
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)[:1.7.0_45]
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)[:1.7.0_45]
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)[:1.7.0_45]
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)[:1.7.0_45]
        at java.net.Socket.connect(Socket.java:579)[:1.7.0_45]
        at java.net.Socket.connect(Socket.java:528)[:1.7.0_45]
        at java.net.Socket.<init>(Socket.java:425)[:1.7.0_45]
        at java.net.Socket.<init>(Socket.java:208)[:1.7.0_45]
        at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)[:1.7.0_45]
        at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:147)[:1.7.0_45]
        at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)[:1.7.0_45]
        ... 33 more

We do not us IP address 127.0.1.1 and all remote SSH containers listen on the public IP address of the server they are running on.

Environment

  • JBoss Fuse 7.2.1
  • JBoss Fuse 6.3
  • Fabric

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content