I'm trying to configure a UDS 5.2.31 behind a firewall using FORTE_LOCATIONS environment variable but without any luck.
I'm starting up the environment using batch files where I define the necessary environment variables, but the instead of using the defined ports the application is putting those ports on listen and continues to ask the operating system for available ports to use.
Does anyone have some documentation on this subject or Does anyone know how to use the FORTE_LOCATIONS.
Thanks in advance,
You can find all the documentation here: http://docs.sun.com/app/docs/coll/S1_UnifiedDevelopmentServer_52
Just to understand your question. You are using FORTE_LOCATIONS in your batch script to set the location of your central node but after the central node is online then it start to ask for more ports. From what I understand and this is going back many years is that you will have to start each partition in your application with a different FORTE_LOCATIONS variable. So start your central node with one port and then start your applications with a different port. Each partition is going to need a port. Hope this helps and that I understood your problem correctly.
Yes, i think you understand my question correctly, this are the experiences i already made:
1) define the FORTE_LOCATIONS in the Batch I use to Start the environment (nodemgr) and the environment puts FORTE_NS_ADDRESS port on listen, it also puts the ports I define in FORTE_LOCATIONS on listen. When I try to startup a partition/application/SO i get a low resources error.
2) Did not define the FORTE_LOCATIONS in the batch I use to Start the environment (nodemgr), and for each partition/Application/SO I try to startup with different port(s) defined in FORTE_LOCATIONS. I don't get errors and the partition will startup, but with a completely different port(s).
I'm starting the partition with escript, something like this
SetEnv FORTE_LOCATIONS "machine:port1"
Thanks in advance,
If you want to be able to use the eConsole to start your server partition you will have to use the secret -fnlc flag.
FORTE_NS_ADDRESS is set to 6000
you need to start the environment manager & node manager using
nodemgr -e <your env name> -fnlc 127.0.0.1:6001
then using eConsole load only your sever application definition (do not fully install yet)
Lock the environment
right click on Application_CL0_Part1_NameOfTheMachine and select "Properties"
you should see "Server Arguments:"
add "-fnlc 127.0.0.1:6002" without the quotes and validate, unlock the environment and save when asked
now finish installing the application.
Start ... and (if it starts) from the subagent "CommMgr" / Advertised locations / AdvLoc1 the partition should be listening on the port 6002.
Now I leave you with the joy of figuring out what to use in the fnlc value if you have more than 1 NIC on your server, if you have some NAT you may have to use FORTE_ADVERTISE_NAMES set to TRUE so Forté advertise only the name so the IP address is resolved thru your DNS.
Now you cannot start more than 1 replicate as it would try to bind to the same port (hence the low resource), you may try fiddling with SO_REUSEPORT & SO_REUSEADDR if supported on your platform.
Thanks for the explanation it works!
Although it's working, I have two question about this procedure:
1) Why do I have to start the environment manager & node manager using "nodemgr -e <your env name> -fnlc 127.0.0.1:6001" ?
2) Do we have any way of configuring also the outgoing ports? As far as I understand the previous explanation was only to incoming ports!
Thanks In Advance
If you don't specify the flag on the node manager it won't allow for server applications to bind to a specific port.
Regarding the outgoing calls, if you have server partitions running outside the firewall you will have to bind them to a specific port and do the necessary configuration on the firewall so applications behind the firewall can connect to the nodes on the outside.
But that heavily relies on the kind of IP addressing & firewall infrastructure you are using so there is no simple answer.