[ 
https://issues.apache.org/jira/browse/GEODE-8877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17288629#comment-17288629
 ] 

ASF GitHub Bot commented on GEODE-8877:
---------------------------------------

alb3rtobr commented on a change in pull request #5970:
URL: https://github.com/apache/geode/pull/5970#discussion_r580599995



##########
File path: 
geode-gfsh/src/main/java/org/apache/geode/management/internal/cli/commands/StartLocatorCommand.java
##########
@@ -120,25 +121,32 @@ public ResultModel startLocator(
           help = CliStrings.START_LOCATOR__HTTP_SERVICE_BIND_ADDRESS__HELP) 
final String httpServiceBindAddress,
       @CliOption(key = CliStrings.START_LOCATOR__REDIRECT_OUTPUT, 
unspecifiedDefaultValue = "false",
           specifiedDefaultValue = "true",
-          help = CliStrings.START_LOCATOR__REDIRECT_OUTPUT__HELP) final 
Boolean redirectOutput)
+          help = CliStrings.START_LOCATOR__REDIRECT_OUTPUT__HELP) final 
Boolean redirectOutput,
+      @CliOption(key = CliStrings.START_LOCATOR__MEMBERSHIP_BIND_ADDRESS,
+          help = CliStrings.START_LOCATOR__MEMBERSHIP_BIND_ADDRESS__HELP) 
final String membershipBindAddress)
       throws Exception {
     if (StringUtils.isBlank(memberName)) {
       // when the user doesn't give us a name, we make one up!
       memberName = StartMemberUtils.getNameGenerator().generate('-');
     }
 
-    workingDirectory = StartMemberUtils.resolveWorkingDir(
-        workingDirectory == null ? null : new File(workingDirectory), new 
File(memberName));
+    workingDirectory = resolveWorkingDirectory(workingDirectory, memberName);
 
     return doStartLocator(memberName, bindAddress, classpath, force, group, 
hostnameForClients,
         jmxManagerHostnameForClients, includeSystemClasspath, locators, 
logLevel, mcastBindAddress,
         mcastPort, port, workingDirectory, gemfirePropertiesFile, 
gemfireSecurityPropertiesFile,
         initialHeap, maxHeap, jvmArgsOpts, connect, enableSharedConfiguration,
         loadSharedConfigurationFromDirectory, clusterConfigDir, 
httpServicePort,
-        httpServiceBindAddress, redirectOutput);
+        httpServiceBindAddress, redirectOutput, membershipBindAddress);
 
   }
 
+  @VisibleForTesting
+  protected static String resolveWorkingDirectory(String workDirValue, String 
memberName) {

Review comment:
       > I've marked some changes involving logging, AssertJ, and minor clean 
code design issues.
    
   Thanks for the review @kirklund , I think I have fixed all the issues in the 
last commit, please take a look.
   
   




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Configurable membership bind address
> ------------------------------------
>
>                 Key: GEODE-8877
>                 URL: https://issues.apache.org/jira/browse/GEODE-8877
>             Project: Geode
>          Issue Type: Improvement
>            Reporter: Alberto Bustamante Reyes
>            Assignee: Alberto Bustamante Reyes
>            Priority: Major
>              Labels: pull-request-available
>
> Geode binds the locator and server traffic port by default to 0.0.0.0, but 
> the membership ports are bound to the local address.
> There is a use case that needs this binding to be configurable ([link to the 
> conversation in the dev list|http://markmail.org/thread/7dwtygtgfcitboy3]):
> We would like to use Istio with Geode. For that, a sidecar container (Envoy) 
> has to be added in each Geode pod. That sidecar container intercepts and 
> handles all incoming and outgoing traffic for that pod. One of the 
> requirements set by Istio towards applications trying to integrate with it is 
> that the application listening ports need to be bound to either localhost or 
> 0.0.0.0 address (which listens on all interfaces).
>  
> Geode binds the locator and server traffic port by default to 0.0.0.0, but 
> the membership ports are bound to the pod IP.
>  And with Envoy listening on the pod IP for incoming traffic and proxying 
> everything towards localhost, applications binding to pod IPs won't receive 
> any traffic.
>  We have tried using the "bind-address" parameter, but that doesn't work for 
> our case. Geode binds the listening ports to the configured address, but it 
> also shares that same address to other members in the system as the address 
> to be used to reach it. If we configure that address to localhost, it just 
> won't work.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to