Petals Web-Console

Cannot add distant server on webconsole

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Blocker Blocker
  • Resolution: Fixed
  • Affects Version/s: 2.0.4
  • Fix Version/s: 2.0.6
  • Component/s: None
  • Security Level: Public
  • Description:
    Hide

    Bug submitted by F.Hamard.

    When I add a distant server on WEBC, the following error occurs:

    Petals service error
    
    Message :
        Server: <address IP> not found in the current topology
    Cause :
        An internal error occured. Your request didn't complete. 
    
    org.ow2.opensuit.core.error.NonLocalizedError: [Petals service error] Server: 10.186.14.90 not found in the current topology
    
        org.ow2.petals.tools.webconsole.uibeans.ManagementUIBean.updateDomain(ManagementUIBean.java:483)
        org.ow2.petals.tools.webconsole.uibeans.ServerFeatureUIBean.performServerForm(ServerFeatureUIBean.java:149)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        java.lang.reflect.Method.invoke(Method.java:597)
        org.ow2.opensuit.cel.impl.tree.impl.ast.AstInvocation.invoke(AstInvocation.java:146)
        org.ow2.opensuit.cel.impl.tree.impl.ast.AstMethod.invoke(AstMethod.java:136)
        org.ow2.opensuit.cel.impl.tree.impl.ast.AstEval.invoke(AstEval.java:59)
        org.ow2.opensuit.core.expression.ExpressionUtils.invokeExpression(ExpressionUtils.java:119)
        org.ow2.opensuit.xml.base.binding.Expression.invoke(Expression.java:147)
        org.ow2.opensuit.xml.base.action.DoAndForward.invoke(DoAndForward.java:141)
        org.ow2.opensuit.xml.base.html.form.EditForm.submit(EditForm.java:152)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        java.lang.reflect.Method.invoke(Method.java:597)
        org.ow2.opensuit.xml.base.Application.service(Application.java:514)
        org.ow2.opensuit.core.impl.j2ee.OpenSuitServlet.service(OpenSuitServlet.java:155)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        java.lang.Thread.run(Thread.java:619)
    
    org.ow2.petals.tools.webconsole.services.PetalsServiceException: Server: 10.186.14.90 not found in the current topology
    
        org.ow2.petals.tools.webconsole.util.TopologyHelper.getDomain(TopologyHelper.java:127)
        org.ow2.petals.tools.webconsole.uibeans.ManagementUIBean.updateDomain(ManagementUIBean.java:465)
        org.ow2.petals.tools.webconsole.uibeans.ServerFeatureUIBean.performServerForm(ServerFeatureUIBean.java:149)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        java.lang.reflect.Method.invoke(Method.java:597)
        org.ow2.opensuit.cel.impl.tree.impl.ast.AstInvocation.invoke(AstInvocation.java:146)
        org.ow2.opensuit.cel.impl.tree.impl.ast.AstMethod.invoke(AstMethod.java:136)
        org.ow2.opensuit.cel.impl.tree.impl.ast.AstEval.invoke(AstEval.java:59)
        org.ow2.opensuit.core.expression.ExpressionUtils.invokeExpression(ExpressionUtils.java:119)
        org.ow2.opensuit.xml.base.binding.Expression.invoke(Expression.java:147)
        org.ow2.opensuit.xml.base.action.DoAndForward.invoke(DoAndForward.java:141)
        org.ow2.opensuit.xml.base.html.form.EditForm.submit(EditForm.java:152)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        java.lang.reflect.Method.invoke(Method.java:597)
        org.ow2.opensuit.xml.base.Application.service(Application.java:514)
        org.ow2.opensuit.core.impl.j2ee.OpenSuitServlet.service(OpenSuitServlet.java:155)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        java.lang.Thread.run(Thread.java:619)
    Show
    Bug submitted by F.Hamard. When I add a distant server on WEBC, the following error occurs:
    Petals service error
    
    Message :
        Server: <address IP> not found in the current topology
    Cause :
        An internal error occured. Your request didn't complete. 
    
    org.ow2.opensuit.core.error.NonLocalizedError: [Petals service error] Server: 10.186.14.90 not found in the current topology
    
        org.ow2.petals.tools.webconsole.uibeans.ManagementUIBean.updateDomain(ManagementUIBean.java:483)
        org.ow2.petals.tools.webconsole.uibeans.ServerFeatureUIBean.performServerForm(ServerFeatureUIBean.java:149)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        java.lang.reflect.Method.invoke(Method.java:597)
        org.ow2.opensuit.cel.impl.tree.impl.ast.AstInvocation.invoke(AstInvocation.java:146)
        org.ow2.opensuit.cel.impl.tree.impl.ast.AstMethod.invoke(AstMethod.java:136)
        org.ow2.opensuit.cel.impl.tree.impl.ast.AstEval.invoke(AstEval.java:59)
        org.ow2.opensuit.core.expression.ExpressionUtils.invokeExpression(ExpressionUtils.java:119)
        org.ow2.opensuit.xml.base.binding.Expression.invoke(Expression.java:147)
        org.ow2.opensuit.xml.base.action.DoAndForward.invoke(DoAndForward.java:141)
        org.ow2.opensuit.xml.base.html.form.EditForm.submit(EditForm.java:152)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        java.lang.reflect.Method.invoke(Method.java:597)
        org.ow2.opensuit.xml.base.Application.service(Application.java:514)
        org.ow2.opensuit.core.impl.j2ee.OpenSuitServlet.service(OpenSuitServlet.java:155)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        java.lang.Thread.run(Thread.java:619)
    
    org.ow2.petals.tools.webconsole.services.PetalsServiceException: Server: 10.186.14.90 not found in the current topology
    
        org.ow2.petals.tools.webconsole.util.TopologyHelper.getDomain(TopologyHelper.java:127)
        org.ow2.petals.tools.webconsole.uibeans.ManagementUIBean.updateDomain(ManagementUIBean.java:465)
        org.ow2.petals.tools.webconsole.uibeans.ServerFeatureUIBean.performServerForm(ServerFeatureUIBean.java:149)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        java.lang.reflect.Method.invoke(Method.java:597)
        org.ow2.opensuit.cel.impl.tree.impl.ast.AstInvocation.invoke(AstInvocation.java:146)
        org.ow2.opensuit.cel.impl.tree.impl.ast.AstMethod.invoke(AstMethod.java:136)
        org.ow2.opensuit.cel.impl.tree.impl.ast.AstEval.invoke(AstEval.java:59)
        org.ow2.opensuit.core.expression.ExpressionUtils.invokeExpression(ExpressionUtils.java:119)
        org.ow2.opensuit.xml.base.binding.Expression.invoke(Expression.java:147)
        org.ow2.opensuit.xml.base.action.DoAndForward.invoke(DoAndForward.java:141)
        org.ow2.opensuit.xml.base.html.form.EditForm.submit(EditForm.java:152)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        java.lang.reflect.Method.invoke(Method.java:597)
        org.ow2.opensuit.xml.base.Application.service(Application.java:514)
        org.ow2.opensuit.core.impl.j2ee.OpenSuitServlet.service(OpenSuitServlet.java:155)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        java.lang.Thread.run(Thread.java:619)
  • Environment:
    On windows or Linux server and tomcat 6 for webconsole
    On linux VM on another computer for petals server.
    The telnet connection works on the petals port (7700).

