[
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 8:58 AM:
---------------------------------------------------------------
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. **
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)