[ 
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)

Reply via email to