Issue Links

Activity

Hide
Adrien Ruffie added a comment - Thu, 25 Nov 2010 - 15:40:32 +0100

I think with the new server management mechanism, this problem is resolved.

Show
Adrien Ruffie added a comment - Thu, 25 Nov 2010 - 15:40:32 +0100 I think with the new server management mechanism, this problem is resolved.
Hide
Frédéric Gardes added a comment - Tue, 9 Nov 2010 - 11:50:23 +0100 - edited

Hum I'm a clown: in ALL my comments, you must see "DNS" when I wrote "DHCP". I'm very very sorry

Show
Frédéric Gardes added a comment - Tue, 9 Nov 2010 - 11:50:23 +0100 - edited Hum I'm a clown: in ALL my comments, you must see "DNS" when I wrote "DHCP". I'm very very sorry
Hide
Frédéric Gardes added a comment - Tue, 9 Nov 2010 - 11:05:31 +0100

No, I can't...and, to be honest, I don't want. We're under RHEL 5 into production. like already said before, the esb servers use an dhcp into their VLAN, and the administration server is out of this VLAN, so out of the DHCP. It's normal, for a classic security pattern. BUT, the agent can, if it knows the master node IP or hostname, to connect to the esb system.
now if i manually map the hostname into the /etc/hosts:
->when (and not "if", it will arrive) an IP will change under the esb (after a during esb stop, server stop, or a global reallocation of IP by the dhcp,...), the local /etc/hosts must be manually change again: it's not possible
->we've got 4 nodes. It seems that if we connect the nodes, we must put all the IP/hostname pair, one after one, into the /etc/hosts to workaround this issue. For a "scalable" esb, it's not very "running compliant" .

