Bug 1332452
| Summary: | JMX interface is broken without ipv6 | ||
|---|---|---|---|
| Product: | [oVirt] ovirt-engine | Reporter: | Fabrice Bacchella <fabrice.bacchella> |
| Component: | BLL.Infra | Assignee: | Ondra Machacek <omachace> |
| Status: | CLOSED NOTABUG | QA Contact: | Pavel Stehlik <pstehlik> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 3.6.5.1 | CC: | bugs, fabrice.bacchella, omachace |
| Target Milestone: | --- | Flags: | rule-engine:
planning_ack?
rule-engine: devel_ack? rule-engine: testing_ack? |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-05-19 13:31:14 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | Infra | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
Can you please also share what OS and java vendor and version do you use? Btw. you can workaround if you change <any-address/> to <any-ipv4-address/>, but please be aware, that /usr/share/ovirt-engine/services/ovirt-engine/ovirt-engine.xml.in is rewritten during upgrades. It was an up todate Centos 7.2.1511, fully patched, jvm is java-1.7.0-openjdk-1.7.0.101-2.6.6.1.el7_2. I tried your workaround and it solve my problem. But it's difficult to use it in real life indeed. Other option, which is not overridden during update is following:
$ cat /etc/ovirt-engine/engine.conf.d/99-ipv4.conf
ENGINE_PROPERTIES="${ENGINE_PROPERTIES} java.net.preferIPv4Stack=true"
If such solution is ok for you, please close this bz.
Btw. since wildfly10(oVirt 4) workaround from comment#1 won't work for you, so in order to use ipv4 only use comment#3 workaround. More info available here[1] in section 'IPv4 versus IPv6': The system properties java.net.preferIPv4Stack and java.net.preferIPv6Addresses are used to configure the JVM for use with IPv4 or IPv6 addresses. With WildFly, in order to run using IPv4 addresses, you need to specify java.net.preferIPv4Stack=true; in order to run with IPv6 addresses, you need to specify java.net.preferIPv4Stack=false (the JVM default) and java.net.preferIPv6Addresses=true. The latter ensures that any hostname to IP address conversions always return IPv6 address variants. [1] https://docs.jboss.org/author/display/WFLY10/Interfaces+and+ports java.net.preferIPv4Stack=true works for me. |
When I set to ENGINE_JMX_INTERFACE=public to public on a server without IPv6 (the module ipv6.ko is blacklisted), ovirt-engine brake with this message : 2016-05-03 10:43:09,122 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.serverManagement.controller.management.http: org.jboss.msc.service.StartException in service jboss.serverManagement.controller.management.http: JBAS015811: Failed to start the http-interface service at org.jboss.as.server.mgmt.UndertowHttpManagementService.start(UndertowHttpManagementService.java:258) [wildfly-server-8.2.1.Final.jar:8.2.1.Final] at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_74] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_74] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_74] Caused by: java.lang.RuntimeException: java.net.SocketException: Protocol family unavailable at org.jboss.as.domain.http.server.ManagementHttpServer.start(ManagementHttpServer.java:156) at org.jboss.as.server.mgmt.UndertowHttpManagementService.start(UndertowHttpManagementService.java:224) [wildfly-server-8.2.1.Final.jar:8.2.1.Final] ... 5 more Caused by: java.net.SocketException: Protocol family unavailable at sun.nio.ch.Net.bind0(Native Method) [rt.jar:1.8.0_74] at sun.nio.ch.Net.bind(Net.java:433) [rt.jar:1.8.0_74] at sun.nio.ch.Net.bind(Net.java:425) [rt.jar:1.8.0_74] at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) [rt.jar:1.8.0_74] at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) [rt.jar:1.8.0_74] at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:67) [rt.jar:1.8.0_74] at org.xnio.nio.NioXnioWorker.createTcpConnectionServer(NioXnioWorker.java:182) And the port 8706 is no longer open. at org.xnio.XnioWorker.createStreamConnectionServer(XnioWorker.java:243) at org.jboss.as.domain.http.server.ManagementHttpServer.start(ManagementHttpServer.java:135) ... 6 more