[ https://issues.apache.org/jira/browse/KARAF-7443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17581244#comment-17581244 ]
Ondrej Mrekaj edited comment on KARAF-7443 at 8/18/22 9:00 AM: --------------------------------------------------------------- I would like to request a reconsideration of the priority. We use Karaf encapsuled in Docker container. ([https://hub.docker.com/r/apache/karaf)] JMX connection to server not working any more. Please see examples below: *Test of apache/karaf:4.2.8* {code:java} # Run docker image docker run -it -d --name=test.4.2.8 --network=karaf-test -e ORG_APACHE_KARAF_MANAGEMENT_RMIREGISTRYHOST='0.0.0.0' -e ORG_APACHE_KARAF_MANAGEMENT_RMISERVERHOST='0.0.0.0' -e KARAF_DEBUG=true -p 1099:1099 -p 44444:44444 apache/karaf:4.2.8 {code} {code:java} # Update configuration docker exec -it test.4.2.8 /bin/bash sed -i 's/rmiServerHost = 127.0.0.1/rmiServerHost = ${env:ORG_APACHE_KARAF_MANAGEMENT_RMISERVERHOST}/' /opt/apache-karaf/etc/org.apache.karaf.management.cfg sed -i 's/rmiRegistryHost = 127.0.0.1/rmiRegistryHost = ${env:ORG_APACHE_KARAF_MANAGEMENT_RMIREGISTRYHOST}/' /opt/apache-karaf/etc/org.apache.karaf.management.cfg echo 'java.rmi.server.hostname=172.21.51.153' >> /opt/apache-karaf/etc/system.properties exit docker restart test.4.2.8 {code} {code:java} # detail of Pid: org.apache.karaf.management: Pid: org.apache.karaf.management BundleLocation: ? Properties: daemon = true felix.fileinstall.filename = file:/opt/apache-karaf-4.2.8/etc/org.apache.karaf.management.cfg jmxRealm = karaf jmxmpEnabled = false jmxmpHost = 127.0.0.1 jmxmpObjectName = connector:name=jmxmp jmxmpPort = 9999 jmxmpServiceUrl = service:jmx:jmxmp://127.0.0.1:9999 objectName = connector:name=rmi rmiRegistryHost = 0.0.0.0 rmiRegistryPort = 1099 rmiServerHost = 0.0.0.0 rmiServerPort = 44444 service.pid = org.apache.karaf.management serviceUrl = service:jmx:rmi://0.0.0.0:44444/jndi/rmi://0.0.0.0:1099/karaf-root threaded = true {code} Connection to service:jmx:rmi:///jndi/rmi://172.21.51.153:1099/karaf-root throught jconsole {color:#00875a}*working fine*{color} *Test of apache/karaf:4.2.12 - (same result with 4.2.16)* {code:java} # Run docker image docker run -it -d --name=test.4.2.12 --network=karaf-test -e ORG_APACHE_KARAF_MANAGEMENT_RMIREGISTRYHOST='0.0.0.0' -e ORG_APACHE_KARAF_MANAGEMENT_RMISERVERHOST='0.0.0.0' -e KARAF_DEBUG=true -p 1099:1099 -p 44444:44444 apache/karaf:4.2.12 {code} {code:java} # Update configuration docker exec -it test.4.2.12 /bin/bash echo 'java.rmi.server.hostname=172.21.51.153' >> /opt/apache-karaf/etc/system.properties exit docker restart test.4.2.12{code} {code:java} detail of org.apache.karaf.management: Pid: org.apache.karaf.management BundleLocation: ? Properties: daemon = true felix.fileinstall.filename = file:/opt/apache-karaf-4.2.12/etc/org.apache.karaf.management.cfg jmxRealm = karaf jmxmpEnabled = false jmxmpHost = 127.0.0.1 jmxmpObjectName = connector:name=jmxmp jmxmpPort = 9999 jmxmpServiceUrl = service:jmx:jmxmp://127.0.0.1:9999 objectName = connector:name=rmi rmiRegistryHost = 0.0.0.0 rmiRegistryPort = 1099 rmiServerHost = 0.0.0.0 rmiServerPort = 44444 service.pid = org.apache.karaf.management serviceUrl = service:jmx:rmi://0.0.0.0:44444/jndi/rmi://0.0.0.0:1099/karaf-root threaded = true {code} Connection to service:jmx:rmi:///jndi/rmi://172.21.51.153:1099/karaf-root throught jconsole {*}not working{*}. I hawe to use network=host and set rmiRegistryHost and rmiServerHost to host IP if i want to connect. *Test of apache/karaf:4.3.2 - 4.3.7* {code:java} docker run -it -d --name=test.4.3.7 --network=karaf-test -e ORG_APACHE_KARAF_MANAGEMENT_RMIREGISTRYHOST='0.0.0.0' -e ORG_APACHE_KARAF_MANAGEMENT_RMISERVERHOST='0.0.0.0' -e KARAF_DEBUG=true -p 1099:1099 -p 44444:44444 apache/karaf:4.3.7 {code} {code:java} # Update configuration docker exec -it test.4.3.7 /bin/bash sed -i 's/rmiServerHost = 127.0.0.1/rmiServerHost = ${env:ORG_APACHE_KARAF_MANAGEMENT_RMISERVERHOST}/' /opt/apache-karaf/etc/org.apache.karaf.management.cfg sed -i 's/rmiRegistryHost = 127.0.0.1/rmiRegistryHost = ${env:ORG_APACHE_KARAF_MANAGEMENT_RMIREGISTRYHOST}/' /opt/apache-karaf/etc/org.apache.karaf.management.cfg sed -i 's/#karaf = karaf,_g_:admingroup/karaf = karaf,_g_:admingroup/' /opt/apache-karaf/etc/users.properties sed -i 's/#_g_\\:admingroup = /_g_\\:admingroup = /' /opt/apache-karaf/etc/users.properties echo 'java.rmi.server.hostname=172.21.51.153' >> /opt/apache-karaf/etc/system.properties exit docker restart test.4.3.7 {code} {code:java} detail of Pid org.apache.karaf.management: Pid: org.apache.karaf.management BundleLocation: ? Properties: daemon = true felix.fileinstall.filename = file:/opt/apache-karaf-4.3.7/etc/org.apache.karaf.management.cfg jmxRealm = karaf jmxmpEnabled = false jmxmpHost = 127.0.0.1 jmxmpObjectName = connector:name=jmxmp jmxmpPort = 9999 jmxmpServiceUrl = service:jmx:jmxmp://127.0.0.1:9999 objectName = connector:name=rmi rmiRegistryHost = 0.0.0.0 rmiRegistryPort = 1099 rmiServerHost = 0.0.0.0 rmiServerPort = 44444 service.pid = org.apache.karaf.management serviceUrl = service:jmx:rmi://0.0.0.0:44444/jndi/rmi://0.0.0.0:1099/karaf-root threaded = true{code} Same result as mentioned above. Connection to service:jmx:rmi:///jndi/rmi://172.21.51.153:1099/karaf-root throught jconsole {*}not working{*}. I hawe to use network host and set rmiRegistryHost and rmiServerHost to host IP if i want to connect. Version of apache/karaf:4.3.0 work fine. ** was (Author: JIRAUSER294523): I would like to request a reconsideration of the priority. We use Karaf encapsuled in Docker container. JMX connection to server not working any more. Please see examples below: *Test of apache/karaf:4.2.8* {code:java} # Run docker image docker run -it -d --name=test.4.2.8 --network=karaf-test -e ORG_APACHE_KARAF_MANAGEMENT_RMIREGISTRYHOST='0.0.0.0' -e ORG_APACHE_KARAF_MANAGEMENT_RMISERVERHOST='0.0.0.0' -e KARAF_DEBUG=true -p 1099:1099 -p 44444:44444 apache/karaf:4.2.8 {code} {code:java} # Update configuration docker exec -it test.4.2.8 /bin/bash sed -i 's/rmiServerHost = 127.0.0.1/rmiServerHost = ${env:ORG_APACHE_KARAF_MANAGEMENT_RMISERVERHOST}/' /opt/apache-karaf/etc/org.apache.karaf.management.cfg sed -i 's/rmiRegistryHost = 127.0.0.1/rmiRegistryHost = ${env:ORG_APACHE_KARAF_MANAGEMENT_RMIREGISTRYHOST}/' /opt/apache-karaf/etc/org.apache.karaf.management.cfg echo 'java.rmi.server.hostname=172.21.51.153' >> /opt/apache-karaf/etc/system.properties exit docker restart test.4.2.8 {code} {code:java} # detail of Pid: org.apache.karaf.management: Pid: org.apache.karaf.management BundleLocation: ? Properties: daemon = true felix.fileinstall.filename = file:/opt/apache-karaf-4.2.8/etc/org.apache.karaf.management.cfg jmxRealm = karaf jmxmpEnabled = false jmxmpHost = 127.0.0.1 jmxmpObjectName = connector:name=jmxmp jmxmpPort = 9999 jmxmpServiceUrl = service:jmx:jmxmp://127.0.0.1:9999 objectName = connector:name=rmi rmiRegistryHost = 0.0.0.0 rmiRegistryPort = 1099 rmiServerHost = 0.0.0.0 rmiServerPort = 44444 service.pid = org.apache.karaf.management serviceUrl = service:jmx:rmi://0.0.0.0:44444/jndi/rmi://0.0.0.0:1099/karaf-root threaded = true {code} Connection to service:jmx:rmi:///jndi/rmi://172.21.51.153:1099/karaf-root throught jconsole {color:#00875a}*working fine*{color} *Test of apache/karaf:4.2.12 - (same result with 4.2.16)* {code:java} # Run docker image docker run -it -d --name=test.4.2.12 --network=karaf-test -e ORG_APACHE_KARAF_MANAGEMENT_RMIREGISTRYHOST='0.0.0.0' -e ORG_APACHE_KARAF_MANAGEMENT_RMISERVERHOST='0.0.0.0' -e KARAF_DEBUG=true -p 1099:1099 -p 44444:44444 apache/karaf:4.2.12 {code} {code:java} # Update configuration docker exec -it test.4.2.12 /bin/bash echo 'java.rmi.server.hostname=172.21.51.153' >> /opt/apache-karaf/etc/system.properties exit docker restart test.4.2.12{code} {code:java} detail of org.apache.karaf.management: Pid: org.apache.karaf.management BundleLocation: ? Properties: daemon = true felix.fileinstall.filename = file:/opt/apache-karaf-4.2.12/etc/org.apache.karaf.management.cfg jmxRealm = karaf jmxmpEnabled = false jmxmpHost = 127.0.0.1 jmxmpObjectName = connector:name=jmxmp jmxmpPort = 9999 jmxmpServiceUrl = service:jmx:jmxmp://127.0.0.1:9999 objectName = connector:name=rmi rmiRegistryHost = 0.0.0.0 rmiRegistryPort = 1099 rmiServerHost = 0.0.0.0 rmiServerPort = 44444 service.pid = org.apache.karaf.management serviceUrl = service:jmx:rmi://0.0.0.0:44444/jndi/rmi://0.0.0.0:1099/karaf-root threaded = true {code} Connection to service:jmx:rmi:///jndi/rmi://172.21.51.153:1099/karaf-root throught jconsole {*}not working{*}. I hawe to use network=host and set rmiRegistryHost and rmiServerHost to host IP if i want to connect. *Test of apache/karaf:4.3.2 - 4.3.7* {code:java} docker run -it -d --name=test.4.3.7 --network=karaf-test -e ORG_APACHE_KARAF_MANAGEMENT_RMIREGISTRYHOST='0.0.0.0' -e ORG_APACHE_KARAF_MANAGEMENT_RMISERVERHOST='0.0.0.0' -e KARAF_DEBUG=true -p 1099:1099 -p 44444:44444 apache/karaf:4.3.7 {code} {code:java} # Update configuration docker exec -it test.4.3.7 /bin/bash sed -i 's/rmiServerHost = 127.0.0.1/rmiServerHost = ${env:ORG_APACHE_KARAF_MANAGEMENT_RMISERVERHOST}/' /opt/apache-karaf/etc/org.apache.karaf.management.cfg sed -i 's/rmiRegistryHost = 127.0.0.1/rmiRegistryHost = ${env:ORG_APACHE_KARAF_MANAGEMENT_RMIREGISTRYHOST}/' /opt/apache-karaf/etc/org.apache.karaf.management.cfg sed -i 's/#karaf = karaf,_g_:admingroup/karaf = karaf,_g_:admingroup/' /opt/apache-karaf/etc/users.properties sed -i 's/#_g_\\:admingroup = /_g_\\:admingroup = /' /opt/apache-karaf/etc/users.properties echo 'java.rmi.server.hostname=172.21.51.153' >> /opt/apache-karaf/etc/system.properties exit docker restart test.4.3.7 {code} {code:java} detail of Pid org.apache.karaf.management: Pid: org.apache.karaf.management BundleLocation: ? Properties: daemon = true felix.fileinstall.filename = file:/opt/apache-karaf-4.3.7/etc/org.apache.karaf.management.cfg jmxRealm = karaf jmxmpEnabled = false jmxmpHost = 127.0.0.1 jmxmpObjectName = connector:name=jmxmp jmxmpPort = 9999 jmxmpServiceUrl = service:jmx:jmxmp://127.0.0.1:9999 objectName = connector:name=rmi rmiRegistryHost = 0.0.0.0 rmiRegistryPort = 1099 rmiServerHost = 0.0.0.0 rmiServerPort = 44444 service.pid = org.apache.karaf.management serviceUrl = service:jmx:rmi://0.0.0.0:44444/jndi/rmi://0.0.0.0:1099/karaf-root threaded = true{code} Same result as mentioned above. Connection to service:jmx:rmi:///jndi/rmi://172.21.51.153:1099/karaf-root throught jconsole {*}not working{*}. I hawe to use network host and set rmiRegistryHost and rmiServerHost to host IP if i want to connect. Version of apache/karaf:4.3.0 work fine. ** > JMX: rmiRegistryHost=0.0.0.0 Runtime IO exception: no such object in table > -------------------------------------------------------------------------- > > Key: KARAF-7443 > URL: https://issues.apache.org/jira/browse/KARAF-7443 > Project: Karaf > Issue Type: Bug > Components: karaf > Affects Versions: 4.2.15 > Reporter: João Andrade > Assignee: Jean-Baptiste Onofré > Priority: Minor > Labels: JMX, jmx > > Setting rmiServerHost/rmiRegistryHost to 0.0.0.0 no longer allows connections > from remote hosts: > {code:java} > $>open > service:jmx:rmi://10.11.12.13:44444/jndi/rmi://10.11.12.13:1099/karaf-root -u > karaf -p karaf > #RuntimeIOException: Runtime IO exception: no such object in table {code} > ...but allows from actual host: > {code:java} > $>open > service:jmx:rmi://10.11.12.13:44444/jndi/rmi://10.11.12.13:1099/karaf-root -u > karaf -p karaf > #Connection to > service:jmx:rmi://10.11.12.13:44444/jndi/rmi://10.11.12.13:1099/karaf-root is > opened > {code} > This behavior changed somewhere between 4.2.10 and 4.2.15 (im guessing > https://issues.apache.org/jira/browse/KARAF-6955) > Setting rmiServerHost/rmiRegistryHost to the interface IP (10.11.12.13) works > around the issue, but then ports 1099/44444 are bound to that interface. -- This message was sent by Atlassian Jira (v8.20.10#820010)