Hi all, Andrea, thanks for your reply. I have opened a jira issue https://issues.apache.org/jira/browse/BROOKLYN-263
Just a pair of question, do you think I should add a gsoc label to my tasks in order to maintain the gsoc flavor? What routing should I follow? I mean, I would like to work in this issue, so probably somebody should assigns the task to my jira profile (kiuby88), right? Let me try your first workaround (required.ports), I assume that I have to add the result in the jira task. About second advice, yes I am using the default port. Currently, this issue is not a problem for me. I find this issue while deploying some examples and I thought it could be starting point for the gsoc immersion in the community. Thanks a lot. Jose GSoC student El 05/05/2016, a las 08:18, Andrea Turli <andrea.tu...@cloudsoftcorp.com> escribió: > Jose, > > Thanks for that. Can you open a jira task to track this issue properly and > add the jira issue url in this thread later on? > > There are a couple of workaround to ypur problem: > > 1. Can you try a list of > > required.ports: > - 22 > - 8082 > > in the provisioning.properties of your entity? > > 2. Alternatively, can you just use the default 8081, maybe? > > Thanks, > Andrea > > Andrea > Il 05/mag/2016 03:49, "Jose Carrasco" <jo...@lcc.uma.es> ha scritto: > >> Hi all, >> >> I tried to deploy a BrooklynNode entity with an explicit web console port >> (8082) over a AWS VM machine. Using the following plan: >> >> name: BrooklynNode >> location: >> jclouds:aws-ec2: >> region: us-west-2 >> identity: **** >> credential: **** >> services: >> - type: org.apache.brooklyn.entity.brooklynnode.BrooklynNode >> id: brooklynNode >> name: brooklynNode >> brooklyn.config: >> onExistingProperties: do_not_use >> brooklynnode.webconsole.nosecurity: true >> brooklynnode.webconsole.httpPort: 8082 >> >> However I found an error because the entity did not look to be up ( >> SERVICE_UP retrieved false). Then, I tried to figure out a bit. The >> BrooklynNode instance was installed and executed correctly but the VM’s >> security group did not have any rule to enable the 8082 port. It looks that >> the problem is here [1], the following if code condition: >> >> (PortRange.class.isAssignableFrom(k.getType()) || >> portsPattern.matcher(k.getName()).matches()) >> >> returns false because when the BrooklynNode.HTTPS_PORT is evaluated the >> entity is not assignable from PortRange because the config key instance >> is retrieved by [2], which returns a ConfigKey<Object>, so the type is >> not assignable from PortRange.class. >> Moreover, the config key name is brooklynnode.webconsole.httpPort, which >> is not matchable by the portPattern “*.port”. >> Then, the port that is specified from BrooklynNode.HTTPS_PORT config key >> is not evaluated as a PortRange config key, and it is not returned by >> getRequiredOpenPorts() method. Then you can see that the VM does not >> contains the necessary flags [3] to open the specified http port, so as >> result the *Brooklyn node web console* is not accesible. >> I have seen that there is a test which check the BrooklynNode.HTTPS_PORT >> in BrooklynNodeIntegrationTest [4], but (I think) different ports are >> tested over the local machine where all ports are accessible. >> >> If you consider that this behavior should be solved, I have two different >> proposal. >> >> - First, adapting the BrooklynNode.HTTPS_PORT name to the >> portPattern, so “brooklynnode.webconsole.httpPort” should be replaced >> by “brooklynnode.webconsole.http.port”. I think it is the best option. >> (it should be necessary review the rest of config keys too). >> - Modify the InboundPortsUtils#getRequiredOpenPorts method in order to >> support config keys whose value is assignable from PortRange. In this >> case I have written a little commit [commit]. >> >> >> I would like to solve this issue. >> Thought? >> >> Please, note that if you configure the BrooklynNode.HTTPS_PORT pointing to >> 8081 (default value) the web console will be not accessible because the >> configuration follows the same process that 8082 scenario. >> If no port is defined, the 8081 will be accessible because config keys >> will be retrieved by the entityType [5] that provides the default entities’ >> ConfigKeys whose types will be assignable from PortRange.class. >> >> Jose >> GSoC student >> >> [1] >> https://github.com/apache/brooklyn-server/blob/9b0fe8a6d1766728753e0d3ae7bf7c87602a443a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/InboundPortsUtils.java#L85 >> >> [2] >> https://github.com/apache/brooklyn-server/blob/9b0fe8a6d1766728753e0d3ae7bf7c87602a443a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/InboundPortsUtils.java#L80 >> >> [3] >> https://github.com/apache/brooklyn-server/blob/9b0fe8a6d1766728753e0d3ae7bf7c87602a443a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/lifecycle/MachineLifecycleEffectorTasks.java#L374 >> >> [4] >> https://github.com/apache/brooklyn-server/blob/9b0fe8a6d1766728753e0d3ae7bf7c87602a443a/software/base/src/test/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeIntegrationTest.java >> >> [commit] >> https://github.com/kiuby88/brooklyn-server/commit/06086c346719abe9c9162dce773677d2abad5d05 >> >> [5] >> https://github.com/apache/brooklyn-server/blob/9b0fe8a6d1766728753e0d3ae7bf7c87602a443a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/InboundPortsUtils.java#L78 >> >>