[ 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)