You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Ondrej Mrekaj (Jira)" <ji...@apache.org> on 2022/11/24 12:01:00 UTC

[jira] [Updated] (KARAF-7610) JMX: rmiRegistryHost=0.0.0.0 not working

     [ https://issues.apache.org/jira/browse/KARAF-7610?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ondrej Mrekaj updated KARAF-7610:
---------------------------------
    Description: 
We noticed a problem with access to JMX in the case that karaf is running in a docker container and uses a different network than the host. Last versions of  apache karaf  where were working example below  are 4.3.0, 4.2.11.

The given problem does not allow us to use JMX monitoring and simultaneously separate individual docker networks from the host network. 

Please see example below: 

*working* version, docker network=host
{code:java}
docker run -it -d --name=test.4.4.2 --network=host -e ORG_APACHE_KARAF_MANAGEMENT_RMIREGISTRYHOST='172.21.51.155' -e ORG_APACHE_KARAF_MANAGEMENT_RMISERVERHOST='172.21.51.155' -e KARAF_DEBUG=true -p 1099:1099 -p 44444:44444 apache/karaf:4.4.2{code}
{code:java}
docker exec -it test.4.4.2 /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.155'  >> /opt/apache-karaf/etc/system.properties
exit
docker restart test.4.4.2{code}
_Connect to service:jmx:rmi:///jndi/rmi://172.21.51.153:1099/karaf-root was {*}successful{*}._

*not-working* version, docker network=test
{code:java}
docker network create test
docker run -it -d --name=test.4.4.2 --network=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.4.2

{code}
{code:java}
docker exec -it test.4.4.2 /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.155'  >> /opt/apache-karaf/etc/system.properties
exit {code}
_Connect to service:jmx:rmi:///jndi/rmi://172.21.51.153:1099/karaf-root was {*}unsuccessful{*}._

  was:
We noticed a problem with access to JMX in the case that karaf is running in a docker container and uses a different network than the host. Last versions of  apache karaf  where were working example below  are 4.3.0, 4.2.11.

The given problem does not allow us to use JMX monitoring and simultaneously separate individual docker networks from the host network. 

Please see example below: 

*working* version, docker network=host
{code:java}
docker run -it -d --name=test.4.4.2 --network=host -e ORG_APACHE_KARAF_MANAGEMENT_RMIREGISTRYHOST='172.21.51.155' -e ORG_APACHE_KARAF_MANAGEMENT_RMISERVERHOST='172.21.51.155' -e KARAF_DEBUG=true -p 1099:1099 -p 44444:44444 apache/karaf:4.4.2{code}
{code:java}
docker exec -it test.4.4.2 /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.155'  >> /opt/apache-karaf/etc/system.properties
exit
docker restart test.4.4.2{code}
_Connect to service:jmx:rmi:///jndi/rmi://172.21.51.153:1099/karaf-root was {*}successful{*}._

*not-working* version, docker network=test

 

 
{code:java}
docker network create test
docker run -it -d --name=test.4.4.2 --network=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.4.2

{code}
 
{code:java}
docker exec -it test.4.4.2 /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.155'  >> /opt/apache-karaf/etc/system.properties
exit {code}
_Connect to service:jmx:rmi:///jndi/rmi://172.21.51.153:1099/karaf-root was {*}unsuccessful{*}._




 


> JMX: rmiRegistryHost=0.0.0.0 not working
> ----------------------------------------
>
>                 Key: KARAF-7610
>                 URL: https://issues.apache.org/jira/browse/KARAF-7610
>             Project: Karaf
>          Issue Type: Bug
>    Affects Versions: 4.2.16, 4.3.8, 4.4.2
>         Environment: Debian 11.3
> Docker version 20.10.17, build 100c701
>            Reporter: Ondrej Mrekaj
>            Priority: Major
>
> We noticed a problem with access to JMX in the case that karaf is running in a docker container and uses a different network than the host. Last versions of  apache karaf  where were working example below  are 4.3.0, 4.2.11.
> The given problem does not allow us to use JMX monitoring and simultaneously separate individual docker networks from the host network. 
> Please see example below: 
> *working* version, docker network=host
> {code:java}
> docker run -it -d --name=test.4.4.2 --network=host -e ORG_APACHE_KARAF_MANAGEMENT_RMIREGISTRYHOST='172.21.51.155' -e ORG_APACHE_KARAF_MANAGEMENT_RMISERVERHOST='172.21.51.155' -e KARAF_DEBUG=true -p 1099:1099 -p 44444:44444 apache/karaf:4.4.2{code}
> {code:java}
> docker exec -it test.4.4.2 /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.155'  >> /opt/apache-karaf/etc/system.properties
> exit
> docker restart test.4.4.2{code}
> _Connect to service:jmx:rmi:///jndi/rmi://172.21.51.153:1099/karaf-root was {*}successful{*}._
> *not-working* version, docker network=test
> {code:java}
> docker network create test
> docker run -it -d --name=test.4.4.2 --network=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.4.2
> {code}
> {code:java}
> docker exec -it test.4.4.2 /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.155'  >> /opt/apache-karaf/etc/system.properties
> exit {code}
> _Connect to service:jmx:rmi:///jndi/rmi://172.21.51.153:1099/karaf-root was {*}unsuccessful{*}._



--
This message was sent by Atlassian Jira
(v8.20.10#820010)