Show
Frédéric Gardes added a comment - Tue, 9 Nov 2010 - 11:05:31 +0100 No, I can't...and, to be honest, I don't want. We're under RHEL 5 into production. like already said before, the esb servers use an dhcp into their VLAN, and the administration server is out of this VLAN, so out of the DHCP. It's normal, for a classic security pattern. BUT, the agent can, if it knows the master node IP or hostname, to connect to the esb system. now if i manually map the hostname into the /etc/hosts: ->when (and not "if", it will arrive) an IP will change under the esb (after a during esb stop, server stop, or a global reallocation of IP by the dhcp,...), the local /etc/hosts must be manually change again: it's not possible ->we've got 4 nodes. It seems that if we connect the nodes, we must put all the IP/hostname pair, one after one, into the /etc/hosts to workaround this issue. For a "scalable" esb, it's not very "running compliant" .
Hide
Christophe DENEUX added a comment - Tue, 9 Nov 2010 - 10:10:59 +0100

IMO, it's not really the webconsole that resolve hostnames but your operating system. So, can you configure your /etc/hosts or equivalent under Windows to map hostnames to @IPs ?

Show
Christophe DENEUX added a comment - Tue, 9 Nov 2010 - 10:10:59 +0100 IMO, it's not really the webconsole that resolve hostnames but your operating system. So, can you configure your /etc/hosts or equivalent under Windows to map hostnames to @IPs ?
Hide
Frédéric Gardes added a comment - Tue, 9 Nov 2010 - 09:55:20 +0100

The opposite issue exists too. If you configure the topology.xml with IP's, and then use hostnames locally under the web console server, it fails.
I think that it isn't an easy way problem. Unless reconsidering the "topology reading" aspect, it could be a standstill...

Show
Frédéric Gardes added a comment - Tue, 9 Nov 2010 - 09:55:20 +0100 The opposite issue exists too. If you configure the topology.xml with IP's, and then use hostnames locally under the web console server, it fails. I think that it isn't an easy way problem. Unless reconsidering the "topology reading" aspect, it could be a standstill...
Hide
Adrien Ruffie added a comment - Mon, 8 Nov 2010 - 23:40:41 +0100

I will investigate this issue and try to find a solution

Show
Adrien Ruffie added a comment - Mon, 8 Nov 2010 - 23:40:41 +0100 I will investigate this issue and try to find a solution
Hide
Frédéric Gardes added a comment - Mon, 8 Nov 2010 - 15:04:41 +0100

Unfortunately, I think it's not clear : the <tns:host> may content an host, okay. But if the webconsole can't resolve it, you will be blocked. And into the production environment, you often can't resolve it. it's a little bit confusing for the user :you put the IP of the esb, and don't use it to connect to the esb administration...

Show
Frédéric Gardes added a comment - Mon, 8 Nov 2010 - 15:04:41 +0100 Unfortunately, I think it's not clear : the <tns:host> may content an host, okay. But if the webconsole can't resolve it, you will be blocked. And into the production environment, you often can't resolve it. it's a little bit confusing for the user :you put the IP of the esb, and don't use it to connect to the esb administration...
Hide
Adrien Ruffie added a comment - Mon, 8 Nov 2010 - 13:34:15 +0100

Hum ... maybe, the process of in the webconsole is:
1) recover the full topology, returned by getTopology() (under a big informations map).
2) the webconsole try each connections returned, it can be a ip address or the hostname
because the topology return the <tns:host>192.168.1.220</tns:host>

Show
Adrien Ruffie added a comment - Mon, 8 Nov 2010 - 13:34:15 +0100 Hum ... maybe, the process of in the webconsole is: 1) recover the full topology, returned by getTopology() (under a big informations map). 2) the webconsole try each connections returned, it can be a ip address or the hostname because the topology return the <tns:host>192.168.1.220</tns:host>
Hide
Frédéric Gardes added a comment - Mon, 8 Nov 2010 - 12:53:30 +0100

I found. you've got a fundamental difference with the files provided by e-mail: you don't use hostnames.
In fact, it seems that the webconsole:
1-contact the esb to get its topology.xml
2-read it
3-try to connect to each node found into
Is it the reality?

So, we've got an architectural issue with the hostnames into the topology.xml. Classically into a production environment, the administration VLAN isn't connected to the production dhcp (it's a basic security pattern!). So the webconsole can't resolve the hostname provided by the topology.xml.
If we replace the hostnames by the IP's, it's ok. But we often can't do it...

Show
Frédéric Gardes added a comment - Mon, 8 Nov 2010 - 12:53:30 +0100 I found. you've got a fundamental difference with the files provided by e-mail: you don't use hostnames. In fact, it seems that the webconsole: 1-contact the esb to get its topology.xml 2-read it 3-try to connect to each node found into Is it the reality? So, we've got an architectural issue with the hostnames into the topology.xml. Classically into a production environment, the administration VLAN isn't connected to the production dhcp (it's a basic security pattern!). So the webconsole can't resolve the hostname provided by the topology.xml. If we replace the hostnames by the IP's, it's ok. But we often can't do it...
Hide
Adrien Ruffie added a comment - Mon, 8 Nov 2010 - 11:54:01 +0100

Well, I tested with a Petals 3.1.1 started on RHEL5 and with a Webconsole 2.0.4 on my ubuntu. When I start the Webconsole first, the connection failed because the default defined server is "localhost", its makes sense. So I decide to add a new server by click on "Manage connections" and "Add server", I added my remote RHEL5 (with form parameters "192.168.1.220, 7700, petals, petals) and the Webconsole successfully to the remote host ... moreover I correctly installed one component.

It's very strange ... can you describe all step you have performed in order to repeat this bug, please ?

Show
Adrien Ruffie added a comment - Mon, 8 Nov 2010 - 11:54:01 +0100 Well, I tested with a Petals 3.1.1 started on RHEL5 and with a Webconsole 2.0.4 on my ubuntu. When I start the Webconsole first, the connection failed because the default defined server is "localhost", its makes sense. So I decide to add a new server by click on "Manage connections" and "Add server", I added my remote RHEL5 (with form parameters "192.168.1.220, 7700, petals, petals) and the Webconsole successfully to the remote host ... moreover I correctly installed one component. It's very strange ... can you describe all step you have performed in order to repeat this bug, please ?
Hide
Frédéric Gardes added a comment - Thu, 4 Nov 2010 - 12:25:49 +0100

Hum, I've got the same error when I deploy the esb and the webconsole under my private (freebox) lan, at home. So we can't accuse the Orange network . It can be the RHEL 5 system wich ban/block the jmx protocol, or something like that... It's a little bit curious because we can do a telnet on ok...
Is there somebody under 2 differents Ubuntu at Petals link to test a quick distant access?

Show
Frédéric Gardes added a comment - Thu, 4 Nov 2010 - 12:25:49 +0100 Hum, I've got the same error when I deploy the esb and the webconsole under my private (freebox) lan, at home. So we can't accuse the Orange network . It can be the RHEL 5 system wich ban/block the jmx protocol, or something like that... It's a little bit curious because we can do a telnet on ok... Is there somebody under 2 differents Ubuntu at Petals link to test a quick distant access?
Hide
Frédéric Gardes added a comment - Wed, 3 Nov 2010 - 16:32:58 +0100

The esb 3.1.1 is started, with the IP of the server (eth0) into the topology.xml

Show
Frédéric Gardes added a comment - Wed, 3 Nov 2010 - 16:32:58 +0100 The esb 3.1.1 is started, with the IP of the server (eth0) into the topology.xml

People

Dates

  • Created:
    Wed, 3 Nov 2010 - 16:28:56 +0100
    Updated:
    Mon, 5 Oct 2015 - 15:39:28 +0200
    Resolved:
    Thu, 25 Nov 2010 - 15:40:32 +0100